ADD errors for meetings with errors
This commit is contained in:
parent
2c7c5640f4
commit
2698e2d192
|
@ -3061,6 +3061,12 @@ original function being advised and ARGS are the arguments."
|
|||
(org-x-headline-is-iterator-without-archive-target-p))
|
||||
,(nd/org-def-super-agenda-pred "Future Creation Timestamp"
|
||||
(org-x-headline-is-task-with-future-creation-timestamp-p))
|
||||
,(nd/org-def-super-agenda-pred "Unscheduled Meetings"
|
||||
(org-x-headline-is-unscheduled-meeting-p))
|
||||
,(nd/org-def-super-agenda-pred "Meeting without Effort"
|
||||
(org-x-headline-is-meeting-without-effort-p))
|
||||
,(nd/org-def-super-agenda-pred "Meeting without Agenda"
|
||||
(org-x-headline-is-meeting-without-agenda-p))
|
||||
(:discard (:anything t))))))))
|
||||
|
||||
("m"
|
||||
|
@ -3070,6 +3076,7 @@ original function being advised and ARGS are the arguments."
|
|||
- org-x-tag-refile
|
||||
+ org-x-tag-meeting)
|
||||
((org-agenda-overriding-header "Meetings")
|
||||
(org-agenda-sorting-strategy '(time-up scheduled-down))
|
||||
(org-super-agenda-groups
|
||||
',(nd/org-def-super-agenda-automap
|
||||
(-when-let (ts (org-x--headline-get-property-epoch-time "SCHEDULED"))
|
||||
|
|
|
@ -674,12 +674,55 @@ property."
|
|||
(org-x-headline-is-created-in-future)
|
||||
t)))
|
||||
|
||||
(defun org-x-headline-is-task-meeting ()
|
||||
(defun org-x-headline-is-meeting-p ()
|
||||
"Return t if current headline is a meeting."
|
||||
(-when-let (keyword (org-x-headline-is-task-p))
|
||||
(and (not (member keyword org-x-done-keywords))
|
||||
(org-x-headline-has-tag-p org-x-tag-meeting)
|
||||
(org-x-headline-is-scheduled-p)
|
||||
t)))
|
||||
|
||||
(defun org-x-headline-is-unscheduled-meeting-p ()
|
||||
"Return t if current headline is an unscheduled meeting."
|
||||
(-when-let (keyword (org-x-headline-is-task-p))
|
||||
(and (not (member keyword org-x-done-keywords))
|
||||
(org-x-headline-has-tag-p org-x-tag-meeting)
|
||||
(not (org-x-headline-is-scheduled-p))
|
||||
t)))
|
||||
|
||||
(defun org-x-headline-is-meeting-without-effort-p ()
|
||||
"Return t if current headline is a meeting with no effort property."
|
||||
(-when-let (keyword (org-x-headline-is-task-p))
|
||||
(and (not (member keyword org-x-done-keywords))
|
||||
(org-x-headline-has-tag-p org-x-tag-meeting)
|
||||
(not (org-entry-get nil "Effort" nil))
|
||||
t)))
|
||||
|
||||
(defun org-x-headline-get-meeting-agenda-items ()
|
||||
"Return the agenda items for the current headline.
|
||||
If none are present, return nil. If \"NA\" is present, return
|
||||
'none'. Agenda items are in the 'AGENDA_ITEMS' drawer and should
|
||||
actually be items (that is part of a plain-list node)"
|
||||
(-when-let (n (-some->> (org-ml-parse-this-headline)
|
||||
(org-ml-headline-get-section)
|
||||
(--find (and (org-ml-is-type 'drawer it)
|
||||
(equal (org-ml-get-property :drawer-name it)
|
||||
"AGENDA_ITEMS")))
|
||||
(org-ml-get-children)
|
||||
(car)))
|
||||
(let ((y (org-ml-get-type n)))
|
||||
(cond
|
||||
((eq y 'plain-list)
|
||||
(org-ml-get-children n))
|
||||
((and (eq y 'paragraph)
|
||||
(equal "NA" (s-trim (car (org-ml-get-children n)))))
|
||||
'none)))))
|
||||
|
||||
(defun org-x-headline-is-meeting-without-agenda-p ()
|
||||
"Return t if current headline is a meeting with no agenda."
|
||||
(-when-let (keyword (org-x-headline-is-task-p))
|
||||
(and (not (member keyword org-x-done-keywords))
|
||||
(org-x-headline-has-tag-p org-x-tag-meeting)
|
||||
(not (org-x-headline-get-meeting-agenda-items))
|
||||
t)))
|
||||
|
||||
;; (defun org-x-is-todo-child (keyword)
|
||||
|
|
Loading…
Reference in New Issue