Index: openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml,v diff -u -r1.11 -r1.12 --- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 15 Dec 2005 11:15:05 -0000 1.11 +++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 18 Dec 2005 06:23:30 -0000 1.12 @@ -6,11 +6,6 @@ Search Activity Log Coordinate - resolution code to log title - Fixed - Won't fix - Postponed - Need info UoS info UoS Code UoS Name Index: openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl 15 Dec 2005 06:27:41 -0000 1.3 +++ openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl 18 Dec 2005 06:23:30 -0000 1.4 @@ -147,37 +147,3 @@ return [concat $export_vars $extra_vars] } - - -##### -# -# Resolution -# -##### - -ad_proc curriculum_central::resolution_get_options {} { - return \ - [list \ - [list [_ curriculum-central.fixed] fixed ] \ - [list [_ curriculum-central.wont_fix] wontfix ] \ - [list [_ curriculum-central.postponed] postponed ] \ - [list [_ curriculum-central.need_info] needinfo ] \ - ] - -} - -ad_proc curriculum_central::resolution_pretty { - resolution -} { - array set resolution_codes { - fixed curriculum-central.fixed - wontfix curriculum-central.wont_fix - postponed curriculum-central.postponed - needinfo curriculum-central.need_info - } - if { [info exists resolution_codes($resolution)] } { - return [_ $resolution_codes($resolution)] - } else { - return "" - } -} Index: openacs-4/packages/curriculum-central/tcl/install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/install-procs.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/curriculum-central/tcl/install-procs.tcl 15 Dec 2005 11:15:06 -0000 1.3 +++ openacs-4/packages/curriculum-central/tcl/install-procs.tcl 18 Dec 2005 06:23:30 -0000 1.4 @@ -71,8 +71,17 @@ ad_proc -private curriculum_central::install::register_implementations {} { db_transaction { - curriculum_central::install::register_unit_coordinator_impl - curriculum_central::install::register_stream_coordinator_impl + # Unit Coordinator SC implementations + curriculum_central::install::register_unit_coordinator_default_assignees_impl + curriculum_central::install::register_unit_coordinator_assignee_pick_list_impl + curriculum_central::install::register_unit_coordinator_assignee_subquery_impl + + # Stream Coordinator SC implementations + curriculum_central::install::register_stream_coordinator_default_assignees_impl + curriculum_central::install::register_stream_coordinator_assignee_pick_list_impl + curriculum_central::install::register_stream_coordinator_assignee_subquery_impl + + # Other SC implementations curriculum_central::install::register_format_log_title_impl curriculum_central::install::register_uos_notification_info_impl curriculum_central::install::register_uos_go_live_impl @@ -83,20 +92,46 @@ ad_proc -private curriculum_central::install::unregister_implementations {} { db_transaction { + # Delete Unit Coordinator SC implementations acs_sc::impl::delete \ - -contract_name [workflow::service_contract::activity_log_format_title] \ - -impl_name "FormatLogTitle" + -contract_name \ + [workflow::service_contract::role_assignee_subquery] \ + -impl_name "UnitCoordinator_Assignee_SubQuery" acs_sc::impl::delete \ - -contract_name [workflow::service_contract::role_default_assignees] \ - -impl_name "UnitCoordinator" + -contract_name \ + [workflow::service_contract::role_assignee_pick_list] \ + -impl_name "UnitCoordinator_Assignee_PickList" acs_sc::impl::delete \ - -contract_name [workflow::service_contract::role_default_assignees] \ - -impl_name "StreamCoordinator" + -contract_name \ + [workflow::service_contract::role_default_assignees] \ + -impl_name "UnitCoordinator_Default_Assignees" + # Delete Stream Coordinator SC implementations + acs_sc::impl::delete \ + -contract_name \ + [workflow::service_contract::role_assignee_subquery] \ + -impl_name "StreamCoordinator_Assignee_SubQuery" acs_sc::impl::delete \ + -contract_name \ + [workflow::service_contract::role_assignee_pick_list] \ + -impl_name "StreamCoordinator_Assignee_PickList" + + acs_sc::impl::delete \ + -contract_name \ + [workflow::service_contract::role_default_assignees] \ + -impl_name "StreamCoordinator_Default_Assignees" + + + # Delete other SC implementations + acs_sc::impl::delete \ + -contract_name \ + [workflow::service_contract::activity_log_format_title] \ + -impl_name "FormatLogTitle" + + acs_sc::impl::delete \ -contract_name [workflow::service_contract::notification_info] \ -impl_name "UoSNotificationInfo" @@ -145,10 +180,10 @@ } -ad_proc -private curriculum_central::install::register_unit_coordinator_impl {} { +ad_proc -private curriculum_central::install::register_unit_coordinator_default_assignees_impl {} { set spec { - name "UnitCoordinator" + name "UnitCoordinator_Default_Assignees" aliases { GetObjectType curriculum_central::uos::object_type GetPrettyName curriculum_central::uos::get_unit_coordinator::pretty_name @@ -163,12 +198,48 @@ } -ad_proc -private curriculum_central::install::register_stream_coordinator_impl {} { +ad_proc -private curriculum_central::install::register_unit_coordinator_assignee_pick_list_impl {} { set spec { - name "StreamCoordinator" + name "UnitCoordinator_Assignee_PickList" aliases { GetObjectType curriculum_central::uos::object_type + GetPrettyName curriculum_central::uos::get_unit_coordinator::pretty_name + GetPickList curriculum_central::uos::get_unit_coordinator::get_assignees + } + } + + lappend spec contract_name [workflow::service_contract::role_assignee_pick_list] + lappend spec owner [curriculum_central::package_key] + + acs_sc::impl::new_from_spec -spec $spec +} + + +ad_proc -private curriculum_central::install::register_unit_coordinator_assignee_subquery_impl {} { + + set spec { + name "UnitCoordinator_Assignee_SubQuery" + aliases { + GetObjectType curriculum_central::uos::object_type + GetPrettyName curriculum_central::uos::get_unit_coordinator::pretty_name + GetSubquery curriculum_central::uos::get_unit_coordinator::get_subquery + } + } + + lappend spec contract_name [workflow::service_contract::role_assignee_subquery] + lappend spec owner [curriculum_central::package_key] + + acs_sc::impl::new_from_spec -spec $spec +} + + +ad_proc -private curriculum_central::install::register_stream_coordinator_default_assignees_impl {} { + + set spec { + name "StreamCoordinator_Default_Assignees" + aliases { + GetObjectType curriculum_central::uos::object_type GetPrettyName curriculum_central::uos::get_stream_coordinator::pretty_name GetAssignees curriculum_central::uos::get_stream_coordinator::get_assignees } @@ -181,6 +252,42 @@ } +ad_proc -private curriculum_central::install::register_stream_coordinator_assignee_pick_list_impl {} { + + set spec { + name "StreamCoordinator_Assignee_PickList" + aliases { + GetObjectType curriculum_central::uos::object_type + GetPrettyName curriculum_central::uos::get_stream_coordinator::pretty_name + GetPickList curriculum_central::uos::get_stream_coordinator::get_pick_list + } + } + + lappend spec contract_name [workflow::service_contract::role_assignee_pick_list] + lappend spec owner [curriculum_central::package_key] + + acs_sc::impl::new_from_spec -spec $spec +} + + +ad_proc -private curriculum_central::install::register_stream_coordinator_assignee_subquery_impl {} { + + set spec { + name "StreamCoordinator_Assignee_SubQuery" + aliases { + GetObjectType curriculum_central::uos::object_type + GetPrettyName curriculum_central::uos::get_stream_coordinator::pretty_name + GetSubquery curriculum_central::uos::get_stream_coordinator::get_subquery + } + } + + lappend spec contract_name [workflow::service_contract::role_assignee_subquery] + lappend spec owner [curriculum_central::package_key] + + acs_sc::impl::new_from_spec -spec $spec +} + + ad_proc -private curriculum_central::install::register_uos_go_live_impl {} { Registers a service contract implementation for UoSGoLive. } { Index: openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql 15 Dec 2005 11:15:06 -0000 1.3 +++ openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql 18 Dec 2005 06:23:30 -0000 1.4 @@ -19,6 +19,12 @@ + + + SELECT staff_id FROM cc_staff + + + SELECT DISTINCT coordinator_id FROM cc_stream @@ -59,4 +65,16 @@ + + + (select * from cc_users u, cc_staff s where u.user_id = s.staff_id) + + + + + + (select * from cc_users u, cc_staff s where u.user_id = s.staff_id) + + + Index: openacs-4/packages/curriculum-central/tcl/uos-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/uos-procs.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 15 Dec 2005 11:15:06 -0000 1.5 +++ openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 18 Dec 2005 06:23:30 -0000 1.6 @@ -50,13 +50,17 @@ pretty_name "#curriculum-central.stream_coordinator#" callbacks { workflow.Role_DefaultAssignees_CreationUser + curriculum-central.StreamCoordinator_Default_Assignees + curriculum-central.StreamCoordinator_Assignee_PickList + curriculum-central.StreamCoordinator_Assignee_SubQuery } } unit_coordinator { pretty_name "#curriculum-central.unit_coordinator#" callbacks { - workflow.Role_PickList_CurrentAssignees - workflow.Role_AssigneeSubquery_RegisteredUsers + curriculum-central.UnitCoordinator_Default_Assignees + curriculum-central.UnitCoordinator_Assignee_PickList + curriculum-central.UnitCoordinator_Assignee_SubQuery } } lecturer { @@ -102,7 +106,8 @@ lecturer } privileges { write } - always_enabled_p t + enabled_states { submitted } + assigned_states { open } edit_fields { contact_hours assessments @@ -125,7 +130,7 @@ submit { pretty_name "#curriculum-central.submit#" pretty_past_tense "#curriculum-central.submitted#" - assigned_role unit_coordinator + assigned_role { unit_coordinator } enabled_states { submitted } assigned_states { open } new_state submitted @@ -134,7 +139,7 @@ close { pretty_name "#curriculum-central.close#" pretty_past_tense "#curriculum-central.closed#" - assigned_role stream_coordinator + assigned_role { stream_coordinator } assigned_states { submitted } new_state closed privileges { write } @@ -147,7 +152,7 @@ pretty_past_tense "#curriculum-central.reopened#" allowed_roles { stream_coordinator unit_coordinator } enabled_states { submitted closed } - new_state open + new_state { open } privileges { write } } } @@ -482,7 +487,7 @@ ##### ad_proc -private curriculum_central::uos::format_log_title::pretty_name {} { - return "[_ curriculum-central.res_code_to_log_title]" + return "[_ curriculum-central.activity_log]" } ad_proc -private curriculum_central::uos::format_log_title::format_log_title { @@ -494,11 +499,7 @@ } { array set data $data_arraylist - if { [info exists data(resolution)] } { - return [curriculum_central::resolution_pretty $data(resolution)] - } else { - return {} - } + return {} } @@ -517,9 +518,26 @@ object_id role_id } { - return [db_list select_unit_coordinators {} -default {}] + return [db_list select_unit_coordinators {}] } +ad_proc -private curriculum_central::uos::get_unit_coordinator::get_pick_list { + case_id + object_id + role_id +} { + return [db_list select_unit_coordinators {}] +} + +ad_proc -private curriculum_central::uos::get_unit_coordinator::get_subquery { + case_id + object_id + role_id +} { + return [db_map unit_coordinator_subquery] +} + + ##### # # Get Stream Coordinator @@ -535,10 +553,26 @@ object_id role_id } { - return [db_list select_stream_coordinators {} -default {}] + return [db_list select_stream_coordinators {}] } +ad_proc -private curriculum_central::uos::get_stream_coordinator::get_pick_list { + case_id + object_id + role_id +} { + return [db_list select_stream_coordinators {}] +} +ad_proc -private curriculum_central::uos::get_stream_coordinator::get_subquery { + case_id + object_id + role_id +} { + return [db_map stream_coordinator_subquery] +} + + ##### # # Notification Info Index: openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 15 Dec 2005 11:15:06 -0000 1.2 +++ openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 18 Dec 2005 06:23:31 -0000 1.3 @@ -113,26 +113,31 @@ {contact_hours:text {label "[_ curriculum-central.contact_hours]"} {html {size 50}} + {value $uos(contact_hours)} {mode display} } {assessments:text {label "[_ curriculum-central.assessments]"} {html {size 50}} + {value $uos(assessments)} {mode display} } {online_course_content:text,optional {label "[_ curriculum-central.online_course_content]"} {html {size 50}} + {value $uos(online_course_content)} {mode display} } {objectives:text {label "[_ curriculum-central.aims_and_objectives]"} {html {size 50}} + {value $uos(objectives)} {mode display} } {outcomes:text {label "[_ curriculum-central.learning_outcomes]"} {html {size 50}} + {value $uos(outcomes)} {mode display} } {activity_log:richtext(richtext)