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.31 -r1.32 --- openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 1 Jun 2006 05:30:05 -0000 1.31 +++ openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 1 Jun 2006 12:44:03 -0000 1.32 @@ -711,16 +711,15 @@ ad_proc -public curriculum_central::uos::update_tl { -tl_id:required - -uos_id + -uos_id:required {-user_id ""} {-creation_ip ""} } { Updates the teaching and learning component for a Unit of Study. This update proc creates a new teaching and learning revision.. @param tl_id The ID of the teaching and learning object to update. - @param tl_approach_ids List of IDs that need to be mapped to the set - of teaching learning approaches (tl_id). + @param uos_id Unit of Study ID. @param user_id The ID of the user that updated the Unit of Study. @param creation_ip The IP of the user that made the update. @@ -798,16 +797,15 @@ ad_proc -public curriculum_central::uos::update_graduate_attributes { -gradattr_set_id:required - -gradattr_ids:required + -uos_id:required {-user_id ""} {-creation_ip ""} } { Updates the graduate attributes component for a Unit of Study. This update proc creates a new graduate attributes revision. @param gradattr_set_id The ID for a set of graduate attributes. - @param gradattr_ids List of selected graduate attributes that need - to be mapped to the graduate attributes set. + @param uos_id Unit of Study ID. @param user_id The ID of the user that updated the Unit of Study. @param creation_ip The IP of the user that made the update. @@ -824,11 +822,16 @@ # Set the default value for revision_id. set revision_id "" db_transaction { + # Retrieve graduate attribute infor for Unit of Study. + curriculum_central::uos::get_graduate_attributes \ + -uos_id $uos_id \ + -array uos_gradattr + set revision_id [db_exec_plsql update_ga {}] # Foreach gradattr_id map to the newly created revision_id # retrieved above. - foreach gradattr_id $gradattr_ids { + foreach gradattr_id $uos_gradattr(gradattr_ids) { db_exec_plsql map_ga_to_revision {} } } Index: openacs-4/packages/curriculum-central/www/coordinate/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/index.adp,v diff -u -r1.13 -r1.14 --- openacs-4/packages/curriculum-central/www/coordinate/index.adp 1 Jun 2006 05:41:41 -0000 1.13 +++ openacs-4/packages/curriculum-central/www/coordinate/index.adp 1 Jun 2006 12:46:39 -0000 1.14 @@ -2,9 +2,8 @@ @page_title;noquote@ @context;noquote@ -

#curriculum-central.manage_items_related_to_your_teaching_style#

+

Things to delete

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.19 -r1.20 --- openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 1 Jun 2006 05:41:41 -0000 1.19 +++ openacs-4/packages/curriculum-central/www/coordinate/uos-edit.tcl 1 Jun 2006 12:42:59 -0000 1.20 @@ -288,18 +288,24 @@ -uos_id $uos_id \ -array uos_gradattr +set ga_view_url [export_vars -url -base "iframe/ga-view" {uos_id {edit_p $edit_tl_p}}] + # Add widgets for Graduate Attributes ad_form -extend -name uos -form { {gradattr_set_id:integer(hidden),optional {value $uos_gradattr(gradattr_set_id)} } - {gradattr_ids:text(multiselect),multiple,optional + {gradattr_ids:text(inform) {label "[_ curriculum-central.graduate_attributes]"} - {options [curriculum_central::uos::graduate_attributes_get_options]} - {html {size 5}} - {values $uos_gradattr(gradattr_ids)} {mode display} - {help_text "[_ curriculum-central.help_graduate_attributes]"} + {after_html + { + + } + } } } @@ -562,7 +568,7 @@ curriculum_central::uos::update_graduate_attributes \ -gradattr_set_id $gradattr_set_id \ - -gradattr_ids $gradattr_ids + -uos_id $uos_id curriculum_central::uos::update_workload \ -workload_id $workload_id \ Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae-postgresql.xql 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,56 @@ + + + + postgresql7.4 + + + + SELECT n.uos_code + FROM cc_uos_name n, cc_uos u + WHERE u.uos_name_id = n.name_id + AND u.uos_id = :uos_id + + + + + + SELECT s.latest_revision_id + FROM cc_uos u, cc_uos_revisions r, cr_items i, cc_uos_gradattr_set s + WHERE u.uos_id = :uos_id + AND i.item_id = u.uos_id + AND r.uos_revision_id = i.latest_revision + AND s.parent_uos_id = :uos_id + + + + + + SELECT cc_uos_gradattr__map ( + :latest_revision_id, + :gradattr_id + ); + + + + + + UPDATE cc_uos_gradattr + SET name_id = :name_id, + identifier = :identifier, + description = :description, + level = :level + WHERE gradattr_id = :gradattr_id + + + + + + UPDATE acs_objects + SET modifying_user = :modifying_user, + modifying_ip = :modifying_ip, + package_id = :package_id + WHERE object_id = :gradattr_id + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.adp 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,10 @@ + +@page_title;noquote@ + + + + + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-ae.tcl 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,82 @@ +ad_page_contract { + Add/Edit a graduate attribute for a specific UoS. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-06-01 + @cvs-id $Id: ga-ae.tcl,v 1.1 2006/06/01 12:42:59 ncarroll Exp $ +} { + uos_id:integer + gradattr_id:integer,optional + {return_url "[export_vars -url -base ga-view {uos_id {edit_p 1}}]"} +} + +auth::require_login + +if { [info exists gradattr_id] } { + set page_title [_ curriculum-central.edit_graduate_attribute] +} else { + set page_title [_ curriculum-central.add_graduate_attribute] +} + +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] + +set uos_code [db_string uos_code {} -default ""] + +ad_form -name gradattr -cancel_url $return_url -form { + {gradattr_id:key(acs_object_id_seq)} + {uos_id:text(hidden) {value $uos_id}} + {return_url:text(hidden) {value $return_url}} + {identifier:text(hidden) {value $uos_code}} + {name_id:integer(select) + {options [curriculum_central::graduate_attribute_names_get_options]} + {label "[_ curriculum-central.name]" } + {help_text "[_ curriculum-central.help_enter_graduate_attribute_name]"} + } + {description:text(textarea) + {html {cols 40 rows 10}} + {label "[_ curriculum-central.description]" } + {help_text "[_ curriculum-central.help_enter_description]"} + } + {level:integer(radio) + {label "[_ curriculum-central.level]" } + {help_text "[_ curriculum-central.help_enter_graduate_attribute_level]"} + {options + {{"[_ curriculum-central.very_low]" 1} + {"[_ curriculum-central.low]" 2} + {"[_ curriculum-central.moderate]" 3} + {"[_ curriculum-central.high]" 4} + {"[_ curriculum-central.very_high]" 5}} + } + } +} -select_query { + SELECT name_id, identifier, description, level + FROM cc_uos_gradattr WHERE gradattr_id = :gradattr_id +} -new_data { + + db_transaction { + set gradattr_id [package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_gradattr] \ + [list name_id $name_id] \ + [list identifier $identifier] \ + [list description $description] \ + [list level $level]] \ + -form_id gradattr cc_uos_gradattr] + + # Retrieve the latest GA version. + db_1row latest_ga {} + # Map the gradattr_id to the latest GA version. + db_exec_plsql map_ga_to_revision {} + } + +} -edit_data { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml ga_update {} + db_dml object_update {} +} -after_submit { + ad_returnredirect $return_url + ad_script_abort +} Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del-postgresql.xql 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,19 @@ + + + + postgresql7.4 + + + + SELECT cc_uos_gradattr__del(:gradattr_id) + + + + + + UPDATE cc_uos_gradattr_map SET gradattr_id = NULL + WHERE gradattr_id = :gradattr_id + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-del.tcl 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,21 @@ +ad_page_contract { + Deletes a Graduate Attribute. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-06-01 + @cvs-id $Id: ga-del.tcl,v 1.1 2006/06/01 12:42:59 ncarroll Exp $ +} { + gradattr_id:integer + uos_id:integer + {return_url "[export_vars -url -base ga-view {uos_id {edit_p 1}}]"} +} + +set package_id [ad_conn package_id] + +db_transaction { + db_dml ga_map_update {} + db_exec_plsql ga_delete {} +} + +ad_returnredirect $return_url +ad_script_abort Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view-postgresql.xql 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,31 @@ + + + + postgresql7.4 + + + + SELECT s.gradattr_set_id, s.latest_revision_id + FROM cc_uos u, cc_uos_revisions r, cr_items i, cc_uos_gradattr_set s + WHERE u.uos_id = :uos_id + AND i.item_id = u.uos_id + AND r.uos_revision_id = i.latest_revision + AND s.parent_uos_id = :uos_id + + + + + + SELECT g.gradattr_id, n.name, g.description, g.level + FROM cc_uos_gradattr g, acs_objects o, cc_uos_gradattr_map m, + cc_uos_gradattr_name n + WHERE o.package_id = :package_id + AND g.gradattr_id = o.object_id + AND m.revision_id = :latest_revision_id + AND g.gradattr_id = m.gradattr_id + AND n.name_id = g.name_id + [template::list::orderby_clause -orderby -name "gradattrs"] + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.adp 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,9 @@ + +@page_title;noquote@ + + + + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/ga-view.tcl 1 Jun 2006 12:42:59 -0000 1.1 @@ -0,0 +1,130 @@ +ad_page_contract { + Page for listing graduate attributes for a specific UoS. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-06-01 + @cvs-id $Id: ga-view.tcl,v 1.1 2006/06/01 12:42:59 ncarroll Exp $ +} { + uos_id:integer,notnull + edit_p:integer,notnull + {orderby "name,asc"} +} + +auth::require_login + +set page_title "[_ curriculum-central.graduate_attributes]" +set context [list [list . [_ curriculum-central.coordinate]] $page_title] +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] + +if { $edit_p } { + set elements { + edit { + sub_class narrow + display_template { + + } + link_url_eval {[export_vars -url -base ga-ae { uos_id gradattr_id }]} + link_html {title "#curriculum-central.edit_graduate_attribute#"} + } + name { + label "#curriculum-central.name#" + } + level { + display_template { + + + #curriculum-central.very_low# + + + #curriculum-central.low# + + + #curriculum-central.moderate# + + + #curriculum-central.high# + + + #curriculum-central.very_high# + + + } + label "#curriculum-central.level#" + } + description { + label "#curriculum-central.description#" + html {width "100%"} + } + delete { + sub_class narrow + display_template { + + } + link_url_eval {[export_vars -base ga-del { uos_id gradattr_id }]} + link_html {title "#curriculum-central.delete_gradattr#" onclick "return confirm(\'[_ curriculum-central.want_to_delete_gradattr]\');"} + } + } + + template::list::create \ + -name gradattrs \ + -actions [list "#curriculum-central.add_graduate_attribute#" [export_vars -base ga-ae { uos_id }] "#curriculum-central.add_graduate_attribute_to_list#"] \ + -multirow gradattrs \ + -no_data "#curriculum-central.no_graduate_attributes_created#" \ + -elements $elements \ + -orderby { + name {orderby {lower(n.name)}} + } \ + -filters {uos_id {} edit_p {}} \ + -pass_properties {uos_id} +} else { + set elements { + name { + label "#curriculum-central.name#" + } + level { + display_template { + + + #curriculum-central.very_low# + + + #curriculum-central.low# + + + #curriculum-central.moderate# + + + #curriculum-central.high# + + + #curriculum-central.very_high# + + + } + label "#curriculum-central.level#" + } + description { + label "#curriculum-central.description#" + html {width "100%"} + } + } + + template::list::create \ + -name gradattrs \ + -multirow gradattrs \ + -no_data "#curriculum-central.no_graduate_attributes_created#" \ + -elements $elements \ + -orderby { + name {orderby {lower(n.name)}} + } \ + -filters {uos_id {} edit_p {}} \ + -pass_properties {uos_id} +} + +set latest_revision_id "" +db_0or1row latest_ga {} + +db_multirow gradattrs get_gradattrs {} + +ad_return_template