Index: openacs-4/packages/tasks/catalog/tasks.de_DE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/catalog/tasks.de_DE.ISO-8859-1.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/tasks/catalog/tasks.de_DE.ISO-8859-1.xml 8 Sep 2005 10:00:19 -0000 1.2 +++ openacs-4/packages/tasks/catalog/tasks.de_DE.ISO-8859-1.xml 14 Oct 2005 13:50:05 -0000 1.3 @@ -11,7 +11,7 @@ Spezifische Aufgabe Datum L�schen - L�schen $task_pretty + L�schen %task_pretty% Erledigt F�llig Follow Up Anruf @@ -20,19 +20,19 @@ Eine Aufgabe und einen weitere hinzuf�gen Aufgabe hinzuf�gen} save} {{<#_ Add Task und eine weitere hinzuf�gen Sind Sie sich sicher, dass Sie diesen Prozess l�schen wollen: %one_line% ? - Sind Sie sich sicher, dass Sie $task2_pretty l�schen wollen? + Sind Sie sich sicher, dass Sie %task2_pretty% l�schen wollen? Vom Recruiting System l�schen Es ist entweder eine Standardaufgabe oder eine spezifische Aufgabe (custom task) erforderlich. - Urspr�nglich erzeugt von <a href=\"[contact::url -party_id $creation_id]\">[contact::name -party_id $creation_id]</a> + Urspr�nglich erzeugt von <a href=\"%creator_url%\">%creator_name%</a> Unterlagen zuschicken Notiz/Brief zuschicken Standardaufgaben k�nnen nicht in Kombination mit spezifischen Aufgaben (custom tasks) genutzt werden - Die Aufgabe <a href=\"/tasks/${task_url}\">$task</a> wurde hinzugef�gt - Die Aufgabe wurde <a href=\"/tasks/${task_url}\">$title</a> upgedated - Die Aufgabe \"[lindex $task_titles 0]\" wurde gel�scht - Die Aufgaben \"$task\" wurden zu $names hinzugef�gt - Die Aufgaben ${task_list} wurden gel�scht - Diese $num_entries Aufgaben + Die Aufgabe <a href=\"/tasks/%task_url%\">%task%</a> wurde hinzugef�gt + Die Aufgabe wurde <a href=\"/tasks/%task_url%\">%title%</a> upgedated + Die Aufgaben \"%task%\" wurden zu %names% hinzugef�gt + Die Aufgabe \"%task_title%\" wurde gel�scht + Die Aufgaben %task_list% wurden gel�scht + Diese %num_entries% Aufgaben Update und Anlegen neue Aufgabe Sie sind mehr Index: openacs-4/packages/tasks/lib/tasks-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks-portlet.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/tasks/lib/tasks-portlet.adp 13 Oct 2005 16:00:29 -0000 1.1 +++ openacs-4/packages/tasks/lib/tasks-portlet.adp 14 Oct 2005 13:50:07 -0000 1.2 @@ -8,7 +8,7 @@ Index: openacs-4/packages/tasks/lib/tasks.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/lib/tasks.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/tasks/lib/tasks.tcl 12 Oct 2005 13:24:47 -0000 1.8 +++ openacs-4/packages/tasks/lib/tasks.tcl 14 Oct 2005 13:50:07 -0000 1.9 @@ -4,12 +4,14 @@ if {![exists_and_not_null party_id]} { # the user_id is used for the filter. user_id2 for comparison - set user_id [ad_conn user_id] + if {![exists_and_not_null user_id]} { + set user_id [ad_conn user_id] + } set contact_id $user_id set user_id2 $user_id - - # We don't know if the party has been provided, so we first set it to empty - # so we can unset it later :). + if {$user_id == [ad_conn user_id]} { + set user_id2 "" + } set party_id "" unset party_id set page_query_name own_tasks_pagination @@ -21,27 +23,42 @@ set query_name contact_tasks } +set package_id [apm_package_id_from_key tasks] + +if { ![exists_and_not_null tasks_interval] } { + set tasks_interval 7 +} if { ![exists_and_not_null orderby] } { set orderby "priority,desc" } if { ![exists_and_not_null status_id] } { set status_id "1" } +if { ![exists_and_not_null package_id] } { + set package_id [ad_conn package_id] +} +if { ![exists_and_not_null row_list] } { + set row_list {checkbox {} deleted_p {} priority {} title {} process_title {} contact_name {} date {} creation_user {}} +} +if {[exists_and_not_null search_id]} { + set group_where_clause "" +} else { + set group_where_clause "and group_distinct_member_map.group_id = [contacts::default_group]" +} set done_url [export_vars -url -base "${tasks_url}contact" {orderby {status_id 2} {party_id $contact_id}}] set not_done_url [export_vars -url -base "${tasks_url}contact" {orderby {status_id 1} {party_id $contact_id}}] set return_url "[ad_conn url]?[ad_conn query]" set add_url [export_vars -base "${tasks_url}task" {return_url orderby status_id {party_id $contact_id}}] set bulk_actions [list "[_ tasks.Reassign]" "reassign-task" "[_ tasks.Reassign_selected]"] -set package_id [ad_conn package_id] -set group_id "11428599" template::list::create \ -name tasks \ -multirow tasks \ -bulk_actions $bulk_actions \ -bulk_action_method post \ -bulk_action_export_vars { } \ + -selected_format normal \ -key task_id \ -page_size "50" \ -page_flush_p 0 \ @@ -82,6 +99,10 @@ } } + contact_name { + label "[_ tasks.Contact]" + link_url_eval $contact_url + } date { label "[_ tasks.Date]" display_template { @@ -141,15 +162,28 @@ orderby_asc "lower(p.title) asc, t.priority desc, t.due_date asc" default_direction asc } + contact_name { + label "[_ tasks.Created_By]" + orderby_desc "lower(contact__name(t.party_id)) desc, t.due_date asc, t.priority, lower(t.title)" + orderby_asc "lower(contact__name(t.party_id)) asc, t.due_date asc, t.priority, lower(t.title)" + default_direction asc + } creation_user { label "[_ tasks.Created_By]" orderby_desc "lower(contact__name(ao.creation_user)) desc, t.due_date asc, t.priority, lower(t.title)" orderby_asc "lower(contact__name(ao.creation_user)) asc, t.due_date asc, t.priority, lower(t.title)" default_direction asc } + } -formats { + normal { + label "Table" + layout table + row $row_list + } } db_multirow -extend {creation_user_url contact_url complete_url done_p task_plus_url task_minus_url description_html task_url} -unclobber tasks $query_name {} { + set contact_url [contact::url -party_id $party_id] set creation_user_url [contact::url -party_id $creation_user] regsub -all "/tasks/" $creation_user_url "/contacts/" creation_user_url set complete_url [export_vars -base "${tasks_url}mark-completed" -url {task_id orderby {party_id $contact_id} return_url}] Index: openacs-4/packages/tasks/sql/postgresql/tasks-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/sql/postgresql/tasks-create.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/tasks/sql/postgresql/tasks-create.sql 7 Oct 2005 21:41:44 -0000 1.3 +++ openacs-4/packages/tasks/sql/postgresql/tasks-create.sql 14 Oct 2005 13:50:07 -0000 1.4 @@ -1,120 +1,3 @@ -create table tasks ( - task_id integer - constraint tasks_pk - primary key - constraint tasks_task_fk - references acs_objects, - party_id integer - constraint tasks_party_fk - references parties, - object_id integer - constraint tasks_object_fk - references acs_objects, - process_id integer - constraint tasks_process_fk - references pm_process, - title varchar(1000), - description text, - mime_type varchar(200) default 'text/plain' - constraint tasks_mime_type_fk - references cr_mime_types, - comment text, - due_date timestamptz, - priority integer default 0, - status char(1) default 'o' - constraint tasks_status_ck - check (status in ('o', 'c')) -); - - -create index tasks_party_idx on tasks(party_id); -create index tasks_object_idx on tasks(object_id); -create index tasks_due_date_idx on tasks(due_date); -create index tasks_status_idx on tasks(status); - -create function inline_0 () -returns integer as' -begin - perform acs_object_type__create_type( - ''tasks_task'', - ''Tasks Task'', - ''Tasks Tasks'', - ''acs_object'', - ''tasks'', - ''task_id'', - ''tasks'', - ''f'', - null, - null - ); - - return null; -end;' language 'plpgsql'; - -select inline_0(); -drop function inline_0(); - -select define_function_args('tasks__new','party_id,object_id,process_id,title,description,mime_type;text/plain,comment,due_date,priority;0,status;o,creation_date;now,creation_user,creation_ip,package_id'); - -create or replace function tasks__new ( - tasks.party_id%TYPE, - tasks.object_id%TYPE, - tasks.process_id%TYPE, - tasks.title%TYPE, - tasks.description%TYPE, - tasks.mime_type%TYPE, - tasks.comment%TYPE, - tasks.due_date%TYPE, - tasks.priority%TYPE, - tasks.status%TYPE, - acs_objects.creation_date%TYPE, - acs_objects.creation_user%TYPE, - acs_objects.creation_ip%TYPE, - acs_objects.package_id%TYPE -) returns integer as ' -declare - new__party_id alias for $1; - new__object_id alias for $2; - new__process_id alias for $3; - new__title alias for $4; - new__description alias for $5; - new__mime_type alias for $6; - new__comment alias for $7; - new__due_date alias for $8; - new__priority alias for $9; - new__status alias for $10; - new__creation_date alias for $11; - new__creation_user alias for $12; - new__creation_ip alias for $13; - new__package_id alias for $14; - v_task_id tasks.task_id%TYPE; -begin - -- Create the object - - v_task_id := acs_object__new( - null, - 'tasks_task', - new__creation_date, - new__creation_user, - new__creation_ip, - new__package_id, - ''t'', - new__title, - new__package_id - ); - - insert into tasks ( - task_id, folder_id, party_id, object_id, process_id, title, description, mime_type, - comment, due_date, priority, status - ) values ( - v_task_id, new__folder_id, new__party_id, new__object_id, new__process_id, new__title, - new__description, new__mime_type, new__comment, new__due_date, new__priority, new__status - ); - - return v_task_id; - -end;' language 'plpgsql'; - ----------------------------------------------------- -- -- Create the data model for the timecard application Index: openacs-4/packages/tasks/www/contact.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/tasks/www/contact.adp 13 Oct 2005 16:05:23 -0000 1.6 +++ openacs-4/packages/tasks/www/contact.adp 14 Oct 2005 13:50:07 -0000 1.7 @@ -4,12 +4,14 @@
- + search_id="" + row_list="@row_list@" + query=""/>
Index: openacs-4/packages/tasks/www/contact.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/contact.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/tasks/www/contact.tcl 7 Oct 2005 21:46:39 -0000 1.4 +++ openacs-4/packages/tasks/www/contact.tcl 14 Oct 2005 13:50:07 -0000 1.5 @@ -33,3 +33,4 @@ set package_id [ad_conn package_id] set admin_p [permission::permission_p -object_id $package_id -privilege admin] set context {} +set row_list {checkbox {} deleted_p {} priority {} title {} process_title {} date {} creation_user {}} Index: openacs-4/packages/tasks/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index-postgresql.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/tasks/www/index-postgresql.xql 7 Oct 2005 21:46:39 -0000 1.4 +++ openacs-4/packages/tasks/www/index-postgresql.xql 14 Oct 2005 13:50:07 -0000 1.5 @@ -28,8 +28,8 @@ left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), group_distinct_member_map where parties.party_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id = :group_id - [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) + $group_where_clause + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] ) [template::list::page_where_clause -and -name tasks -key t.task_id] [template::list::orderby_clause -orderby -name tasks] @@ -52,8 +52,8 @@ left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), group_distinct_member_map where parties.party_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id = :group_id - [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) + $group_where_clause + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] ) [template::list::orderby_clause -orderby -name tasks] @@ -75,8 +75,8 @@ left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id), group_distinct_member_map where parties.party_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id = :group_id - [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] )) + $group_where_clause + [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] ) Index: openacs-4/packages/tasks/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/tasks/www/index.adp 13 Oct 2005 16:05:23 -0000 1.6 +++ openacs-4/packages/tasks/www/index.adp 14 Oct 2005 13:50:07 -0000 1.7 @@ -5,15 +5,14 @@
- + page_size="@page_size@">
\ No newline at end of file Index: openacs-4/packages/tasks/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/index.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/www/index.tcl 7 Oct 2005 21:46:39 -0000 1.5 +++ openacs-4/packages/tasks/www/index.tcl 14 Oct 2005 13:50:07 -0000 1.6 @@ -5,17 +5,15 @@ @creation-date 2004-07-28 @cvs-id $Id$ } { - {orderby "due_date,asc"} + {orderby:optional ""} {format "normal"} {search_id:integer ""} {query ""} {page:optional "1"} {page_size:integer "25"} {tasks_interval:integer "7"} - {page_flush_p "f"} } - set title "[_ tasks.Tasks]" set context {} set user_id [ad_conn user_id] @@ -24,140 +22,7 @@ set return_url [export_vars -base $url -url {orderby format search_id query page page_size tasks_interval {page_flush_p t}}] -if { $orderby == "contact_name,asc" } { - set name_order 0 -} elseif { $orderby == "contact_name,desc" } { - set name_order 1 -} else { - set name_order 0 -} - -set first_p 1 -foreach page_s [list 25 50 100 500] { - if { [string is false $first_p] } { - append name_label " | " - } - if { $page_size == $page_s } { - append name_label $page_s - } else { - append name_label "$page_s" - } - set first_p 0 -} - -set admin_p [permission::permission_p -object_id $package_id -privilege admin] -set context {} - -template::list::create \ - -name tasks \ - -multirow tasks \ - -key task_id \ - -page_size "50" \ - -page_flush_p $page_flush_p \ - -page_query_name tasks_pagination \ - -elements { - priority { - label "[_ tasks.Priority]" - } - contact_name { - label "[_ tasks.Contact]" - link_url_eval $contact_url - } - title { - label "[_ tasks.Task]" - display_template { - @tasks.title@ - -

- @tasks.description_html;noquote@ -

-
- } - } - process_title { - label "[_ tasks.Process]" - } - due_date { - label "[_ tasks.Due]" - display_template { - - « @tasks.due_date;noquote@ » - - } - } - } \ - -bulk_actions [list \ - "[_ tasks.Mark_Completed]" "mark-completed" "[_ tasks.Mark_Completed]" \ - "[_ tasks.Delete]" "delete" "[_ tasks.Delete]" \ - "[_ contacts.Mail_Merge]" "mail-merge" "[_ contacts.lt_E-mail_or_Mail_the_se]" \ - ]\ - -bulk_action_export_vars { - {return_url} - } -pass_properties { } \ - -sub_class { - narrow - } \ - -filters { - search_id {} - query {} - page_size {} - tasks_interval {} - } \ - -orderby { - default_value $orderby - due_date { - label "Due" - orderby_desc "t.due_date desc, t.priority, lower(t.title)" - orderby_asc "t.due_date asc, t.priority, lower(t.title)" - default_direction asc - } - priority { - label "Priority" - orderby_desc "t.priority desc, t.due_date asc, lower(t.title)" - orderby_asc "t.priority asc, t.due_date asc, lower(t.title)" - default_direction desc - } - title { - label "Task" - orderby_desc "lower(t.title) desc, t.priority desc, t.due_date asc" - orderby_asc "lower(t.title) asc, t.priority desc, t.due_date asc" - default_direction asc - } - contact_name { - label "Contact" - orderby_asc "lower(contact__name(t.party_id,'1'::boolean)) asc" - orderby_desc "lower(contact__name(t.party_id,'0'::boolean)) asc" - default_direction asc - } - process_title { - label "Process" - orderby_desc "lower(p.title) desc, t.priority desc, t.due_date asc" - orderby_asc "lower(p.title) asc, t.priority desc, t.due_date asc" - default_direction asc - } - } - -db_multirow -extend { contact_url description_html task_url task_plus_url task_minus_url } -unclobber tasks tasks_select {} { - set contact_url "/contacts/${party_id}/" - set task_url [export_vars -base "task" -url {orderby status_id task_id}] - set task_plus_url [export_vars -base "task-interval" -url {{action plus} {days 7} task_id status_id orderby return_url}] - set task_minus_url [export_vars -base "task-interval" -url {{action minus} {days 7} task_id status_id orderby return_url}] - - regsub -all "\r|\n" $description {LiNeBrEaK} description - set description_html [ad_html_text_convert \ - -from $mime_type \ - -to "text/html" \ - -truncate_len "400" \ - -more "[_ tasks.more]" \ - -- $description] - regsub -all {LiNeBrEaKLiNeBrEaK} $description_html {LiNeBrEaK} description_html - regsub -all {LiNeBrEaK} $description_html {\ \ \¶\ } description_html - regsub -all " " $due_date {\ } due_date -} - -set tasks_count [db_string tasks_count {} -default {0}] - set package_id [site_node::get_element -url "/contacts" -element object_id] if { [exists_and_not_null search_id] } { contact::search::log -search_id $search_id @@ -174,7 +39,7 @@ {search_id:integer(select),optional {label ""} {options $search_options} {html {onChange "javascript:acs_FormRefresh('search')"}}} {query:text(text),optional {label ""} {html {size 20 maxlength 255}}} {save:text(submit) {label {[_ contacts.Search]}} {value "go"}} - {tasks_interval:integer(text),optional {label "  [_ tasks.View_next]"} {after_html "days    Results: $tasks_count"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} + {tasks_interval:integer(text),optional {label "  [_ tasks.View_next]"} {after_html "days"} {html {size 2 maxlength 3 onChange "javascript:acs_FormRefresh('search')"}}} } if { [parameter::get -boolean -parameter "ForceSearchBeforeAdd" -default "0"] } { @@ -194,3 +59,4 @@ } -after_submit { } +set orderby "" Index: openacs-4/packages/tasks/www/task.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/tasks/www/Attic/task.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/tasks/www/task.tcl 6 Oct 2005 16:31:55 -0000 1.5 +++ openacs-4/packages/tasks/www/task.tcl 14 Oct 2005 13:50:07 -0000 1.6 @@ -89,23 +89,39 @@ set status_options [db_list_of_lists status_options { }] set status_options [lang::util::localize $status_options] -ad_form -name add_edit \ - -cancel_url $return_url \ - -cancel_label "[_ tasks.Cancel]" \ - -edit_buttons $edit_buttons \ - -form { - task_id:key - return_url:text(hidden),optional - orderby:text(hidden),optional - status_id:integer(hidden),optional - party_id:integer(hidden) - other_party_ids:text(hidden),optional - {names:text(hidden),optional {label "[_ tasks.Add_task_to]"}} - {assign_party_id:text(select),optional +ad_form -name add_edit -form { + task_id:key + return_url:text(hidden),optional + orderby:text(hidden),optional + status_id:integer(hidden),optional + party_id:integer(hidden) + other_party_ids:text(hidden),optional + {names:text(hidden),optional {label "[_ tasks.Add_task_to]"}} +} + +if {[exists_and_not_null party_id] && $party_id != $user_id} { + ad_form -extend -name add_edit -form { + {assign_party_id:text(hidden) {value $party_id}} + {assign_party:text(inform),optional {label "[_ tasks.Add_task_to]"} + {value $names} + } + } +} else { + ad_form -extend -name add_edit -form { + {assign_party_id:text(select),optional + {label "[_ tasks.Add_task_to]"} {options { $assign_parties_options}} {help_text "[_ tasks.Select_the_user_to]"} } + } +} + +ad_form -extend -name add_edit \ + -cancel_url $return_url \ + -cancel_label "[_ tasks.Cancel]" \ + -edit_buttons $edit_buttons \ + -form { {task_prescribed:text(select),optional {label "[_ tasks.Standard_Task]"} {options { @@ -200,7 +216,6 @@ } -new_data { foreach party $all_parties { - set task_id [tasks::task::new \ -title ${task} \ -description ${description} \