@tasks.first_names@ @tasks.last_name@
@@ -89,17 +89,17 @@
-orderby {
default_value ordering,asc
ordering {
- label "Order"
+ label "[_ project-manager.Order]"
orderby_asc "t.ordering, t.process_task_id, p.first_names, p.last_name"
orderby_desc "t.ordering desc, t.process_task_id desc, p.first_names, p.last_name"
default_direction asc
}
} \
- -bulk_actions {
- "Use" "task-select-project" "Use process"
- "Edit" "process-task-add-edit" "Edit tasks"
- "Delete" "process-task-delete" "Delete tasks"
- } \
+ -bulk_actions [list \
+ "[_ project-manager.Use]" "task-select-project" "[_ project-manager.Use_process]" \
+ "[_ acs-kernel.common_Edit]" "process-task-add-edit" "[_ project-manager.Edit_tasks]" \
+ "[_ project-manager.Delete]" "process-task-delete" "[_ project-manager.Delete_tasks]" \
+ ]\
-bulk_action_export_vars {
process_id
project_item_id
Index: openacs-4/packages/project-manager/www/process-reminder.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-reminder.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/process-reminder.tcl 30 Apr 2005 06:59:33 -0000 1.2
+++ openacs-4/packages/project-manager/www/process-reminder.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -22,4 +22,4 @@
-project_item_id $project_item_id \
-new_p f
-ad_returnredirect -message "Status update sent" $return_url
+ad_returnredirect -message "[_ project-manager.Status_update_sent]" $return_url
Index: openacs-4/packages/project-manager/www/process-task-add-edit-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-add-edit-2.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-task-add-edit-2.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-task-add-edit-2.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -81,7 +81,7 @@
}
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set package_id [ad_conn package_id]
permission::require_permission -party_id $user_id -object_id $package_id -privilege create
@@ -223,11 +223,11 @@
}
if {[llength [array get use_dependency]] > 0} {
- set dep_msg "Now set up dependencies"
+ set dep_msg "[_ project-manager.lt_Now_set_up_dependenci]"
} else {
set dep_msg ""
}
-ad_returnredirect -message "Process $task_tasks saved. $dep_msg" "process-dependency-add-edit?[export_vars -url {process_task_id:multiple process_id use_dependency:array}]"
+ad_returnredirect -message "[_ project-manager.lt_Process_task_tasks_sa] $dep_msg" "process-dependency-add-edit?[export_vars -url {process_task_id:multiple process_id use_dependency:array}]"
ad_script_abort
Index: openacs-4/packages/project-manager/www/process-task-add-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-add-edit.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/process-task-add-edit.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/process-task-add-edit.adp 26 May 2005 09:34:29 -0000 1.2
@@ -18,46 +18,46 @@
@num.rownum@
- Subject: *
+ #project-manager.Subject# *
- Description:
+ #project-manager.Description_1#
+
+
Index: openacs-4/packages/project-manager/www/process-task-add-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-add-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-task-add-edit.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-task-add-edit.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -48,8 +48,8 @@
# terminology and parameters
# --------------------------
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
set use_day_p [parameter::get -parameter "UseDayInsteadOfHour" -default "t"]
@@ -60,7 +60,7 @@
# --------------------------------------
set package_id [ad_conn package_id]
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
# ------------------------------------------------------------
# if process_task_id is set, then we are editing process tasks
@@ -69,8 +69,8 @@
if {[exists_and_not_null process_task_id]} {
set edit_p 1
- set title "Edit a process $task_term_lower"
- set context_bar [ad_context_bar [list "process-one?process_id=$process_id" "Process"] "Edit tasks"]
+ set title "[_ project-manager.lt_Edit_a_process_task_t]"
+ set context_bar [ad_context_bar [list "process-one?process_id=$process_id" "[_ project-manager.Process]"] "[_ project-manager.Edit_tasks]"]
permission::require_permission -party_id $user_id -object_id $package_id -privilege write
set process_tasks [list]
@@ -109,8 +109,8 @@
} else {
set edit_p 0
- set title "Add a process $task_term_lower"
- set context_bar [ad_context_bar [list "process-one?process_id=$process_id" "Process"] "Add tasks"]
+ set title "[_ project-manager.lt_Add_a_process_task_te]"
+ set context_bar [ad_context_bar [list "process-one?process_id=$process_id" "[_ project-manager.Process]"] "[_ project-manager.Add_tasks]"]
permission::require_permission -party_id $user_id -object_id $package_id -privilege create
for {set i 1} {$i <= $number} {incr i} {
@@ -173,7 +173,7 @@
set role [lindex $role_list 1]
append html "
-
Assignee: $role_name
"
+
[_ project-manager.Assignee_1] $role_name
"
foreach assignee_list $assignee_list_of_lists {
set name [lindex $assignee_list 0]
Index: openacs-4/packages/project-manager/www/process-task-assign-add-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-assign-add-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-task-assign-add-edit.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-task-assign-add-edit.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -52,23 +52,23 @@
# terminology
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
# the unique identifier for this package
set package_id [ad_conn package_id]
set subsite_id [ad_conn subsite_id]
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set user_group_id [application_group::group_id_from_package_id \
-package_id $subsite_id]
# permissions and more
-set title "Add a process $task_term_lower (assignment)"
-set context_bar [ad_context_bar [list "processes?process_id=$process_id" "Processes"] "Add assignment"]
+set title "[_ project-manager.lt_Add_a_process_task_te_1]"
+set context_bar [ad_context_bar [list "processes?process_id=$process_id" "[_ project-manager.Processes]"] "[_ project-manager.Add_assignment]"]
permission::require_permission -party_id $user_id -object_id $package_id -privilege create
@@ -92,11 +92,11 @@
-set users_lofl "{{--Select Person--} {}} "
+set users_lofl "{{[_ project-manager.--Select_Person--]} {}} "
append users_lofl [db_list_of_lists get_users { }]
-set roles_lofl "{{--Select Role--} {}} "
+set roles_lofl "{{[_ project-manager.--Select_Role--]} {}} "
append roles_lofl [db_list_of_lists get_roles { }]
@@ -317,13 +317,13 @@
[list \
[list \
party_id.$tiid.$i:text(select) \
- {label "Assignments \#$i $tiid"} \
+ {label "[_ project-manager.Assignments] \#$i $tiid"} \
{options {[set users_lofl]}} \
{values $uv} \
] \
[list \
role_id.$tiid.$i:text(select) \
- {label "Role \#$i $tiid"} \
+ {label "[_ project-manager.Role] \#$i $tiid"} \
{options {[set roles_lofl]}} \
{values $rv} \
] \
Index: openacs-4/packages/project-manager/www/process-task-delete-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-delete-2.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-task-delete-2.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-task-delete-2.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -14,7 +14,7 @@
# --------------------------------------------------------------- #
# the unique identifier for this package
set package_id [ad_conn package_id]
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
# permissions
permission::require_permission -party_id $user_id -object_id $package_id -privilege write
Index: openacs-4/packages/project-manager/www/process-task-delete.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-delete.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/process-task-delete.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/process-task-delete.adp 26 May 2005 09:34:29 -0000 1.2
@@ -7,11 +7,12 @@
+
Index: openacs-4/packages/project-manager/www/process-task-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-task-delete.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-task-delete.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-task-delete.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -27,13 +27,13 @@
# --------------------------------------------------------------- #
# the unique identifier for this package
set package_id [ad_conn package_id]
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
# terminology
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
+set task_term_lower [_ project-manager.task]
-set title "Delete process $task_term_lower"
-set context_bar [ad_context_bar "Delete process $task_term_lower"]
+set title "[_ project-manager.lt_Delete_process_task_t]"
+set context_bar [ad_context_bar "[_ project-manager.lt_Delete_process_task_t]"]
# permissions
permission::require_permission -party_id $user_id -object_id $package_id -privilege write
Index: openacs-4/packages/project-manager/www/process-use.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-use.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/process-use.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/process-use.adp 26 May 2005 09:34:29 -0000 1.2
@@ -3,6 +3,7 @@
@context_bar;noquote@
@form_definition_beg;noquote@
-Select process: @select_widget;noquote@
+#project-manager.Select_process# @select_widget;noquote@
@form_definition_end;noquote@
+
Index: openacs-4/packages/project-manager/www/process-use.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/process-use.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/process-use.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/process-use.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -30,18 +30,18 @@
# --------------------------------------------------------------- #
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set package_id [ad_conn package_id]
# terminology
-set project_term [parameter::get -parameter "ProjectName" -default "Project"]
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
+set project_term [_ project-manager.Project]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
-set title "Use a process"
-set context_bar [ad_context_bar [list "processes" "Processes"] "Use"]
+set title "[_ project-manager.Use_a_process]"
+set context_bar [ad_context_bar [list "processes" "[_ project-manager.Processes]"] "[_ project-manager.Use]"]
# need to change this to show all the projects you're on by
Index: openacs-4/packages/project-manager/www/processes.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/processes.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/processes.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/processes.adp 26 May 2005 09:34:29 -0000 1.2
@@ -2,9 +2,10 @@
-Processes
+#project-manager.Processes#
@context_bar@
+
Index: openacs-4/packages/project-manager/www/processes.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/processes.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/processes.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/processes.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -30,17 +30,17 @@
# --------------------------------------------------------------- #
# terminology
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
-set project_term [parameter::get -parameter "ProjectName" -default "Project"]
-set project_term_lower [parameter::get -parameter "projectname" -default "project"]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
+set project_term [_ project-manager.Project]
+set project_term_lower [_ project-manager.project]
# set up context bar
-set context_bar [list "Processes"]
+set context_bar [list "[_ project-manager.Processes]"]
# the unique identifier for this package
set package_id [ad_conn package_id]
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
# permissions
permission::require_permission -party_id $user_id -object_id $package_id -privilege read
@@ -60,22 +60,22 @@
-key item_id \
-elements {
one_line {
- label "Subject"
+ label "[_ project-manager.Subject_1]"
display_template {
@processes.one_line@
}
}
description {
- label "Description"
+ label "[_ project-manager.Description]"
}
instances {
- label "Times used"
+ label "[_ project-manager.Times_used]"
display_template {
@processes.instances@
}
}
creation_date {
- label "Created"
+ label "[_ project-manager.Created]"
}
delete {
link_url_col delete_url
@@ -88,7 +88,7 @@
narrow
} \
-actions {
- "Add process" "process-add-edit" "Add a process"
+ "#project-manager.Add_process#" "process-add-edit" "#project-manager.Add_a_process#"
} \
-filters {
orderby_process {}
Index: openacs-4/packages/project-manager/www/project-assign-add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-add.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/project-assign-add.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/project-assign-add.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -18,6 +18,9 @@
} -errors {
}
+# permissions
+permission::require_permission -party_id $user_id -object_id $project_item_id -privilege write
+
set index 0
foreach user $user_id {
@@ -34,9 +37,9 @@
}
if {[llength $user_id] > 1} {
- set assign "Assignments"
+ set assign "[_ project-manager.Assignments]"
} else {
- set assign "Assignment"
+ set assign "[_ project-manager.Assignment]"
}
-ad_returnredirect -message "$assign saved" $return_url
+ad_returnredirect -message "[_ project-manager.assign_saved]" $return_url
Index: openacs-4/packages/project-manager/www/project-assign-edit-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-edit-2.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/project-assign-edit-2.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/project-assign-edit-2.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -17,8 +17,11 @@
} -errors {
}
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
+# permissions
+permission::require_permission -party_id $user_id -object_id $project_item_id -privilege write
+
# remove assignments
set current_assignees [pm::project::assign_remove_everyone \
-project_item_id $project_item_id]
@@ -41,4 +44,4 @@
}
-ad_returnredirect -message "Assignments saved" $return_url
+ad_returnredirect -message "[_ project-manager.Assignments_saved]" $return_url
Index: openacs-4/packages/project-manager/www/project-assign-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-edit.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/project-assign-edit.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/project-assign-edit.adp 26 May 2005 09:34:29 -0000 1.2
@@ -2,6 +2,7 @@
@title@
@context@
-
+
@html;noquote@
+
Index: openacs-4/packages/project-manager/www/project-assign-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/project-assign-edit.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/project-assign-edit.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -20,8 +20,11 @@
set package_id [ad_conn package_id]
# The id of the person logged in and browsing this page
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
+# permissions
+permission::require_permission -party_id $user_id -object_id $project_item_id -privilege write
+
set subsite_id [ad_conn subsite_id]
set user_group_id [application_group::group_id_from_package_id \
@@ -30,8 +33,8 @@
set project_name [pm::project::name -project_item_id $project_item_id]
-set title "Edit project assignees"
-set context [list [list "one?project_item_id=$project_item_id" "$project_name"] "Edit assignees"]
+set title "[_ project-manager.lt_Edit_project_assignee]"
+set context [list [list "one?project_item_id=$project_item_id" "$project_name"] "[_ project-manager.Edit_assignees]"]
set project_task_assignee_url [export_vars -base project-assign-task-assignees {project_item_id return_url}]
@@ -83,7 +86,7 @@
set role [lindex $role_list 1]
append html "
-
Assignee: $role_name
"
+
[_ project-manager.Assignee_1] $role_name
"
foreach assignee_list $assignee_list_of_lists {
set name [lindex $assignee_list 0]
Index: openacs-4/packages/project-manager/www/project-assign-remove.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-remove.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/project-assign-remove.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/project-assign-remove.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -17,6 +17,8 @@
} -errors {
}
+# permissions
+permission::require_permission -party_id $user_id -object_id $project_item_id -privilege write
foreach user $user_id {
@@ -26,9 +28,9 @@
}
if {[llength $user_id] > 1} {
- set assign "Assignments"
+ set assign "[_ project-manager.Assignments]"
} else {
- set assign "Assignment"
+ set assign "[_ project-manager.Assignment]"
}
-ad_returnredirect -message "$assign removed" $return_url
+ad_returnredirect -message "[_ project-manager.assign_removed]" $return_url
Index: openacs-4/packages/project-manager/www/project-assign-task-assignees.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-task-assignees.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/project-assign-task-assignees.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/project-assign-task-assignees.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -34,6 +34,10 @@
WHERE
i.parent_id = :project_item_id and
i.item_id = a.task_id
+ and exists (select 1 from acs_object_party_privilege_map ppm
+ where ppm.object_id = p.project_item_id
+ and ppm.privilege = 'read'
+ and ppm.party_id = :user_id)
}]
set parties [list]
@@ -75,4 +79,4 @@
-send_email_p $send_email_p
}
-ad_returnredirect -message "Saved project assignments based on task assignments" [export_vars -base project-assign-edit {project_item_id return_url}]
+ad_returnredirect -message "[_ project-manager.lt_Saved_project_assignm]" [export_vars -base project-assign-edit {project_item_id return_url}]
Index: openacs-4/packages/project-manager/www/project-revisions.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-revisions.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/project-revisions.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/project-revisions.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -17,10 +17,11 @@
} -errors {
}
+permission::require_permission -object_id $project_item_id -privilege "read"
-set title "Project Changes"
+set title "[_ project-manager.Project_Changes]"
-set context [list "one?project_item_id=$project_item_id Project" "View Revisions"]
+set context [list "one?project_item_id=$project_item_id" "[_ project-manager.Project_1]" "[_ project-manager.View_Revisions]"]
# Project Revisions, using list-builder ---------------------------------
@@ -31,20 +32,20 @@
-key project_id \
-elements {
project_id {
- label "Subject"
+ label "[_ project-manager.Subject_1]"
display_col project_name
link_url_col item_url
- link_html { title "View this revision" }
+ link_html { title "[_ project-manager.View_this_revision]" }
display_template {@revisions.project_name@ @revisions.project_name@ }
}
description {
- label "Description"
+ label "[_ project-manager.Description]"
display_template {
@revisions.description_rich;noquote@
}
}
planned_end_date {
- label "Deadline"
+ label "[_ project-manager.Deadline_1]"
}
} \
-sub_class {
Index: openacs-4/packages/project-manager/www/task-add-edit-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-2.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/task-add-edit-2.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/task-add-edit-2.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -54,10 +54,13 @@
# ---------------------------------------------------------------
# Set up
# ---------------------------------------------------------------
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set package_id [ad_conn package_id]
set peeraddr [ad_conn peeraddr]
+# permissions
+permission::require_permission -party_id $user_id -object_id $package_id -privilege read
+
set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
set hours_day [pm::util::hours_day]
@@ -111,10 +114,6 @@
# EDITING
# -------
- permission::require_permission \
- -party_id $user_id \
- -object_id $package_id \
- -privilege write
# -----------------------------------------------------
# find out information about the task before we edit it
@@ -189,7 +188,9 @@
# edit task
# ---------
+ permission::require_permission -party_id $user_id -object_id $task_item_id($num) -privilege write
+
set dead_line "[set end_date_${num}(year)]-[set end_date_${num}(month)]-[set end_date_${num}(day)]"
set task_revision \
[pm::task::edit \
@@ -257,11 +258,6 @@
# USING PROCESS OR CREATING NEW TASKS
# -----------------------------------
- permission::require_permission \
- -party_id $user_id \
- -object_id $package_id \
- -privilege create
-
if {[string is true $using_process_p]} {
set process_instance_id [pm::process::instantiate \
@@ -293,6 +289,8 @@
# create task
# -----------
+ permission::require_permission -party_id $user_id -object_id $project_item_id($num) -privilege create
+
set task_item \
[pm::task::new \
-project_id $project_item_id($num) \
Index: openacs-4/packages/project-manager/www/task-add-edit-3.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-3.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/task-add-edit-3.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/task-add-edit-3.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -53,10 +53,12 @@
# ---------------------------------------------------------------
# Set up
# ---------------------------------------------------------------
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set package_id [ad_conn package_id]
set peeraddr [ad_conn peeraddr]
+
+# Not sure whether permissions check here on individual task is relevant. Check with Jade.
if {[string is true $edit_p]} {
permission::require_permission \
-party_id $user_id \
@@ -75,7 +77,7 @@
}
-ad_progress_bar_begin -title "Updating status..." -message_1 "Please wait..." -message_2 "Will continue automatically"
+ad_progress_bar_begin -title "[_ project-manager.Updating_status]" -message_1 "[_ project-manager.Please_wait]" -message_2 "[_ project-manager.lt_Will_continue_automat]"
# compute the status for all projects
@@ -86,14 +88,19 @@
foreach num $number {
+ permission::require_permission \
+ -party_id $user_id \
+ -object_id $project_item_id($num) \
+ -privilege create
+
if {[lsearch $computed_projects $project_item_id($num)] < 0} {
pm::project::compute_status $project_item_id($num)
lappend computed_projects $project_item_id($num)
}
}
-util_user_message -message "Saved tasks. You may need to refresh the screen to see the changes."
+util_user_message -message "[_ project-manager.lt_Saved_tasks_You_may_n]"
ad_progress_bar_end -url $return_url
@@ -102,6 +109,11 @@
if {[string is true $using_process_p]} {
+ permission::require_permission \
+ -party_id $user_id \
+ -object_id $project_item_id(1) \
+ -privilege create
+
if {[string is true $send_email_p]} {
pm::process::email_alert \
-process_instance_id $process_instance_id \
@@ -119,6 +131,11 @@
foreach num $number {
+ permission::require_permission \
+ -party_id $user_id \
+ -object_id $task_item_id($num) \
+ -privilege write
+
if {[exists_and_not_null comments($num)]} {
# add comment to task
pm::util::general_comment_add \
Index: openacs-4/packages/project-manager/www/task-add-edit-one-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-one-oracle.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/project-manager/www/task-add-edit-one-oracle.xql 26 May 2005 09:34:29 -0000 1.1
@@ -0,0 +1,11 @@
+
+
+ oracle 8.0
+
+
+
+ select to_char(sysdate,'YYYY-MM-DD') from dual
+
+
+
+
Index: openacs-4/packages/project-manager/www/task-add-edit-one-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-one-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/project-manager/www/task-add-edit-one-postgresql.xql 26 May 2005 09:34:29 -0000 1.1
@@ -0,0 +1,11 @@
+
+
+ postgresql 7.3
+
+
+
+ select to_char(now(),'YYYY-MM-DD') from dual
+
+
+
+
Index: openacs-4/packages/project-manager/www/task-add-edit-one.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-one.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/project-manager/www/task-add-edit-one.adp 26 May 2005 09:34:29 -0000 1.1
@@ -0,0 +1,7 @@
+
+ @title;noquote@
+ @context@
+
+
+
+
Index: openacs-4/packages/project-manager/www/task-add-edit-one.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-one.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/project-manager/www/task-add-edit-one.tcl 26 May 2005 09:34:29 -0000 1.1
@@ -0,0 +1,672 @@
+ad_page_contract {
+
+ Add/edit form for tasks
+
+ Needs to handle the following cases:
+
+ Adding a new task or tasks
+ Editing a task or tasks
+ Using a process to add new tasks
+
+
+ @author jader@bread.com
+ @creation-date 2003-07-28
+ @cvs-id $Id: task-add-edit-one.tcl,v 1.1 2005/05/26 09:34:29 maltes Exp $
+
+ @return context Context bar
+ @return title Page title.
+
+ @param task_item_id list of tasks to edit, if there are any
+ @project_item_id The project these tasks are assigned to.
+ @param process_id The id for the process used, if any
+ @param process_task_id The process task IDs if there is a process used.
+ @param return_url
+} {
+ task_item_id:integer,optional
+ {project_item_id:integer ""}
+ {process_id:integer ""}
+ {process_task_id:integer,multiple ""}
+ {return_url ""}
+ {assignee:array,multiple,optional}
+}
+
+
+# ---------------------------------------------------------------
+# Set up
+# ---------------------------------------------------------------
+set user_id [ad_maybe_redirect_for_registration]
+set package_id [ad_conn package_id]
+
+# use hour units or day units
+set use_day_p [parameter::get -parameter "UseDayInsteadOfHour" -default "t"]
+set hours_day [pm::util::hours_day]
+
+if {[string is true $use_day_p]} {
+ set work_units "[_ project-manager.days]"
+} else {
+ set work_units "[_ project-manager.hrs]"
+}
+
+# ---------------------------------------------------------------
+# terminology
+# ---------------------------------------------------------------
+set project_term [_ project-manager.Project]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
+set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
+
+# -------------------------
+# Set up flags to use later
+# -------------------------
+
+if {[exists_and_not_null task_item_id] || ![ad_form_new_p -key task_id]} {
+ set edit_p t
+ db_1row task_data {}
+ set logger_project [pm::project::get_logger_project -project_item_id $project_item_id]
+ set variable_options [logger::ui::variable_options -project_id $logger_project]
+
+ set open_p [pm::project::open_p -project_item_id $project_item_id]
+ if {[string is false $open_p]} {
+ set project_options [list [list [pm::project::name -project_item_id $project_item_id] $project_item_id]]
+ } else {
+ set project_options [pm::project::get_list_of_open]
+ }
+} else {
+ set edit_p f
+}
+
+if {[exists_and_not_null process_id]} {
+ set using_process_p t
+} else {
+ set using_process_p f
+}
+
+# --------------------------------------------------------------------
+# if we are editing tasks, each task has its own project. We also want
+# to look up all the old information to store it for later. We use
+# this for comparison, to see what has changed.
+# --------------------------------------------------------------------
+
+if {![string is true $edit_p] &&[empty_string_p $project_item_id]} {
+
+ ad_return_error "[_ project-manager.Project_missing]" "[_ project-manager.lt_For_new_tasks_a_proje]"
+ ad_script_abort
+}
+
+# ---------------------------------------------------------------
+# permissions and title setup, etc
+# ---------------------------------------------------------------
+
+if {[string is true $edit_p]} {
+
+ set title "[_ project-manager.lt_Edit_a_task_term_lowe]"
+ set context [list [list $return_url "[_ project-manager.Go_back]"] "[_ project-manager.Edit_task_term]"]
+
+} else {
+
+ set title "[_ project-manager.Add_task_term_lower]"
+ set context [list [list [export_vars -base one {project_item_id}] "[pm::project::name -project_item_id $project_item_id]"] "[_ project-manager.New_task_term]"]
+
+ permission::require_permission -party_id $user_id -object_id $project_item_id -privilege create
+
+}
+
+# -------------------------------------------------------------
+# Start creating the multirow we'll use to create the interface
+# -------------------------------------------------------------
+
+set boolean_options [list [list "[_ project-manager.Yes]" t] [list "[_ project-manager.No]" f]]
+set format_options [list [list "[_ project-manager.Enhanced_Text]" "text/enhanced"] [list "[_ project-manager.Plain_Text]" "text/plain"] [list "[_ project-manager.Fixed-width_Text]" "text/fixed-width"] [list "[_ project-manager.HTML]" "text/html"]]
+set percent_options [list [list "[_ project-manager.Open]" 0] [list "[_ project-manager.Closed]" 100]]
+set dependency_options [pm::task::options_list \
+ -edit_p $edit_p \
+ -project_item_id $project_item_id \
+ -number 1 \
+ -current_number 1]
+
+set send_email_p t
+
+ad_form -name task_add_edit -export {task_item_id} \
+ -form {
+ task_id:key
+
+ {edit_p:text(hidden)}
+ {using_process_p:text(hidden)}
+ {return_url:text(hidden),optional}
+ {process_task_id:text(hidden),optional}
+
+ {send_email_p:text(select)
+ {label "[_ project-manager.lt_Send_email_to_assigne]"}
+ {options $boolean_options}
+ }
+ }
+
+if {[string is true $using_process_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {process_name:text,optional
+ {label "[_ project-manager.Process_name]"}
+ {html {size 25}}
+ }
+ }
+}
+
+ad_form -extend -name task_add_edit \
+ -form {
+ {task_title:text
+ {label "[_ project-manager.Process_name]"}
+ {html {size 40}}
+ }
+
+ {description:text(textarea),optional
+ {label "[_ project-manager.Description_1]"}
+ {html { rows 14 cols 40 wrap soft}}
+ }
+
+ {description_mime_type:text(select),optional
+ {label "[_ project-manager.Format]"}
+ {options $format_options}
+ }
+ }
+
+if {[string is true $edit_p]} {
+ if {![empty_string_p [category_tree::get_mapped_trees $package_id]]} {
+ ad_form -extend -name task_add_edit -form {
+ {category_ids:integer(category),multiple {label "[_ project-manager.Categories]"}
+ {html {size 7}} {value {$task_id $package_id}}
+ }
+ }
+ }
+} else {
+ if {![empty_string_p [category_tree::get_mapped_trees $package_id]]} {
+ ad_form -extend -name task_add_edit -form {
+ {category_ids:integer(category),multiple,optional {label "[_ project-manager.Categories]"}
+ {html {size 7}} {value {}}
+ }
+ }
+ }
+}
+
+dtype::form::add_elements -prefix pm -object_type pm_task -object_id [value_if_exists task_id] -form task_add_edit -exclude_static -cr_widget none
+
+if {[string is true $edit_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {comment:text(textarea),optional
+ {label "[_ project-manager.Description_1]"}
+ {html { rows 7 cols 40 wrap soft}}
+ {section "[_ project-manager.Comment]"}
+ }
+
+ {comment_mime_type:text(select),optional
+ {label "[_ project-manager.Format]"}
+ {options $format_options}
+ {section "[_ project-manager.Comment]"}
+ }
+ }
+} else {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {comment:text(hidden)
+ {value ""}
+ }
+
+ {comment_mime_type:text(hidden)
+ {value "text/plain"}
+ }
+ }
+}
+
+if {!$use_uncertain_completion_times_p} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {estimated_hours_work:text
+ {label " "}
+ {html {size 5}}
+ {after_html $work_units}
+ {section "[_ project-manager.Work_required]"}
+ }
+ }
+} elseif {[string is true $use_day_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {estimated_days_work_min:text
+ {label "[_ project-manager.Min]"}
+ {html {size 5}}
+ {after_html $work_units}
+ {section "[_ project-manager.Work_required]"}
+ }
+
+ {estimated_days_work_max:text
+ {label "[_ project-manager.Max]"}
+ {html {size 5}}
+ {after_html $work_units}
+ {section "[_ project-manager.Work_required]"}
+ }
+ }
+} else {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {estimated_hours_work_min:text
+ {label "[_ project-manager.Min]"}
+ {html {size 5}}
+ {after_html $work_units}
+ {section "[_ project-manager.Work_required]"}
+ }
+
+ {estimated_hours_work_max:text
+ {label "[_ project-manager.Max]"}
+ {html {size 5}}
+ {after_html $work_units}
+ {section "[_ project-manager.Work_required]"}
+ }
+ }
+}
+
+ad_form -extend -name task_add_edit \
+ -form {
+ {task_end_date:text(text),optional
+ {label "[_ project-manager.lt_Deadline_task]"}
+ {html {id sel1}}
+ {after_html { \[y-m-d \]
+ }}
+ }
+ }
+
+if {[string is true $edit_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {project_item_id:text(select),optional
+ {label $project_term}
+ {options $project_options}
+ }
+ }
+} else {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {project_item_id:text(hidden)}
+ }
+}
+
+ad_form -extend -name task_add_edit \
+ -form {
+ {dependency:text(select),optional
+ {label "[_ project-manager.Dependency]"}
+ {options $dependency_options}
+ }
+
+ {priority:text,optional
+ {label "[_ project-manager.Priority]"}
+ {html {size 4}}
+ {help_text "[_ project-manager.lt_Enter_a_number_for_or]"}
+ }
+ }
+
+if {[string is true $edit_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {percent_complete:text,optional
+ {label "[_ project-manager.Status]"}
+ {html {size 4}}
+ {help_text "[_ project-manager.lt_Enter_100_to_close_th_1]"}
+ }
+
+ {hours:text,optional
+ {label "[_ project-manager.Quantity]"}
+ {html {size 4}}
+ {section "[_ project-manager.Log_entry]"}
+ }
+
+ {logger_variable_id:text(select),optional
+ {label " "}
+ {options $variable_options}
+ {section "[_ project-manager.Log_entry]"}
+ }
+
+ {log_date:text(text),optional
+ {label "[_ project-manager.Date_1]"}
+ {html {id sel2}}
+ {after_html { \[y-m-d \]
+ }}
+ {section "[_ project-manager.Log_entry]"}
+ }
+
+ {log:text,optional
+ {label "[_ project-manager.Description_1]"}
+ {html {size 30}}
+ {help_text "[_ project-manager.lt_You_can_optionally_lo]"}
+ {section "[_ project-manager.Log_entry]"}
+ }
+ }
+} elseif {[string is true $using_process_p]} {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {percent_complete:text(select),optional
+ {label "[_ project-manager.Status]"}
+ {options $percent_options}
+ }
+ }
+} else {
+ ad_form -extend -name task_add_edit \
+ -form {
+ {percent_complete:text(hidden)}
+ }
+}
+
+set roles_list [pm::role::select_list_filter]
+set assignee_options [pm::util::subsite_assignees_list_of_lists]
+
+# Get assignments for when using processes
+if {[string is true $using_process_p]} {
+ # PROCESS
+ set task_assignee_list [pm::process::task_assignee_role_list -process_task_id $process_task_id]
+} elseif {[string is true $edit_p]} {
+ # EDITING
+ set task_assignee_list [pm::task::assignee_role_list -task_item_id $task_item_id]
+} else {
+ # NEW
+ set task_assignee_list [list]
+}
+
+foreach role_list $roles_list {
+ set role_name [lindex $role_list 0]
+ set role [lindex $role_list 1]
+
+ set assignees [list]
+ foreach one_assignee $assignee_options {
+ set name [lindex $one_assignee 0]
+ set person_id [lindex $one_assignee 1]
+
+ if {[lsearch $task_assignee_list [list $person_id $role]] >= 0} {
+ lappend assignees $person_id
+ }
+ }
+
+ ad_form -extend -name task_add_edit \
+ -form [list \
+ [list assignee.$role\:text(checkbox),optional,multiple \
+ [list label $role_name] \
+ [list options $assignee_options] \
+ [list section "[_ project-manager.Assignees]"] \
+ [list values $assignees] \
+ ] ]
+}
+
+ad_form -extend -name task_add_edit -new_request {
+ set send_email_p t
+ set task_title ""
+ set description ""
+ set description_mime_type "text/plain"
+ set estimated_hours_work 0
+ set estimated_hours_work_min 0
+ set estimated_hours_work_max 0
+ set estimated_days_work_min 0
+ set estimated_days_work_max 0
+ set percent_complete 0
+ set task_end_date [db_string today {}]
+ set dependency ""
+ set priority 0
+} -edit_request {
+ db_1row get_task_data {}
+
+ set hours_day [pm::util::hours_day]
+ set estimated_days_work_min [expr $estimated_hours_work_min / $hours_day]
+ set estimated_days_work_max [expr $estimated_hours_work_max / $hours_day]
+
+ set log_date [db_string today {}]
+ set logger_variable_id [logger::project::get_primary_variable -project_id $logger_project]
+} -validate {
+} -on_submit {
+ set hours_day [pm::util::hours_day]
+ set status_id [pm::task::default_status_open]
+
+ set end_date_split [split $task_end_date "-"]
+ set end_date(day) [lindex [set end_date_split] 2]
+ set end_date(month) [lindex [set end_date_split] 1]
+ set end_date(year) [lindex [set end_date_split] 0]
+ set end_date(format) ""
+ ad_page_contract_filter_proc_date end_date end_date
+ set end_date_sql [pm::util::datenvl -value $end_date(date) -value_if_null "null" -value_if_not_null "to_timestamp('$end_date(date)','YYYY-MM-DD')"]
+
+ if {[info exists log_date]} {
+ set log_date_split [split $log_date "-"]
+ set log_date_array(day) [lindex [set log_date_split] 2]
+ set log_date_array(month) [lindex [set log_date_split] 1]
+ set log_date_array(year) [lindex [set log_date_split] 0]
+ set log_date_array(format) ""
+ ad_page_contract_filter_proc_date log_date_array log_date_array
+ }
+
+ if {[string is true $use_day_p]} {
+ # set the hours work
+ if {[string is true $use_uncertain_completion_times_p]} {
+ set estimated_hours_work_min \
+ [expr $estimated_days_work_min * $hours_day]
+ set estimated_hours_work_max \
+ [expr $estimated_days_work_max * $hours_day]
+ } else {
+ set estimated_hours_work \
+ [expr $estimated_days_work * $hours_day]
+ }
+ }
+
+ if {$estimated_hours_work_min > $estimated_hours_work_max} {
+ set temp $estimated_hours_work_max
+ set estimated_hours_work_max $estimated_hours_work_min
+ set estimated_hours_work_min $temp
+ }
+
+ if {[string is true $use_uncertain_completion_times_p]} {
+ set estimated_hours_work [expr .5 * ($estimated_hours_work_max - $estimated_hours_work_min) + $estimated_hours_work_min]
+ } else {
+ set estimated_hours_work_min $estimated_hours_work
+ set estimated_hours_work_max $estimated_hours_work
+ }
+
+} -new_data {
+ db_transaction {
+
+ # -----------------------------------
+ # USING PROCESS OR CREATING NEW TASKS
+ # -----------------------------------
+
+ if {[string is true $using_process_p]} {
+ set process_instance_id [pm::process::instantiate \
+ -process_id $process_id \
+ -project_item_id $project_item_id \
+ -name $process_name]
+ } else {
+ set process_instance_id ""
+ }
+
+ # -----------
+ # create task
+ # -----------
+
+ permission::require_permission -party_id $user_id -object_id $project_item_id -privilege create
+
+ set task_id [dtype::form::process \
+ -prefix pm \
+ -object_type pm_task \
+ -object_id $task_id \
+ -form task_add_edit \
+ -cr_widget none \
+ -defaults [list title $task_title description $description mime_type $description_mime_type context_id $project_item_id parent_id $project_item_id] \
+ -default_fields {percent_complete {end_date $end_date_sql} estimated_hours_work estimated_hours_work_min estimated_hours_work_max priority} \
+ -exclude_static]
+
+ set task_item_id [db_string get_item_id {}]
+
+ db_dml new_task {}
+
+ if {$percent_complete >= 100} {
+ pm::task::close -task_item_id $task_item_id
+ }
+
+ # ----------------
+ # add in assignees
+ # ----------------
+
+ if {[array exists assignee]} {
+ foreach role [array names assignee] {
+ foreach person_id $assignee($role) {
+ pm::task::assign \
+ -task_item_id $task_item_id \
+ -party_id $person_id \
+ -role_id $role
+ }
+ }
+ }
+
+ # -------------------
+ # add in dependencies
+ # -------------------
+
+ # if there is a numXX as the dependency, then we are relying
+ # on new tasks that had not been created yet. So we match them
+ # up with the new tasks we've just created.
+ if {[regexp {num(.*)} $dependency match parent]} {
+ set dependency $task_item_id($parent)
+ }
+
+ if {[exists_and_not_null dependency]} {
+ pm::task::dependency_add \
+ -task_item_id $task_item_id \
+ -parent_id $dependency \
+ -dependency_type finish_before_start \
+ -project_item_id $project_item_id
+ }
+
+ if {[exists_and_not_null category_ids]} {
+ category::map_object -remove_old -object_id $task_id $category_ids
+ }
+
+ callback pm::task_new -package_id $package_id -task_id $task_item_id
+ }
+} -edit_data {
+ db_transaction {
+
+ pm::task::clear_client_properties \
+ -task_item_id $task_item_id
+
+ # -------------------------------------
+ # Log hours and other variables to task
+ # -------------------------------------
+
+ set logger_project [pm::project::get_logger_project \
+ -project_item_id $project_item_id]
+
+
+ if {[exists_and_not_null hours]} {
+
+ pm::project::log_hours \
+ -logger_project_id $logger_project \
+ -variable_id $logger_variable \
+ -value $hours \
+ -description $log \
+ -task_item_id $task_item_id \
+ -project_item_id $project_item_id \
+ -update_status_p f \
+ -party_id $user_id \
+ -timestamp_ansi $log_date_array(date)
+ }
+
+ # ---------
+ # edit task
+ # ---------
+
+ permission::require_permission -party_id $user_id -object_id $task_item_id -privilege write
+
+ set task_id [dtype::form::process \
+ -prefix pm \
+ -object_type pm_task \
+ -object_id $task_id \
+ -form task_add_edit \
+ -cr_widget none \
+ -defaults [list title $task_title description $description mime_type $description_mime_type context_id $project_item_id parent_id $project_item_id] \
+ -default_fields {percent_complete {end_date $end_date_sql} estimated_hours_work estimated_hours_work_min estimated_hours_work_max priority} \
+ -exclude_static]
+
+ db_dml update_task {}
+
+ if {$percent_complete >= 100} {
+ pm::task::close -task_item_id $task_item_id
+ }
+
+ # --------------------------
+ # remove all old assignments
+ # --------------------------
+ pm::task::assign_remove_everyone \
+ -task_item_id $task_item_id
+
+ # -----------------------
+ # remove all dependencies
+ # -----------------------
+ pm::task::dependency_delete_all \
+ -task_item_id $task_item_id
+
+
+ # ----------------
+ # add in assignees
+ # ----------------
+
+ if {[array exists assignee]} {
+ foreach role [array names assignee] {
+ foreach person_id $assignee($role) {
+ pm::task::assign \
+ -task_item_id $task_item_id \
+ -party_id $person_id \
+ -role_id $role
+ }
+ }
+ }
+
+ # -----------------------
+ # add in the dependencies
+ # -----------------------
+
+ if {[exists_and_not_null dependency]} {
+ pm::task::dependency_add \
+ -task_item_id $task_item_id \
+ -parent_id $dependency \
+ -dependency_type finish_before_start \
+ -project_item_id $project_item_id
+ }
+
+ if {[exists_and_not_null category_ids]} {
+ category::map_object -remove_old -object_id $task_id $category_ids
+ }
+
+ callback pm::task_edit -package_id $package_id -task_id $task_item_id
+ }
+} -after_submit {
+ set number 1
+ set comments(1) $comment
+ set comments_mime_type(1) $comment_mime_type
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ project_item_id(1) \
+ $project_item_id
+
+ ad_set_client_property -persistent f -- \
+ project-manager \
+ task_item_id(1) \
+ $task_item_id
+
+ ad_returnredirect \
+ [export_vars -base task-add-edit-3 \
+ { \
+ number:multiple \
+ using_process_p \
+ process_instance_id \
+ edit_p \
+ comments:array \
+ comments_mime_type:array \
+ send_email_p \
+ return_url}]
+
+ ad_script_abort
+}
+
+ad_return_template
Index: openacs-4/packages/project-manager/www/task-add-edit-one.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit-one.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/project-manager/www/task-add-edit-one.xql 26 May 2005 09:34:29 -0000 1.1
@@ -0,0 +1,49 @@
+
+
+
+
+
+ select i.latest_revision as task_id, t.parent_id as project_item_id
+ from cr_items i, pm_tasks_revisionsx t
+ where i.item_id = :task_item_id
+ and t.object_id = i.latest_revision
+
+
+
+
+
+ select title as task_title, description, mime_type as description_mime_type,
+ percent_complete, to_char(end_date,'YYYY-MM-DD') as task_end_date,
+ estimated_hours_work, estimated_hours_work_min,
+ estimated_hours_work_max, priority
+ from pm_tasks_revisionsi
+ where object_id = :task_id
+
+
+
+
+
+ select item_id
+ from cr_revisions
+ where revision_id = :task_id
+
+
+
+
+
+ insert into pm_tasks
+ (task_id, task_number, status, process_instance)
+ values
+ (:task_item_id, 1, :status_id, :process_instance_id)
+
+
+
+
+
+ update pm_tasks
+ set status = :status_id
+ where task_id = :task_item_id
+
+
+
+
Index: openacs-4/packages/project-manager/www/task-add-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/task-add-edit.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/task-add-edit.adp 26 May 2005 09:34:29 -0000 1.2
@@ -8,14 +8,14 @@
@export_vars;noquote@
- Send email to assignees?
+ #project-manager.lt_Send_email_to_assigne#
- Yes
- No
+ #project-manager.Yes#
+ #project-manager.No#
- Process name
+ #project-manager.Process_name#
@@ -55,55 +55,55 @@
- Subject: *
+ #project-manager.Subject# *
- Description:
+ #project-manager.Description_1#
- Format:
+ #project-manager.Format#
- Enhanced Text
+ #project-manager.Enhanced_Text#
- Enhanced Text
+ #project-manager.Enhanced_Text#
- Plain Text
+ #project-manager.Plain_Text#
- Plain Text
+ #project-manager.Plain_Text#
- Fixed-width Text
+ #project-manager.Fixed-width_Text#
- Fixed-width Text
+ #project-manager.Fixed-width_Text#
- HTML
+ #project-manager.HTML#
- HTML
+ #project-manager.HTML#
- Comment
+ #project-manager.Comment_1#
- Format:
+ #project-manager.Format#
- Enhanced Text
- Plain Text
- Fixed-width Text
- HTML
+ #project-manager.Enhanced_Text#
+ #project-manager.Plain_Text#
+ #project-manager.Fixed-width_Text#
+ #project-manager.HTML#
@@ -121,16 +121,16 @@
- Work required: *
+ #project-manager.Work_required# *
- Min:
+ #project-manager.Min#
@work_units;noquote@
- Max:
+ #project-manager.Max#
@work_units;noquote@
@@ -141,11 +141,11 @@
- Min:
+ #project-manager.Min#
@work_units;noquote@
- Max:
+ #project-manager.Max#
@work_units;noquote@
@@ -159,7 +159,7 @@
- Deadline: @tasks.end_date_html;noquote@
+ #project-manager.lt_Deadline_tasksend_dat#
@@ -169,14 +169,14 @@
- Dependency:
+ #project-manager.Dependency#
@tasks.dependency_html;noquote@
- Priority:
+ #project-manager.Priority#
- Enter a number for ordering the priority. 0 is the default
- and also the lowest priority.
+ #project-manager.lt_Enter_a_number_for_or#
- Status:
+ #project-manager.Status#
%
- Enter 100% to close the @task_term_lower@, or less to open it.
+ #project-manager.lt_Enter_100_to_close_th_1#
- Status:
+ #project-manager.Status#
- Open
- Closed
+ #project-manager.Open#
+ #project-manager.Closed#
@@ -219,10 +218,10 @@
- Log entry:
+ #project-manager.Log_entry#
- Quantity:
+ #project-manager.Quantity#
@@ -231,14 +230,14 @@
- Date:
+ #project-manager.Date_1#
<%= [set today_html@tasks.task_item_id@] %>
- Description:
+ #project-manager.Description_1#
@@ -255,7 +254,7 @@
- You can optionally log time worked here.
+ #project-manager.lt_You_can_optionally_lo#
@@ -317,3 +316,4 @@
+
Index: openacs-4/packages/project-manager/www/task-add-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-add-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/task-add-edit.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/task-add-edit.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -36,10 +36,15 @@
}
+if {$new_tasks == "1"} {
+ ad_returnredirect [export_vars -base task-add-edit-one {task_item_id project_item_id process_id process_task_id:multiple return_url}]
+ ad_script_abort
+}
+
# ---------------------------------------------------------------
# Set up
# ---------------------------------------------------------------
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set package_id [ad_conn package_id]
# use hour units or day units
@@ -55,9 +60,9 @@
# ---------------------------------------------------------------
# terminology
# ---------------------------------------------------------------
-set project_term [parameter::get -parameter "ProjectName" -default "Project"]
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
-set task_term_lower [parameter::get -parameter "taskname" -default "task"]
+set project_term [_ project-manager.Project]
+set task_term [_ project-manager.Task]
+set task_term_lower [_ project-manager.task]
set use_uncertain_completion_times_p [parameter::get -parameter "UseUncertainCompletionTimesP" -default "1"]
# -------------------------
@@ -103,33 +108,25 @@
} elseif {[empty_string_p $project_item_id]} {
- ad_return_error "Project missing" "For new tasks, a project must be passed in"
+ ad_return_error "[_ project-manager.Project_missing]" "[_ project-manager.lt_For_new_tasks_a_proje]"
ad_script_abort
}
# ---------------------------------------------------------------
# permissions and title setup, etc
# ---------------------------------------------------------------
-if {[string is true $edit_p]} {
+if {[string is true $edit_p]} {
- set title "Edit a $task_term_lower"
- set context [list [list $return_url "Go back"] "Edit $task_term"]
+ set title "[_ project-manager.lt_Edit_a_task_term_lowe]"
+ set context [list [list $return_url "[_ project-manager.Go_back]"] "[_ project-manager.Edit_task_term]"]
- permission::require_permission \
- -party_id $user_id \
- -object_id $package_id \
- -privilege write
-
} else {
- set title "Add $task_term_lower"
- set context [list [list "one?item_id=$project_item_id" "One $project_term"] "New $task_term"]
+ set title "[_ project-manager.Add_task_term_lower]"
+ set context [list [list "one?project_item_id=$project_item_id" "[pm::project::name -project_item_id $project_item_id]"] "[_ project-manager.New_task_term]"]
- permission::require_permission \
- -party_id $user_id \
- -object_id $package_id \
- -privilege create
+ permission::require_permission -party_id $user_id -object_id $project_item_id -privilege create
}
@@ -162,12 +159,6 @@
if {[string is true $edit_p]} {
-# set today_html [pm::task::today_html \
- \# -month_target log_month \
- \# -day_target log_day \
- \# -year_target log_year]
-
-
# -------
# EDITING
# -------
@@ -187,6 +178,9 @@
foreach task $task_item_id {
+ # Check permission for user to edit the task
+ permission::require_permission -party_id $user_id -object_id $task -privilege write
+
set this_project $task_project_item_id($task)
set project_options [pm::project::select_list_of_open \
@@ -199,14 +193,9 @@
-project_id $logger_project]
set today_date [db_string today "select to_date(sysdate,'YYYY-MM-DD') from dual"]
set today_html$task " y-m-d "
+
+ set end_date_html " y-m-d "
- #set end_date_html [pm::task::date_html \
- \# -selected_day $task_end_date_day($task) \
- \# -selected_month $task_end_date_month($task) \
- \# -selected_year $task_end_date_year($task)]
-
- set end_date_html " y-m-d "
-
set assignee_html [pm::task::assignee_html \
-task_item_id $task \
-number $number]
@@ -313,12 +302,6 @@
set new_tasks [llength $process_tasks]
-# set end_date_html [pm::task::date_html]
-
-
- set end_date_html " y-m-d "
-
-
set number 1
set total_number [llength $process_tasks]
@@ -350,6 +333,7 @@
[pm::util::days_work \
-hours_work $process_estimated_hours_work_max($pt)]
+ set end_date_html " y-m-d "
# make sure deps are working.
@@ -382,13 +366,14 @@
# NEW
# ---
-set today_date [db_string today "select to_date(sysdate,'YYYY-MM-DD') from dual"]
- # set end_date_html [pm::task::date_html]
+ set today_date [db_string today "select to_date(sysdate,'YYYY-MM-DD') from dual"]
+ # set end_date_html [pm::task::date_html]
for {set i 1} {$i <= $new_tasks} {incr i} {
set end_date_html " y-m-d "
set assignee_html [pm::task::assignee_html \
+ -project_item_id $project_item_id \
-number $i]
set dependency_options_full [pm::task::options_list_html \
Index: openacs-4/packages/project-manager/www/task-assign-add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-assign-add.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/task-assign-add.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/task-assign-add.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -18,6 +18,9 @@
} -errors {
}
+# permissions
+permission::require_permission -party_id $user_id -object_id $task_item_id -privilege write
+
set present_user_id [ad_conn user_id]
set peeraddr [ad_conn peeraddr]
@@ -34,7 +37,7 @@
-role_id $role_id \
-party_id $user
- append comment "Added: [person::name -person_id $user] "
+ append comment "[_ project-manager.Added] [person::name -person_id $user] "
incr index
}
@@ -53,9 +56,9 @@
if {[llength $user_id] > 1} {
- set assign "Assignments"
+ set assign "[_ project-manager.Assignments]"
} else {
- set assign "Assignment"
+ set assign "[_ project-manager.Assignment]"
}
-ad_returnredirect -message "$assign saved" $return_url
+ad_returnredirect -message "[_ project-manager.assign_saved]" $return_url
Index: openacs-4/packages/project-manager/www/task-assign-remove.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-assign-remove.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/www/task-assign-remove.tcl 30 Apr 2005 06:59:34 -0000 1.2
+++ openacs-4/packages/project-manager/www/task-assign-remove.tcl 26 May 2005 09:34:29 -0000 1.3
@@ -1,4 +1,4 @@
-#
+#
ad_page_contract {
@@ -17,6 +17,9 @@
} -errors {
}
+# permissions
+permission::require_permission -party_id $user_id -object_id $task_item_id -privilege write
+
set present_user_id [ad_conn user_id]
set peeraddr [ad_conn peeraddr]
@@ -34,7 +37,7 @@
-party_id $user
if {[string is true $assigned_p]} {
- lappend comment_list "Removed: [person::name -person_id $user] "
+ lappend comment_list "[_ project-manager.Removed]: [person::name -person_id $user] "
}
}
@@ -56,10 +59,10 @@
}
if {[llength $user_id] > 1} {
- set assign "Assignments"
+ set assign "[_ project-manager.Assignments]"
} else {
- set assign "Assignment"
+ set assign "[_ project-manager.Assignment]"
}
-ad_returnredirect -message "$assign removed" $return_url
+ad_returnredirect -message "[_ project-manager.assign_removed]" $return_url
Index: openacs-4/packages/project-manager/www/task-calendar.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-calendar.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/task-calendar.adp 29 Apr 2005 17:43:38 -0000 1.1
+++ openacs-4/packages/project-manager/www/task-calendar.adp 26 May 2005 09:34:29 -0000 1.2
@@ -4,8 +4,8 @@
@context@
@header_stuff;noquote@
- View options
- Key
+ #project-manager.View_options#
+ #project-manager.Key#
- View options
+ #project-manager.View_options#
@hide_show_closed;noquote@
- Key
+ #project-manager.Key#
@@ -28,7 +28,7 @@
- Users to view
+ #project-manager.Users_to_view#
+
Index: openacs-4/packages/project-manager/www/task-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-calendar.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/task-calendar.tcl 30 Apr 2005 07:17:46 -0000 1.3
+++ openacs-4/packages/project-manager/www/task-calendar.tcl 26 May 2005 09:34:29 -0000 1.4
@@ -20,11 +20,11 @@
roles:multirow
}
-set user_id [auth::require_login]
+set user_id [ad_maybe_redirect_for_registration]
set date [calendar::adjust_date -date $date -julian_date $julian_date]
-set title "Task calendar"
+set title "[_ project-manager.Task_calendar]"
set context [list $title]
set header_stuff "