Browse Source

Add support for global properties

Christian Egli 15 years ago
parent
commit
84de8a85f6
1 changed files with 18 additions and 1 deletions
  1. 18 1
      lisp/org-taskjuggler.el

+ 18 - 1
lisp/org-taskjuggler.el

@@ -104,6 +104,22 @@ with `org-export-taskjuggler-project-tag'"
   :group 'org-export-taskjuggler
   :type '(repeat (string :tag "Report")))
 
+(defcustom org-export-taskjuggler-default-global-properties 
+  "shift s40 \"Part time shift\" {
+  workinghours wed, thu, fri off
+}
+"
+  "Default global properties for the project. Here you typically
+define global properties such as shifts, accounts, rates,
+vacation, macros and flags. Any property that is allowed within
+the TaskJuggler file can be inserted. You could for example
+include another TaskJuggler file. 
+
+The global properties are inserted after the project declaration
+but before any resource and task declarations."
+  :group 'org-export-taskjuggler
+  :type '(string :tag "Preamble"))
+
 ;;; Hooks
 
 (defvar org-export-taskjuggler-final-hook nil
@@ -178,6 +194,7 @@ defined in `org-export-taskjuggler-default-reports'."
     (with-current-buffer buffer
       (erase-buffer)
       (org-taskjuggler-open-project (car tasks))
+      (insert org-export-taskjuggler-default-global-properties)
       (dolist (resource resources)
 	(let ((level (cdr (assoc "level" resource))))
 	  (org-taskjuggler-close-maybe level)
@@ -230,7 +247,7 @@ and the full path to each task. Taskjuggler takes hierarchical ids.
 For that reason we have to make ids locally unique and we have to keep
 a path to the current task."
   (let ((previous-level 0)
-	unique-ids
+	unique-ids unique-id
 	path
 	task resolved-tasks tmp)
     (dolist (task tasks resolved-tasks)