Index: openacs-4/contrib/packages/project-manager/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/index.tcl,v diff -u -N --- openacs-4/contrib/packages/project-manager/www/index.tcl 1 Mar 2005 00:01:20 -0000 1.22 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,264 +0,0 @@ -ad_page_contract { - - Main view page for projects. - - @author jader@bread.com - @author ncarroll@ee.usyd.edu.au (on first version that used CR) - @creation-date 2003-05-15 - @cvs-id $Id: index.tcl,v 1.22 2005/03/01 00:01:20 jeffd Exp $ - - @return title Page title. - @return context Context bar. - @return projects Multirow data set of projects. - @return task_term Terminology for tasks - @return task_term_lower Terminology for tasks (lower case) - @return project_term Terminology for projects - @return project_term_lower Terminology for projects (lower case) - -} { - orderby_project:optional - {status_id:integer,optional} - {searchterm ""} - category_id:multiple,optional - {format "normal"} - {assignee_id:integer,optional} -} -properties { - - context:onevalue - projects:multirow - write_p:onevalue - create_p:onevalue - admin_p:onevalue - task_term:onevalue - task_term_lower:onevalue - project_term:onevalue - project_term_lower:onevalue -} - -# --------------------------------------------------------------- # - -# 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 exporting_vars { status_id category_id assignee_id orderby_project format } -set hidden_vars [export_vars -form $exporting_vars] - - -# set up context bar -set context [list] - -# the unique identifier for this package -set package_id [ad_conn package_id] -set user_id [auth::require_login] - -# permissions -permission::require_permission -party_id $user_id -object_id $package_id -privilege read - -set write_p [permission::permission_p -object_id $package_id -privilege write] -set create_p [permission::permission_p -object_id $package_id -privilege create] -set admin_p [permission::permission_p -object_id $package_id -privilege admin] - -# root CR folder -set root_folder [db_string get_root "select pm_project__get_root_folder (:package_id, 'f')"] - -# Projects, using list-builder --------------------------------- - -# set default values -if {![exists_and_not_null status_id]} { - set status_id [pm::project::default_status_open] -} - - -# We want to set up a filter for each category tree. - -set export_vars [export_vars -form {status_id orderby}] - -if {[exists_and_not_null category_id]} { - set temp_category_id $category_id -} else { - set temp_category_id "" -} - -set category_select [pm::util::category_selects \ - -export_vars $export_vars \ - -category_id $temp_category_id \ - -package_id $package_id \ - ] - -set assignees_filter [pm::project::assignee_filter_select -status_id $status_id] - -if {![empty_string_p $searchterm]} { - - if {[regexp {([0-9]+)} $searchterm match query_digits]} { - set search_term_where " (upper(p.title) like upper('%$searchterm%') - or p.item_id = :query_digits) " - } else { - set search_term_where " upper(p.title) like upper('%$searchterm%')" - } -} else { - set search_term_where "" -} - - -set default_orderby [pm::project::index_default_orderby] - -if {[exists_and_not_null orderby_project]} { - pm::project::index_default_orderby \ - -set $orderby_project -} - -# Get url of the organizations package if it has been mounted for the links on the index page. -set organizations_url [util_memoize [list site_node::get_package_url -package_key organizations]] -if {[empty_string_p $organizations_url]} { - set organization_column "@projects.customer_name@" -} else { - set organization_column "@projects.customer_name@" -} - - -template::list::create \ - -name projects \ - -multirow projects \ - -selected_format $format \ - -key project_item_id \ - -elements { - project_name { - label "Project name" - link_url_col item_url - link_html { title "View this project version" } - } - customer_name { - label "Customer" - display_template " -$organization_column@projects.customer_name@ -" - } - earliest_finish_date { - label "Earliest finish" - display_template "@projects.earliest_finish_date@@projects.earliest_finish_date@" - } - latest_finish_date { - label "Latest Finish" - display_template "@projects.latest_finish_date@@projects.latest_finish_date@" - } - actual_hours_completed { - label "Hours completed" - display_template "@projects.actual_hours_completed@/@projects.estimated_hours_total@" - } - category_id { - display_template "" - } - } \ - -actions [list "Add project" "add-edit" "Add project" "Customers" "[site_node::get_package_url -package_key organizations]" "View customers"] \ - -bulk_actions [list "Close" "bulk-close" "Close project"] \ - -sub_class { - narrow - } \ - -filters { - searchterm { - label "Search" - where_clause {$search_term_where} - } - status_id { - label "Status" - values {[pm::status::project_status_select]} - where_clause {s.status_id = :status_id} - } - assignee_id { - label "Assignee" - values {$assignees_filter} - where_clause {pa.party_id = :assignee_id} - } - category_id { - label Categories - where_clause {c.category_id = [join [value_if_exists category_id] ","]} - } - } \ - -orderby { - default_value $default_orderby - project_name { - label "Project name" - orderby_desc "upper(p.title) desc" - orderby_asc "upper(p.title) asc" - default_direction asc - } - customer_name { - label "Customer Name" - orderby_desc "upper(o.name) desc, earliest_finish_date desc" - orderby_asc "upper(o.name) asc, earliest_finish_date asc" - default_direction asc - } - category_id { - label "Categories" - orderby_desc "c.category_name desc" - orderby_asc "c.category_name asc" - default_direction asc - } - earliest_finish_date { - label "Earliest finish" - orderby_desc "p.earliest_finish_date desc" - orderby_asc "p.earliest_finish_date asc" - default_direction asc - } - latest_finish_date { - label "Latest finish" - orderby_desc "p.latest_finish_date desc" - orderby_asc "p.latest_finish_date asc" - default_direction asc - } - actual_hours_completed { - label "Hours completed" - orderby_desc "p.actual_hours_completed desc" - orderby_asc "p.actual_hours_completed asc" - default_direction asc - } - } \ - -formats { - normal { - label "Table" - layout table - row { - project_name {} - customer_name {} - category_id {} - earliest_finish_date {} - latest_finish_date {} - actual_hours_completed {} - } - } - csv { - label "CSV" - output csv - page_size 0 - row { - project_name {} - customer_name {} - category_id {} - earliest_finish_date {} - latest_finish_date {} - actual_hours_completed {} - } - } - } \ - -orderby_name orderby_project \ - -html { - width 100% - } - -# Note: On oracle it you get "ORA-03113: end-of-file on communication channel" -# please drop the index cat_object_map_i. Unique indexes are not allowed in organization index tables - -db_multirow -extend { item_url } projects project_folders { -} { - set item_url [export_vars -base "one" {project_item_id}] -} - - - -list::write_output -name projects - - -# ------------------------- END OF FILE ------------------------- #