Browse Source

Derive completeness info from TODO state

Christian Egli 15 years ago
parent
commit
fd22a6f4e0
1 changed files with 5 additions and 3 deletions
  1. 5 3
      lisp/org-taskjuggler.el

+ 5 - 3
lisp/org-taskjuggler.el

@@ -37,7 +37,6 @@
 ;; M-x `org-export-as-taskjuggler-and-open'
 ;; M-x `org-export-as-taskjuggler-and-open'
 ;;
 ;;
 ;;; TODO:
 ;;; TODO:
-;;    * derive completeness info from TODO state
 ;;    * Handle explicit dependencies such as BLOCKER and depends attribute
 ;;    * Handle explicit dependencies such as BLOCKER and depends attribute
 ;;    * Code cleanup
 ;;    * Code cleanup
 ;;    * Add documentation
 ;;    * Add documentation
@@ -113,6 +112,7 @@
   (interactive)
   (interactive)
 
 
   (message "Exporting...")
   (message "Exporting...")
+  (setq-default org-done-keywords org-done-keywords)
   (let* ((tasks
   (let* ((tasks
 	  (org-taskjuggler-resolve-dependencies
 	  (org-taskjuggler-resolve-dependencies
 	   (org-taskjuggler-assign-task-ids 
 	   (org-taskjuggler-assign-task-ids 
@@ -315,14 +315,16 @@
    (t (error "Not a valid effort (%s)" effort))))
    (t (error "Not a valid effort (%s)" effort))))
 
 
 (defun org-taskjuggler-open-task (task)
 (defun org-taskjuggler-open-task (task)
-  (let ((unique-id (cdr (assoc "unique-id" task)))
+  (let* ((unique-id (cdr (assoc "unique-id" task)))
 	(headline (cdr (assoc "headline" task)))
 	(headline (cdr (assoc "headline" task)))
 	(effort (org-taskjuggler-clean-effort (cdr (assoc org-effort-property task))))
 	(effort (org-taskjuggler-clean-effort (cdr (assoc org-effort-property task))))
 	(depends (cdr (assoc "depends" task)))
 	(depends (cdr (assoc "depends" task)))
 	(allocate (cdr (assoc "allocate" task)))
 	(allocate (cdr (assoc "allocate" task)))
 	(account (cdr (assoc "account" task)))
 	(account (cdr (assoc "account" task)))
 	(start (cdr (assoc "start" task)))
 	(start (cdr (assoc "start" task)))
-	(complete (cdr (assoc "complete" task)))
+	(state (cdr (assoc "TODO" task)))
+	(complete (or (and (member state org-done-keywords) "100") 
+		      (cdr (assoc "complete" task))))
 	(note (cdr (assoc "note" task)))
 	(note (cdr (assoc "note" task)))
 	(priority (cdr (assoc "priority" task)))
 	(priority (cdr (assoc "priority" task)))
 	(parent-ordered (cdr (assoc "parent-ordered" task)))
 	(parent-ordered (cdr (assoc "parent-ordered" task)))