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.40 -r1.41 --- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 15 Feb 2006 11:42:59 -0000 1.40 +++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 16 Feb 2006 10:44:17 -0000 1.41 @@ -2,6 +2,16 @@ UoS + Edit Stream to UoS Relation + Add Stream to UoS Relation + Enter a name for a degree stream to UoS relation. Examples include: core; recommended; elective. + View Degree Stream Relations + Add a Degree Stream Relation + Add Relation + No Stream to UoS Relations have been created. + Add Relation to List. + Edit stream relation information. + Stream to UoS Relations All Units of Study Overview Edit UoS Name Index: openacs-4/packages/curriculum-central/sql/postgresql/curriculum-central-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/sql/postgresql/curriculum-central-create.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/curriculum-central/sql/postgresql/curriculum-central-create.sql 2 Feb 2006 11:45:49 -0000 1.3 +++ openacs-4/packages/curriculum-central/sql/postgresql/curriculum-central-create.sql 16 Feb 2006 10:44:17 -0000 1.4 @@ -14,3 +14,4 @@ \i uos-names-create.sql \i uos-create.sql \i staff-create.sql +\i stream-uos-rel-create.sql Index: openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql 16 Feb 2006 10:44:17 -0000 1.1 @@ -0,0 +1,159 @@ +-- +-- packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql +-- +-- @author Nick Carroll (nick.c@rroll.net) +-- @creation-date 2005-11-08 +-- @cvs-id $Id: stream-uos-rel-create.sql,v 1.1 2006/02/16 10:44:17 ncarroll Exp $ +-- +-- + + +create function inline_0 () +returns integer as' +begin + PERFORM acs_object_type__create_type ( + ''cc_stream_uos_rel'', -- object_type + ''#curriculum-central.stream_uos_rel#'', -- pretty_name + ''#curriculum-central.stream_uos_rels#'', -- pretty_plural + ''acs_object'', -- supertype + ''cc_stream_uos_rel'', -- table_name + ''stream_uos_rel_id'', -- id_column + null, -- package_name + ''f'', -- abstract_p + null, -- type_extension_table + ''cc_stream_uos_rel__name'' -- name_method + ); + + return 0; +end;' language 'plpgsql'; + +select inline_0 (); +drop function inline_0 (); + + +create table cc_stream_uos_rel ( + stream_uos_rel_id integer + constraint cc_stream_uos_rel_stream_uos_rel_id_fk + references acs_objects(object_id) + constraint cc_stream_uos_rel_stream_uos_rel_id_pk + primary key, + name varchar(256) + constraint cc_stream_uos_rel_name_nn not null + constraint cc_stream_uos_rel_name_un unique, + package_id integer + constraint cc_stream_uos_rel_package_id_fk + references apm_packages(package_id) on delete cascade +); + + +-- +-- Attributes for the Stream_Uos_Rel Object +-- +create function inline_1 () +returns integer as ' +begin + PERFORM acs_attribute__create_attribute ( + ''cc_stream_uos_rel'', -- object_type + ''name'', -- attribute_name + ''string'', -- datatype + ''curriculum-central.name'', -- pretty_name + ''curriculum-central.names'', -- pretty_plural + null, -- table_name + null, -- column_name + null, -- default_value + 1, -- min_n_values + 1, -- max_n_values + null, -- sort_order + ''type_specific'', -- storage + ''f'' -- static_p + ); + + return 0; +end;' +language 'plpgsql'; +select inline_1 (); +drop function inline_1 (); + + +select define_function_args('cc_stream_uos_rel__new', 'stream_uos_rel_id,name,creation_user,creation_ip,package_id'); + +create function cc_stream_uos_rel__new(integer, varchar, integer, varchar, integer) +returns integer as' + +declare + + p_stream_uos_rel_id alias for $1; + p_name alias for $2; + p_creation_user alias for $3; + p_creation_ip alias for $4; + p_package_id alias for $5; + + v_stream_uos_rel_id cc_stream_uos_rel.stream_uos_rel_id%TYPE; +begin + + v_stream_uos_rel_id := acs_object__new ( + p_stream_uos_rel_id, + ''cc_stream_uos_rel'', + now(), + p_creation_user, + p_creation_ip, + p_package_id + ); + + insert into cc_stream_uos_rel values(v_stream_uos_rel_id, p_name, p_package_id); + + PERFORM acs_permission__grant_permission( + v_stream_uos_rel_id, + p_creation_user, + ''read'' + ); + + PERFORM acs_permission__grant_permission( + v_stream_uos_rel_id, + p_creation_user, + ''write'' + ); + + return v_stream_uos_rel_id; + +end; +' language plpgsql; + + +select define_function_args('cc_stream_uos_rel__delete', 'stream_uos_rel_id'); + +create function cc_stream_uos_rel__delete (integer) +returns integer as ' +declare + p_stream_uos_rel_id alias for $1; +begin + delete from acs_permissions + where object_id = p_stream_uos_rel_id; + + delete from cc_stream_uos_rel + where stream_uos_rel_id = p_stream_uos_rel_id; + + raise NOTICE ''Deleting Stream_Uos_Rel...''; + PERFORM acs_object__delete(p_stream_uos_rel_id); + + return 0; + +end;' +language plpgsql; + + +select define_function_args('cc_stream_uos_rel__name', 'stream_uos_rel_id'); + +create function cc_stream_uos_rel__name (integer) +returns varchar as ' +declare + p_stream_uos_rel_id alias for $1; + v_stream_uos_rel_name cc_stream_uos_rel.name%TYPE; +begin + select name into v_stream_uos_rel_name + from cc_stream_uos_rel + where stream_uos_rel_id = p_stream_uos_rel_id; + + return v_stream_uos_rel_name; +end; +' language plpgsql; Index: openacs-4/packages/curriculum-central/tcl/stream-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/stream-procs-postgresql.xql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/curriculum-central/tcl/stream-procs-postgresql.xql 2 Feb 2006 11:45:49 -0000 1.5 +++ openacs-4/packages/curriculum-central/tcl/stream-procs-postgresql.xql 16 Feb 2006 10:44:17 -0000 1.6 @@ -71,4 +71,21 @@ + + + SELECT r.name, r.stream_uos_rel_id + FROM cc_stream_uos_rel r + WHERE r.package_id = :package_id + + + + + + SELECT r.name + FROM cc_stream_uos_rel r + WHERE r.package_id = :package_id + AND r.stream_uos_rel_id = :id + + + Index: openacs-4/packages/curriculum-central/tcl/stream-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/stream-procs.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/curriculum-central/tcl/stream-procs.tcl 2 Feb 2006 11:45:49 -0000 1.6 +++ openacs-4/packages/curriculum-central/tcl/stream-procs.tcl 16 Feb 2006 10:44:17 -0000 1.7 @@ -205,18 +205,13 @@ ad_proc curriculum_central::stream::stream_uos_relation_get_options {} { - Returns a two-column list of UoS to Stream relations. The list - contains hard coded values for Core, Recommended and Elective, with - values of 0, 1, and 2 respectively. + Returns a two-column list of UoS to Stream relations. @return Returns a two-column list of UoS to Stream relations. } { - set relations [list] - lappend relations "[_ curriculum-central.core] 0" - lappend relations "[_ curriculum-central.recommended] 1" - lappend relations "[_ curriculum-central.elective] 2" + set package_id [ad_conn package_id] - return $relations + return [db_list_of_lists stream_uos_rels {}] } @@ -225,16 +220,12 @@ } { Returns the pretty name for the given relation_id. - @param id The ID that corresponds to either "Core", "Recommended", - or "Elective". + @param id The ID that corresponds to a defined stream to UoS relation + name. @see curriculum_central::stream::stream_uos_relation_get_options } { - if { $id eq 0 } { - return [_ curriculum-central.core] - } elseif { $id eq 1} { - return [_ curriculum-central.recommended] - } else { - return [_ curriculum-central.elective] - } -} \ No newline at end of file + set package_id [ad_conn package_id] + + return [db_string get_name {} -default ""] +} Index: openacs-4/packages/curriculum-central/www/all-uos-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/all-uos-view.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/curriculum-central/www/all-uos-view.adp 15 Feb 2006 11:07:35 -0000 1.1 +++ openacs-4/packages/curriculum-central/www/all-uos-view.adp 16 Feb 2006 10:44:17 -0000 1.2 @@ -15,7 +15,7 @@
  • @stream.session_name@
  • Index: openacs-4/packages/curriculum-central/www/all-uos-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/all-uos-view.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/curriculum-central/www/all-uos-view.tcl 15 Feb 2006 11:42:59 -0000 1.2 +++ openacs-4/packages/curriculum-central/www/all-uos-view.tcl 16 Feb 2006 10:44:17 -0000 1.3 @@ -26,7 +26,7 @@ set units_of_study [db_list_of_lists units_of_study {}] template::multirow create stream map_id year_id year_name \ - session_id session_name core_or_not uos_id uos_code uos_name \ + session_id session_name rel_name uos_id uos_code uos_name \ year_session_group uos_details_url foreach uos $units_of_study { @@ -36,7 +36,7 @@ set uos_id [lindex $uos 3] set year_id [lindex $uos 4] set year_name [lindex $uos 5] - set core_id [lindex $uos 6] + set rel_id [lindex $uos 6] set live_revision_id [lindex $uos 7] set session_ids [lindex $uos 8] @@ -50,17 +50,17 @@ set base_return_url "all-uos-view" set uos_details_url [export_vars -url -base uos-details {uos_id stream_id base_return_url department_id}] - set core_id [curriculum_central::stream::stream_uos_relation_name \ - -id $core_id] + set rel_name [curriculum_central::stream::stream_uos_relation_name \ + -id $rel_id] template::multirow append stream $map_id $year_id $year_name \ - $session_id $session_name $core_id $uos_id $uos_code \ + $session_id $session_name $rel_name $uos_id $uos_code \ $uos_name $year_session_group $uos_details_url } } # Sort stream info by increasing year and session. -template::multirow sort stream -increasing year_id session_id +template::multirow sort stream -increasing year_id session_id uos_code ad_return_template Index: openacs-4/packages/curriculum-central/www/stream-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/stream-view.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/curriculum-central/www/stream-view.adp 13 Feb 2006 01:30:07 -0000 1.1 +++ openacs-4/packages/curriculum-central/www/stream-view.adp 16 Feb 2006 10:44:17 -0000 1.2 @@ -15,7 +15,7 @@
  • @stream.session_name@
  • Index: openacs-4/packages/curriculum-central/www/stream-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/stream-view.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/curriculum-central/www/stream-view.tcl 15 Feb 2006 11:42:59 -0000 1.3 +++ openacs-4/packages/curriculum-central/www/stream-view.tcl 16 Feb 2006 10:44:17 -0000 1.4 @@ -26,7 +26,7 @@ set units_of_study [db_list_of_lists units_of_study {}] template::multirow create stream map_id year_id year_name \ - session_id session_name core_or_not uos_id uos_code uos_name \ + session_id session_name rel_name uos_id uos_code uos_name \ year_session_group uos_details_url foreach uos $units_of_study { @@ -36,7 +36,7 @@ set uos_id [lindex $uos 3] set year_id [lindex $uos 4] set year_name [lindex $uos 5] - set core_id [lindex $uos 6] + set rel_id [lindex $uos 6] set live_revision_id [lindex $uos 7] set session_ids [lindex $uos 8] @@ -50,17 +50,17 @@ set base_return_url "stream-view" set uos_details_url [export_vars -url -base uos-details {uos_id stream_id base_return_url department_id}] - set core_id [curriculum_central::stream::stream_uos_relation_name \ - -id $core_id] + set rel_name [curriculum_central::stream::stream_uos_relation_name \ + -id $rel_id] template::multirow append stream $map_id $year_id $year_name \ - $session_id $session_name $core_id $uos_id $uos_code \ + $session_id $session_name $rel_name $uos_id $uos_code \ $uos_name $year_session_group $uos_details_url } } # Sort stream info by increasing year and session. -template::multirow sort stream -increasing year_id session_id +template::multirow sort stream -increasing year_id session_id uos_code ad_return_template Index: openacs-4/packages/curriculum-central/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/index.adp,v diff -u -r1.8 -r1.9 --- openacs-4/packages/curriculum-central/www/admin/index.adp 2 Feb 2006 11:45:49 -0000 1.8 +++ openacs-4/packages/curriculum-central/www/admin/index.adp 16 Feb 2006 10:44:17 -0000 1.9 @@ -32,6 +32,12 @@
  • #curriculum-central.add_a_session#
  • +
  • #curriculum-central.stream_to_uos_relations# + +
  • #curriculum-central.streams#