Index: openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-constraint-add-edit-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit-postgresql.xql 7 Aug 2003 23:08:45 -0000 1.1 +++ openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit-postgresql.xql 8 Aug 2003 22:24:14 -0000 1.2 @@ -43,11 +43,11 @@ select - t.item_id + item_id FROM - pm_tasks_revisionsx t + pm_tasks_revisionsx WHERE - t.revision_id = :tr + revision_id = :tr @@ -63,6 +63,18 @@ + + + select + r.item_id, r.title as task_title + FROM + pm_tasks_revisionsx r, cr_items i + WHERE + r.parent_id = :project_item_id and + r.revision_id = i.live_revision + + + INSERT INTO pm_task_constraints @@ -75,11 +87,11 @@ select - t.parent_id + parent_id FROM - pm_tasks_revisionsx t + pm_tasks_revisionsx WHERE - t.revision_id = '[lindex $task_revisions 0]' + revision_id = '[lindex $task_revisions 0]' Index: openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-constraint-add-edit.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl 7 Aug 2003 23:08:45 -0000 1.1 +++ openacs-4/contrib/packages/project-manager/www/task-constraint-add-edit.tcl 8 Aug 2003 22:24:14 -0000 1.2 @@ -16,7 +16,8 @@ } { constraint_id:integer,optional - task_revisions:multiple + task_revisions:integer,multiple,optional + task_revisions_list:optional const_type:array,optional const_task_id:array,optional @@ -31,6 +32,15 @@ # --------------------------------------------------------------- # +# HACK because there isn't a facility for exporting multiple hidden +# form variables in ad_form +if {[info exists task_revisions_list]} { + # convert task_revisions_list to task_revisions + set task_revisions_list_tmp [lindex $task_revisions_list 0] + set task_revisions [split $task_revisions_list " "] +} + + # terminology set project_term [parameter::get -parameter "ProjectName" -default "Project"] set task_term [parameter::get -parameter "TaskName" -default "Task"] @@ -48,23 +58,30 @@ permission::require_permission -party_id $user_id -object_id $package_id -privilege create + +ns_log Notice "TaskRev: $task_revisions" + set project_item_id [db_string get_parent_project { }] ad_form -name add_edit -form { constraint_id:key(pm_task_constraint_seq) - {task_revisions:text(hidden) - {value $task_revisions} + {task_revisions_list:text(hidden) + {value $task_revisions} } + +} -export { + } -on_submit { set user_id [ad_conn user_id] set peeraddr [ad_conn peeraddr] } -new_data { - + foreach tr $task_revisions { + set type_id $const_type($tr) set parent_tsk_id $const_task_id($tr) set const_id [db_nextval pm_task_constraint_seq] @@ -84,11 +101,18 @@ # get constraint types + set options [list] db_foreach get_const_types { } -column_array consts { lappend options "{\"$consts(description)\" $consts(short_name)}" } +set const_options [list] +db_foreach get_const_tasks { } -column_array const_tasks { + lappend const_options "{\"$const_tasks(task_title)\" $const_tasks(item_id)}" +} + + # get the information on tasks from their revision_numbers db_foreach get_task_info { } -column_array tasks { @@ -110,10 +134,10 @@ {value {finish_before_start}} } - {const_task_id.$tasks(revision_id):text + {const_task_id.$tasks(revision_id):text(select) {label \"Constraint\"} - {html {size 6}} - {help_text {$task_term ID constraint is based on}} + {options {[join $const_options " "]}} + {help_text {$task_term the constraint is based on}} } {description.$tasks(revision_id):text(inform) @@ -130,8 +154,7 @@ {label \"End date\"} {value $tasks(end_date)} } - " - + " } Index: openacs-4/contrib/packages/project-manager/www/task-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-edit.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/project-manager/www/task-edit.tcl 6 Aug 2003 20:22:18 -0000 1.2 +++ openacs-4/contrib/packages/project-manager/www/task-edit.tcl 8 Aug 2003 22:24:14 -0000 1.3 @@ -71,7 +71,7 @@ {html {size 59}} } - {description:text(textarea) + {description:text(text) {label "Description"} {html {rows 15 cols 60}} } Index: openacs-4/contrib/packages/project-manager/www/task-one-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-one-postgresql.xql,v diff -u -r1.7 -r1.8 --- openacs-4/contrib/packages/project-manager/www/task-one-postgresql.xql 8 Aug 2003 19:13:53 -0000 1.7 +++ openacs-4/contrib/packages/project-manager/www/task-one-postgresql.xql 8 Aug 2003 22:24:14 -0000 1.8 @@ -70,7 +70,7 @@ WHERE t.item_id = :task_id and t.item_id = i.item_id - $orderby_clause + $orderby_revisions_clause @@ -91,6 +91,29 @@ c.parent_task_id = t.item_id and t.revision_id = i.live_revision and t.item_id = i.item_id + $orderby_consts_clause + + + + SELECT + t.title as task_title, + to_char(t.start_date,'MM/DD/YYYY') as start_date, + to_char(t.end_date,'MM/DD/YYYY') as end_date, + t.percent_complete, + i.live_revision, + c.parent_task_id, + c.const_type, + c.task_id + FROM + pm_tasks_revisionsx t, cr_items i, pm_task_constraints c + WHERE + c.task_id = t.item_id and + c.parent_task_id = :task_id and + t.revision_id = i.live_revision and + t.item_id = i.item_id + $orderby_consts2_clause + + Index: openacs-4/contrib/packages/project-manager/www/task-one.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-one.adp,v diff -u -r1.7 -r1.8 --- openacs-4/contrib/packages/project-manager/www/task-one.adp 8 Aug 2003 19:13:53 -0000 1.7 +++ openacs-4/contrib/packages/project-manager/www/task-one.adp 8 Aug 2003 22:24:14 -0000 1.8 @@ -7,49 +7,14 @@
- - - -
+@task_term@(s) this relies on. + +

- - +@task_term@(s) relying on this @task_term@ + - - - -
Constraints
- - - - - - - - - -
- - - - - - - - - - - - - - - - @consts.task_title@@consts.percent_complete@% done@consts.start_date@@consts.end_date@
- -

- - Index: openacs-4/contrib/packages/project-manager/www/task-one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-one.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/contrib/packages/project-manager/www/task-one.tcl 8 Aug 2003 19:13:53 -0000 1.9 +++ openacs-4/contrib/packages/project-manager/www/task-one.tcl 8 Aug 2003 22:24:14 -0000 1.10 @@ -10,12 +10,12 @@ @return assignee_term Term to use for assignee @return watcher_term Term to use for watcher @return consts multirow that stores constraint information + @return consts multirow that stores constraint information for tasks that have constraints on this particular task @param task_id item_id for the task @param project_item_id the item_id for the project. Used for navigational links @param project_id the revision_id for the project. Used for navigational links @param context_bar value for context bar creation - @property task_title Name for Task } { task_id:integer,optional task_revision_id:integer,optional @@ -30,6 +30,7 @@ create_p:onevalue revisions:multirow consts:multirow + consts2:multirow task_term:onevalue task_term_lower:onevalue assignee_term:onevalue @@ -72,10 +73,11 @@ set write_p [permission::permission_p -object_id $package_id -privilege write] set create_p [permission::permission_p -object_id $package_id -privilege create] +# Task info ---------------------------------------------------------- db_1row task_query { } -column_array task_info -# Trying to show the task revisions with list-builder +# Task Revisions, using list-builder --------------------------------- template::list::create \ -name revisions \ @@ -114,18 +116,132 @@ } if {[exists_and_not_null orderby]} { - set orderby_clause "ORDER BY [template::list::orderby_clause -name revisions]" + set orderby_revisions_clause "ORDER BY [template::list::orderby_clause -name revisions]" } else { - set orderby_clause "ORDER BY revision_id desc" + set orderby_revisions_clause "ORDER BY revision_id desc" } db_multirow -extend { item_url } revisions task_revisions_query { } { set item_url [export_vars -base "task-one" -override {{task_revision_id $revision_id}} -exclude {revision_id} { revision_id task_id}] } -db_multirow consts consts_query { } +# Constraints info ------------------------------------------------ +template::list::create \ + -name consts \ + -multirow consts \ + -key task_id \ + -elements { + const_type { + label "Type" + display_template { + + + + + + + + + + + + + } + } + task_id { + label "Task" + display_col task_title + link_url_col item_url + link_html { title "View this task" } + } + percent_complete { + label "Status" + display_template "@consts.percent_complete@\%" + } + start_date { + label "Start date" + } + end_date { + label "End date" + } + } \ + -orderby { + percent_complete {orderby percent_complete} + start_date {orderby start_date} + end_date {orderby end_date} + } \ + -filters { + task_revision_id + } + +set orderby_consts_clause "ORDER BY task_title" + +db_multirow -extend { item_url } consts consts_query { +} { + set item_url [export_vars -base "task-one" -override {{task_id $parent_task_id}} { task_id }] +} + +# Constraints info (constraints other task have on this task) ------ + +template::list::create \ + -name consts2 \ + -multirow consts2 \ + -key task_id \ + -elements { + const_type { + label "Type" + display_template { + + + + + + + + + + + + + } + } + task_id { + label "Task" + display_col task_title + link_url_eval {task-one?task_id=$task_id} + link_html { title "View this task" } + } + percent_complete { + label "Status" + display_template "@consts2.percent_complete@\%" + } + start_date { + label "Start date" + } + end_date { + label "End date" + } + } \ + -orderby { + percent_complete {orderby percent_complete} + start_date {orderby start_date} + end_date {orderby end_date} + } \ + -filters { + task_revision_id + } + +set orderby_consts2_clause "ORDER BY task_title" + + +db_multirow -extend { item_url } consts2 consts2_query { +} { + +} + + ad_return_template # ------------------------- END OF FILE ------------------------- #