[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [PATCH v3 07/11] org-taskjuggler.el: Make project umbrella task opti
From: |
Yann Hodique |
Subject: |
[O] [PATCH v3 07/11] org-taskjuggler.el: Make project umbrella task optional |
Date: |
Thu, 16 Aug 2012 21:02:05 +0200 |
* org-taskjuggler.el (org-export-taskjuggler-keep-project-as-task): Add
new option.
(org-export-as-taskjuggler): Optionally drop the topmost "task"
(project).
(org-taskjuggler-assign-task-ids): Adapt path computation by optionally
dropping the topmost component (project).
Introduce `org-export-taskjuggler-keep-project-as-task' as a flag to
toggle the behavior. Keep old behavior as default.
---
lisp/org-taskjuggler.el | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/lisp/org-taskjuggler.el b/lisp/org-taskjuggler.el
index 7376302..3c97e03 100644
--- a/lisp/org-taskjuggler.el
+++ b/lisp/org-taskjuggler.el
@@ -264,6 +264,14 @@ but before any resource and task declarations."
the corresponding resource."
:group 'org-export-taskjuggler)
+(defcustom org-export-taskjuggler-keep-project-as-task t
+ "Whether to keep the project headline as an umbrella task for
+ all declared tasks. Setting this to nil will allow maintaining
+ completely separated task buckets, while still sharing the same
+ resources pool."
+ :group 'org-export-taskjuggler
+ :type 'boolean)
+
;;; Hooks
(defvar org-export-taskjuggler-final-hook nil
@@ -350,7 +358,10 @@ defined in `org-export-taskjuggler-default-reports'."
(org-clone-local-variables old-buffer "^org-")
(insert org-export-taskjuggler-default-global-header)
- (org-taskjuggler-open-project (car tasks))
+ (org-taskjuggler-open-project
+ (if org-export-taskjuggler-keep-project-as-task
+ (car tasks)
+ (pop tasks)))
(insert org-export-taskjuggler-default-global-properties)
(insert "\n")
(dolist (resource resources)
@@ -365,7 +376,9 @@ defined in `org-export-taskjuggler-default-reports'."
(org-taskjuggler-close-maybe level)
(org-taskjuggler-open-task task)
(setq org-export-taskjuggler-old-level level)))
- (org-taskjuggler-close-maybe 1)
+ (org-taskjuggler-close-maybe
+ (if org-export-taskjuggler-keep-project-as-task
+ 1 2))
(org-taskjuggler-insert-reports)
(save-buffer)
(or (org-export-push-to-kill-ring "TaskJuggler")
@@ -446,7 +459,11 @@ a path to the current task."
(push unique-id (car unique-ids))
(setcar path unique-id)))
(push (cons "unique-id" unique-id) task)
- (push (cons "path" (mapconcat 'identity (reverse path) ".")) task)
+ (push (cons "path"
+ (mapconcat 'identity
+ (if org-export-taskjuggler-keep-project-as-task
+ (reverse path)
+ (cdr (reverse path))) ".")) task)
(setq previous-level level)
(setq resolved-tasks (append resolved-tasks (list task)))))))
--
1.7.11.4
- Re: [O] [PATCH v2 00/11] Takjuggler exporter improvements, (continued)
- [O] [PATCH v3 00/11] Taskjuggler exporter improvements, Yann Hodique, 2012/08/16
- [O] [PATCH v3 01/11] org-taskjuggler.el: Make task and resource properties customizable, Yann Hodique, 2012/08/16
- [O] [PATCH v3 03/11] org-taskjuggler.el: Make use of org properties, Yann Hodique, 2012/08/16
- [O] [PATCH v3 02/11] org-taskjuggler.el: Properly install local variables at export time, Yann Hodique, 2012/08/16
- [O] [PATCH v3 05/11] org-taskjuggler.el: Introduce a global header, for early macros, Yann Hodique, 2012/08/16
- [O] [PATCH v3 06/11] org-taskjuggler.el: Use project end date, if specified, Yann Hodique, 2012/08/16
- [O] [PATCH v3 04/11] org-taskjuggler.el: Fix milestone definition, Yann Hodique, 2012/08/16
- [O] [PATCH v3 07/11] org-taskjuggler.el: Make project umbrella task optional,
Yann Hodique <=
- [O] [PATCH v3 08/11] org-taskjuggler.el: Disambiguate "headline", as it's a valid attribute, Yann Hodique, 2012/08/16
- [O] [PATCH v3 09/11] org-taskjuggler.el: Allow reports definition from within the org file, Yann Hodique, 2012/08/16
- [O] [PATCH v3 10/11] org-taskjuggler.el: Update doc to reflect latest changes, Yann Hodique, 2012/08/16
- [O] [PATCH v3 11/11] org-taskjuggler.el: Make taskjuggler compatible with org-publish, Yann Hodique, 2012/08/16
- Re: [O] [PATCH v3 00/11] Taskjuggler exporter improvements, Bastien, 2012/08/26
[O] [PATCH v2 01/11] org-taskjuggler: make task and resource properties customizable, Yann Hodique, 2012/08/15
[O] [PATCH v2 02/11] org-taskjuggler: properly install local variables at export time, Yann Hodique, 2012/08/15
[O] [PATCH v2 03/11] org-taskjuggler: make use of org properties, Yann Hodique, 2012/08/15
[O] [PATCH v2 04/11] org-taskjuggler: fix milestone definition, Yann Hodique, 2012/08/15
[O] [PATCH v2 05/11] org-taskjuggler: introduce a global header, for early macros, Yann Hodique, 2012/08/15