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.10 -r1.11 --- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 15 Dec 2005 06:27:40 -0000 1.10 +++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 15 Dec 2005 11:15:05 -0000 1.11 @@ -2,6 +2,7 @@ <message_catalog package_key="curriculum-central" package_version="0.1d" locale="en_US" charset="ISO-8859-1"> <msg key="uos">UoS</msg> + <msg key="go_live">Go Live</msg> <msg key="search">Search</msg> <msg key="activity_log">Activity Log</msg> <msg key="coordinate">Coordinate</msg> Index: openacs-4/packages/curriculum-central/sql/postgresql/uos-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/sql/postgresql/uos-create.sql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/curriculum-central/sql/postgresql/uos-create.sql 15 Dec 2005 06:27:41 -0000 1.4 +++ openacs-4/packages/curriculum-central/sql/postgresql/uos-create.sql 15 Dec 2005 11:15:05 -0000 1.5 @@ -346,22 +346,6 @@ p_recommended_uos_for, p_prerequisites, p_objectives, p_outcomes, p_activity_log, p_activity_log_format); - -- make the revision live - -- PERFORM content_item__set_live_revision(v_revision_id); - - -- update the cache - -- update cc_uos - -- set live_revision_id = v_revision_id, - -- uos_code = p_uos_code, - -- uos_name = p_uos_name, - -- unit_coordinator_id = p_unit_coordinator_id - -- where uos_id = p_uos_id; - - -- update the title in acs_objects - -- update acs_objects - -- set title = cc_uos__name(p_uos_id) - -- where object_id = p_uos_id; - return v_revision_id; end; ' language 'plpgsql'; 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.2 -r1.3 --- openacs-4/packages/curriculum-central/tcl/install-procs.tcl 11 Dec 2005 07:47:40 -0000 1.2 +++ openacs-4/packages/curriculum-central/tcl/install-procs.tcl 15 Dec 2005 11:15:06 -0000 1.3 @@ -75,6 +75,7 @@ curriculum_central::install::register_stream_coordinator_impl curriculum_central::install::register_format_log_title_impl curriculum_central::install::register_uos_notification_info_impl + curriculum_central::install::register_uos_go_live_impl } } @@ -98,6 +99,10 @@ acs_sc::impl::delete \ -contract_name [workflow::service_contract::notification_info] \ -impl_name "UoSNotificationInfo" + + acs_sc::impl::delete \ + -contract_name [workflow::service_contract::action_side_effect] \ + -impl_name "UoSGoLive" } } @@ -176,6 +181,26 @@ } +ad_proc -private curriculum_central::install::register_uos_go_live_impl {} { + Registers a service contract implementation for UoSGoLive. +} { + set spec { + name "UoSGoLive" + aliases { + GetObjectType curriculum_central::uos::object_type + GetPrettyName curriculum_central::uos::go_live::pretty_name + DoSideEffect curriculum_central::uos::go_live::do_side_effect + } + } + + lappend spec contract_name [workflow::service_contract::action_side_effect] + + lappend spec owner [curriculum_central::package_key] + + acs_sc::impl::new_from_spec -spec $spec +} + + ad_proc -private curriculum_central::install::roles_create {} { Creates the Stream Coordinator, Unit Coordinator and Lecturer roles. } { 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.2 -r1.3 --- openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql 15 Dec 2005 06:27:41 -0000 1.2 +++ openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql 15 Dec 2005 11:15:06 -0000 1.3 @@ -52,4 +52,11 @@ ); </querytext> </fullquery> + + <fullquery name="curriculum_central::uos::go_live::do_side_effect.get_latest_revision"> + <querytext> + SELECT latest_revision FROM cr_items WHERE item_id = :object_id + </querytext> + </fullquery> + </queryset> 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.4 -r1.5 --- openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 15 Dec 2005 06:27:41 -0000 1.4 +++ openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 15 Dec 2005 11:15:06 -0000 1.5 @@ -15,7 +15,9 @@ namespace eval curriculum_central::uos::get_unit_coordinator {} namespace eval curriculum_central::uos::get_stream_coordinator {} namespace eval curriculum_central::uos::notification_info {} +namespace eval curriculum_central::uos::go_live {} + ad_proc -public curriculum_central::uos::workflow_short_name {} { Get the short name of the workflow for Units of Study. } { @@ -118,7 +120,7 @@ privileges { write } enabled_states { submitted } assigned_states { open } - edit_fields { unit_coordinator_id } + edit_fields { role_unit_coordinator } } submit { pretty_name "#curriculum-central.submit#" @@ -136,6 +138,9 @@ assigned_states { submitted } new_state closed privileges { write } + callbacks { + curriculum-central.UoSGoLive + } } reopen { pretty_name "#curriculum-central.reopen#" @@ -563,3 +568,29 @@ return [list $url $one_line $details_list $notification_subject_tag] } + + +##### +# +# UoS Go Live +# +##### + +ad_proc -private curriculum_central::uos::go_live::pretty_name {} { + return "[_ curriculum-central.go_live]" +} + + +ad_proc -private curriculum_central::uos::go_live::do_side_effect { + case_id + object_id + action_id + entry_id +} { + # Get the latest revision for the given content item. + db_1row get_latest_revision {} + + # Set the latest revision as the live revision for the given + # content item (object_id). + content::item::set_live_revision -revision_id $latest_revision +} 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.1 -r1.2 --- openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 15 Dec 2005 06:27:41 -0000 1.1 +++ openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 15 Dec 2005 11:15:06 -0000 1.2 @@ -18,9 +18,6 @@ set return_url [export_vars -base [ad_conn url] [curriculum_central::get_export_variables {uos_id} ]] -set page_title "Edit UoS" -set context [list [list . "Coordinate"] "Edit UoS"] - set case_id [workflow::case::get_id \ -object_id $uos_id \ -workflow_short_name \ @@ -56,6 +53,9 @@ -array uos \ -enabled_action_id $enabled_action_id +set page_title "$uos(uos_code) $uos(uos_name)" +set context [list [list . [_ curriculum-central.coordinate]] $page_title] + # Create the form # Create widgets for displaying UoS information that should already # have been entered by the Stream Coordinator when the UoS was