Variable: org-enforce-todo-dependencies
org-enforce-todo-dependencies is a customizable variable defined in
org.el.gz.
Value
nil
Documentation
Non-nil means undone TODO entries will block switching the parent to DONE.
Also, if a parent has an :ORDERED: property, switching an entry to DONE will be blocked if any prior sibling is not yet done. Finally, if the parent is blocked because of ordered siblings of its own, the child will also be blocked.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defcustom org-enforce-todo-dependencies nil
"Non-nil means undone TODO entries will block switching the parent to DONE.
Also, if a parent has an :ORDERED: property, switching an entry to DONE will
be blocked if any prior sibling is not yet done.
Finally, if the parent is blocked because of ordered siblings of its own,
the child will also be blocked."
:set (lambda (var val)
(set-default-toplevel-value var val)
(if val
(add-hook 'org-blocker-hook
'org-block-todo-from-children-or-siblings-or-parent)
(remove-hook 'org-blocker-hook
'org-block-todo-from-children-or-siblings-or-parent)))
:group 'org-todo
:type 'boolean)