Index: openacs-4/contrib/packages/project-manager/tcl/task-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/task-procs.tcl,v
diff -u -r1.4.2.25 -r1.4.2.26
--- openacs-4/contrib/packages/project-manager/tcl/task-procs.tcl 26 Oct 2004 01:22:27 -0000 1.4.2.25
+++ openacs-4/contrib/packages/project-manager/tcl/task-procs.tcl 4 Nov 2004 01:04:17 -0000 1.4.2.26
@@ -1795,6 +1795,7 @@
{-end_date_month_array:required}
{-end_date_year_array:required}
{-project_item_id_array:required}
+ {-set_client_properties_p "f"}
} {
Stuff information about tasks into several arrays
@@ -1854,6 +1855,77 @@
set estimated_hours_work_max_arr($tid) 0
}
+ if {[string is true $set_client_properties_p]} {
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_one_line($tid) \
+ $one_line
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_description($tid) \
+ $description
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_description_mime_type($tid) \
+ $description_mime_type
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work($tid) \
+ $estimated_hours_work
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work_min($tid) \
+ $estimated_hours_work_min
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work_max($tid) \
+ $estimated_hours_work_max
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_dependency($tid) \
+ $parent_task_id
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_percent_complete($tid) \
+ $percent_complete
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_day($tid) \
+ $end_date_day
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_month($tid) \
+ $end_date_month
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_year($tid) \
+ $end_date_year
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_project_item_id($tid) \
+ $project
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_assignees($tid) \
+ [pm::task::get_assignee_names \
+ -task_item_id $tid]
+
+ }
+
+
}
}
@@ -1974,22 +2046,10 @@
{-comments_mime_type_array:required}
{-task_item_id_array:required}
{-number:required}
- {-old_one_line_array:required}
- {-old_description_array:required}
- {-old_description_mime_type_array:required}
- {-old_estimated_hours_work_array:required}
- {-old_estimated_hours_work_min_array:required}
- {-old_estimated_hours_work_max_array:required}
- {-old_dependency_array:required}
- {-old_percent_complete_array:required}
- {-old_end_date_day_array:required}
- {-old_end_date_month_array:required}
- {-old_end_date_year_array:required}
- {-old_project_item_id_array:required}
- {-old_assignees_array:required}
} {
Compares how a task was and how it currently is, and
- adds to the comments array a list of changes.
+ adds to the comments array a list of changes. Uses properties
+ last set in the task::get proc.
@author Jade Rubick (jader@bread.com)
@creation-date 2004-10-20
@@ -2003,24 +2063,6 @@
@param number the keys to the task_item_id array, a list of integers
- @param old_one_line_array
-
- @param old_description_array
-
- @param old_description_mime_type_array
-
- @param old_estimated_hours_work_array
-
- @param old_estimated_hours_work_min_array
-
- @param old_estimated_hours_work_max_array
-
- @param old_dependency_array
-
- @param old_percent_complete_array
-
- @param old_assignees_array
-
@return
@error
@@ -2030,22 +2072,8 @@
# text/html format
upvar 1 $comments_array comments_arr
upvar 1 $comments_mime_type_array comments_mime_type_arr
+ upvar 1 $task_item_id_array task_item_id
- upvar 1 $task_item_id_array task_item_id
- upvar 1 $old_one_line_array old_one_line_arr
- upvar 1 $old_description_array old_description_arr
- upvar 1 $old_description_mime_type_array old_description_mime_type_arr
- upvar 1 $old_estimated_hours_work_array old_estimated_hours_work_arr
- upvar 1 $old_estimated_hours_work_min_array old_estimated_hours_work_min_arr
- upvar 1 $old_estimated_hours_work_max_array old_estimated_hours_work_max_arr
- upvar 1 $old_percent_complete_array old_percent_complete_arr
- upvar 1 $old_end_date_day_array old_end_date_day_arr
- upvar 1 $old_end_date_month_array old_end_date_month_arr
- upvar 1 $old_end_date_year_array old_end_date_year_arr
- upvar 1 $old_project_item_id_array old_project_item_id_arr
- upvar 1 $old_assignees_array old_assignees_arr
- upvar 1 $old_dependency_array old_dependency_arr
-
set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
# get the new task values
@@ -2076,7 +2104,8 @@
set tid $task_item_id($num)
- set old $old_percent_complete_arr($tid)
+ set old [ad_get_client_property -- project-manager old_percent_complete($tid)]
+
set new $percent_complete_array($tid)
if {![string equal $old $new]} {
@@ -2094,15 +2123,19 @@
}
}
+
+ set old_end_date_day [ad_get_client_property -- project-manager old_end_date_day($tid)]
+ set old_end_date_month [ad_get_client_property -- project-manager old_end_date_month($tid)]
+ set old_end_date_year [ad_get_client_property -- project-manager old_end_date_year($tid)]
# end date
if { \
- ![string equal $old_end_date_day_arr($tid) $end_date_day_array($tid)] || \
- ![string equal $old_end_date_month_arr($tid) $end_date_month_array($tid)] || \
- ![string equal $old_end_date_year_arr($tid) $end_date_year_array($tid)]} {
+ ![string equal $old_end_date_day $end_date_day_array($tid)] || \
+ ![string equal $old_end_date_month $end_date_month_array($tid)] || \
+ ![string equal $old_end_date_year $end_date_year_array($tid)]} {
# internationalize the dates
- set iso_date_old "$old_end_date_year_arr($tid)-$old_end_date_month_arr($tid)-$old_end_date_day_arr($tid) 00:00:00"
+ set iso_date_old "$old_end_date_year-$old_end_date_month-$old_end_date_day 00:00:00"
set iso_date_new "$end_date_year_array($tid)-$end_date_month_array($tid)-$end_date_day_array($tid) 00:00:00"
if {[string equal $iso_date_old "-- 00:00:00"]} {
@@ -2120,78 +2153,95 @@
lappend changes "Hard deadline changed from $date_old to $date_new"
}
+ set old_one_line [ad_get_client_property -- project-manager old_one_line($tid)]
+
# one_line
- if {![string equal $old_one_line_arr($tid) $one_line_array($tid)]} {
- lappend changes "Subject changed from $old_one_line_arr($tid) to $one_line_array($tid)"
+ if {![string equal $old_one_line $one_line_array($tid)]} {
+ lappend changes "Subject changed from $old_one_line to $one_line_array($tid)"
}
+ set old_description [ad_get_client_property -- project-manager old_description($tid)]
+ set old_description_mime_type [ad_get_client_property -- project-manager old_description_mime_type($tid)]
+
# description
if { \
- ![string equal $old_description_arr($tid) $description_array($tid)] || \
- ![string equal $old_description_mime_type_arr($tid) $description_mime_type_array($tid)]} {
+ ![string equal $old_description $description_array($tid)] || \
+ ![string equal $old_description_mime_type $description_mime_type_array($tid)]} {
- set richtext_list [list $old_description_arr($tid) $old_description_mime_type_arr($tid)]
+ set richtext_list [list $old_description $old_description_mime_type]
set old_description_html [template::util::richtext::get_property html_value $richtext_list]
set richtext_list [list $description_array($tid) $description_mime_type_array($tid)]
set new_description_html [template::util::richtext::get_property html_value $richtext_list]
lappend changes "Description changed from
$old_description_html (see below for new description)"
}
+ set old_estimated_hours_work [ad_get_client_property -- project-manager old_estimated_hours_work($tid)]
+ set old_estimated_hours_work_min [ad_get_client_property -- project-manager old_estimated_hours_work_min($tid)]
+ set old_estimated_hours_work_max [ad_get_client_property -- project-manager old_estimated_hours_work_max($tid)]
+
# estimated_hours_work
if {[string is true $use_uncertain_completion_times_p]} {
- if {![string equal $old_estimated_hours_work_min_arr($tid) $estimated_hours_work_min_array($tid)]} {
- lappend changes "Work estimate (min) changed from $old_estimated_hours_work_min_arr($tid) to $estimated_hours_work_min_array($tid) hrs"
+ if {![string equal $old_estimated_hours_work_min $estimated_hours_work_min_array($tid)]} {
+ lappend changes "Work estimate (min) changed from $old_estimated_hours_work_min to $estimated_hours_work_min_array($tid) hrs"
}
- if {![string equal $old_estimated_hours_work_max_arr($tid) $estimated_hours_work_max_array($tid)]} {
- lappend changes "Work estimate (max) changed from $old_estimated_hours_work_max_arr($tid) to $estimated_hours_work_max_array($tid) hrs"
+ if {![string equal $old_estimated_hours_work_max $estimated_hours_work_max_array($tid)]} {
+ lappend changes "Work estimate (max) changed from $old_estimated_hours_work_max to $estimated_hours_work_max_array($tid) hrs"
}
} else {
- if {![string equal $old_estimated_hours_work_arr($tid) $estimated_hours_work_array($tid)]} {
- lappend changes "Work estimate (min) changed from $old_estimated_hours_work_arr($tid) to $estimated_hours_work_array($tid) hrs"
+ if {![string equal $old_estimated_hours_work $estimated_hours_work_array($tid)]} {
+ lappend changes "Work estimate (min) changed from $old_estimated_hours_work to $estimated_hours_work_array($tid) hrs"
}
}
+ set old_assignees [ad_get_client_property -- \
+ project-manager \
+ old_assignees($tid)]
+
set new_assignees [pm::task::get_assignee_names \
-task_item_id $task_item_id($num)]
# check for assignees that have been added
foreach new $new_assignees {
- if { [lsearch $old_assignees_arr($tid) $new] == -1} {
+ if { [lsearch $old_assignees $new] == -1} {
lappend changes "Added: $new"
}
}
# check for assignees that have been removed
- foreach old $old_assignees_arr($tid) {
+ foreach old $old_assignees {
if { [lsearch $new_assignees $old] == -1} {
lappend changes "Removed: $old"
}
}
+ set old_project_item_id [ad_get_client_property -- project-manager old_project_item_id($tid)]
+
# project
- if {![string equal $old_project_item_id_arr($tid) $project_item_id_array($tid)]} {
+ if {![string equal $old_project_item_id $project_item_id_array($tid)]} {
- set old [pm::project::name -project_item_id $old_project_item_id_arr($tid)]
+ set old [pm::project::name -project_item_id $old_project_item_id]
lappend changes "Project changed from $old"
}
+ set old_dependency [ad_get_client_property -- project-manager old_dependency($tid)]
+
# dependency
- if {![string equal $old_dependency_arr($tid) $dependency_array($tid)]} {
+ if {![string equal $old_dependency $dependency_array($tid)]} {
- if {[empty_string_p $old_dependency_arr($tid)]} {
+ if {[empty_string_p $old_dependency]} {
set old "Nothing"
} else {
set old [pm::task::name \
- -task_item_id $old_dependency_arr($tid)]
+ -task_item_id $old_dependency]
}
if {[empty_string_p $dependency_array($tid)]} {
@@ -2201,7 +2251,7 @@
-task_item_id $dependency_array($tid)]
}
- lappend changes "Dependency changed from $old ($old_dependency_arr($tid)) to $new ($dependency_array($tid))"
+ lappend changes "Dependency changed from $old ($old_dependency) to $new ($dependency_array($tid))"
}
@@ -2223,3 +2273,91 @@
}
+
+
+ad_proc -public pm::task::clear_client_properties {
+ {-task_item_id:required}
+} {
+ Clears all the client properties for a given task_item_id
+
+ @author (ibr@test)
+ @creation-date 2004-11-03
+
+ @param task_item_id
+
+ @return
+
+ @error
+} {
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_one_line($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_description($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_description_mime_type($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work_min($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_estimated_hours_work_max($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_dependency($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_percent_complete($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_day($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_month($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_end_date_year($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_project_item_id($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_assignees($task_item_id) \
+ ""
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ old_assignees($task_item_id) \
+ ""
+
+}
Index: openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-add-edit-2.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl 26 Oct 2004 01:21:11 -0000 1.1.2.1
+++ openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl 4 Nov 2004 01:04:17 -0000 1.1.2.2
@@ -84,6 +84,11 @@
lappend tasks_item_id $task_item_id($num)
}
+ foreach task $tasks_item_id {
+ pm::task::clear_client_properties \
+ -task_item_id $task
+ }
+
pm::task::get \
-tasks_item_id $tasks_item_id \
-one_line_array old_one_line \
@@ -97,7 +102,8 @@
-end_date_day_array old_end_date_day \
-end_date_month_array old_end_date_month \
-end_date_year_array old_end_date_year \
- -project_item_id_array old_project_item_id
+ -project_item_id_array old_project_item_id \
+ -set_client_properties_p t
foreach num $number {
@@ -116,10 +122,6 @@
set estimated_hours_work_max($num) $estimated_hours_work($num)
}
- set old_assignees($task_item_id($num)) \
- [pm::task::get_assignee_names \
- -task_item_id $task_item_id($num)]
-
# -------------------------------------
# Log hours and other variables to task
# -------------------------------------
@@ -302,33 +304,36 @@
}
+# --------------------------------------------------------------------
+# Internet Explorer sucks. It really really does. Due to length limits
+# on URLs for IE, we have to pass these variables through
+# ad_set_client_property.
+# --------------------------------------------------------------------
+
+foreach num $number {
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ project_item_id($num) \
+ $project_item_id($num)
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ task_item_id($num) \
+ $task_item_id($num)
+
+}
+
# We're done!
ad_returnredirect -message "Saved tasks" \
[export_vars -base task-add-edit-3 \
{ \
- project_item_id:array \
number:multiple \
using_process_p \
process_instance_id \
- task_item_id:array \
edit_p \
- task_title:array \
comments:array \
comments_mime_type:array \
- old_one_line:array \
- old_description:array \
- old_description_mime_type:array \
- old_estimated_hours_work:array \
- old_estimated_hours_work_min:array \
- old_estimated_hours_work_max:array \
- old_dependency:array \
- old_percent_complete:array \
- old_assignees:array \
- old_end_date_day:array \
- old_end_date_month:array \
- old_end_date_year:array \
- old_project_item_id:array \
send_email_p \
return_url}]
Index: openacs-4/contrib/packages/project-manager/www/task-add-edit-3.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-add-edit-3.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/contrib/packages/project-manager/www/task-add-edit-3.tcl 26 Oct 2004 01:21:11 -0000 1.1.2.1
+++ openacs-4/contrib/packages/project-manager/www/task-add-edit-3.tcl 4 Nov 2004 01:04:17 -0000 1.1.2.2
@@ -9,41 +9,47 @@
@arch-tag: f6cf8b76-a1e0-42a0-9489-000cad7ad7b5
@cvs-id $Id$
} {
- project_item_id:array
number:multiple
- task_title:array
{return_url ""}
{edit_p "f"}
{using_process_p "f"}
{process_instance_id:integer ""}
- task_item_id:array
{comments:html,array ""}
{comments_mime_type:array ""}
- {old_one_line:array ""}
- {old_description:html,array ""}
- {old_description_mime_type:array ""}
- {old_estimated_hours_work:array ""}
- {old_estimated_hours_work_min:array ""}
- {old_estimated_hours_work_max:array ""}
- {old_dependency:array ""}
- {old_percent_complete:array ""}
- {old_end_date_day:array ""}
- {old_end_date_month:array ""}
- {old_end_date_year:array ""}
- {old_assignees:array ""}
- {old_project_item_id:array ""}
{send_email_p "t"}
-
} -properties {
} -validate {
} -errors {
}
+# --------------------------------------------------------------------
+# Internet Explorer sucks. It really really does. Due to length limits
+# on URLs for IE, we have to pass these variables through
+# ad_set_client_property.
+# --------------------------------------------------------------------
+
+foreach num $number {
+ set project_item_id($num) [ad_get_client_property -- \
+ project-manager \
+ project_item_id($num)]
+
+ set task_item_id($num) [ad_get_client_property -- \
+ project-manager \
+ task_item_id($num)]
+
+}
+
+
+# ---------------------------------------------
+# set up the return_url if it's not already set
+# ---------------------------------------------
+
if {[empty_string_p $return_url]} {
set return_url [export_vars -base one \
{{project_item_id "$project_item_id([lindex $number 0])"}} ]
}
+
# ---------------------------------------------------------------
# Set up
# ---------------------------------------------------------------
@@ -105,30 +111,16 @@
# append to comments what has changed in each task
pm::task::what_changed \
-task_item_id_array task_item_id \
- -number $number \
+ -number $number \
-comments_array comments \
- -comments_mime_type_array comments_mime_type \
- -old_one_line_array old_one_line \
- -old_description_array old_description \
- -old_description_mime_type_array old_description_mime_type \
- -old_estimated_hours_work_array old_estimated_hours_work \
- -old_estimated_hours_work_min_array old_estimated_hours_work_min \
- -old_estimated_hours_work_max_array old_estimated_hours_work_max \
- -old_dependency_array old_dependency \
- -old_percent_complete_array old_percent_complete \
- -old_end_date_day_array old_end_date_day \
- -old_end_date_month_array old_end_date_month \
- -old_end_date_year_array old_end_date_year \
- -old_project_item_id_array old_project_item_id \
- -old_assignees_array old_assignees
+ -comments_mime_type_array comments_mime_type
-
foreach num $number {
# add comment to task
pm::util::general_comment_add \
-object_id $task_item_id($num) \
- -title $task_title($num) \
+ -title [pm::task::name -task_item_id $task_item_id($num)] \
-comment $comments($num) \
-mime_type $comments_mime_type($num) \
-user_id $user_id \