Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae-postgresql.xql 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,66 @@ + + + + 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 t.tl_id, t.latest_revision_id + FROM cc_uos u, cc_uos_revisions r, cr_items i, cc_uos_tl t + WHERE u.uos_id = :uos_id + AND i.item_id = u.uos_id + AND r.uos_revision_id = i.latest_revision + AND t.parent_uos_id = :uos_id + + + + + + SELECT t.latest_revision_id + FROM cc_uos u, cc_uos_revisions r, cr_items i, cc_uos_tl t + WHERE u.uos_id = :uos_id + AND i.item_id = u.uos_id + AND r.uos_revision_id = i.latest_revision + AND t.parent_uos_id = :uos_id + + + + + + SELECT cc_uos_tl_method__map ( + :latest_revision_id, + :method_id + ); + + + + + + UPDATE cc_uos_tl_method + SET name_id = :name_id, + identifier = :identifier, + description = :description + WHERE method_id = :method_id + + + + + + UPDATE acs_objects + SET modifying_user = :modifying_user, + modifying_ip = :modifying_ip, + package_id = :package_id + WHERE object_id = :method_id + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.adp 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,10 @@ + +@page_title;noquote@ + + + + + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-ae.tcl 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,70 @@ +ad_page_contract { + Add/Edit a teaching and learning method for a specific UoS. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2005-11-20 + @cvs-id $Id: tl-method-ae.tcl,v 1.1 2006/06/01 05:36:59 ncarroll Exp $ +} { + uos_id:integer + method_id:integer,optional + {return_url "[export_vars -url -base tl-methods-view {uos_id {edit_p 1}}]"} +} + +auth::require_login + +if { [info exists method_id] } { + set page_title [_ curriculum-central.edit_tl_method] +} else { + set page_title [_ curriculum-central.add_tl_method] +} + +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 tl_method -cancel_url $return_url -form { + {method_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::tl_names_get_options]} + {label "[_ curriculum-central.name]" } + {help_text "[_ curriculum-central.help_enter_type_of_tl_method]"} + } + {description:text(textarea) + {html {cols 40 rows 10}} + {label "[_ curriculum-central.description]" } + {help_text "[_ curriculum-central.help_enter_description]"} + } +} -select_query { + SELECT name_id, identifier, description + FROM cc_uos_tl_method WHERE method_id = :method_id +} -new_data { + + db_transaction { + set method_id [package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_tl_method] \ + [list name_id $name_id] \ + [list identifier $identifier] \ + [list description $description]] \ + -form_id tl_method cc_uos_tl_method] + + # Retrieve the latest TL version. + db_1row latest_tl {} + # Map the method_id to the latest TL version. + db_exec_plsql map_tl_to_revision {} + } + +} -edit_data { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml tl_method_update {} + db_dml object_update {} +} -after_submit { + ad_returnredirect $return_url + ad_script_abort +} Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del-postgresql.xql 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,19 @@ + + + + postgresql7.4 + + + + SELECT cc_uos_tl__delete(:method_id) + + + + + + UPDATE cc_uos_tl_method_map SET method_id = NULL + WHERE method_id = :method_id + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-method-del.tcl 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,25 @@ +ad_page_contract { + Deletes a Teaching and Learning method. + + @param method_id The ID of the Teaching and Learning method to remove. + @param return_url Optional url to redirect to when the delete operation + is complete. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2005-12-04 + @cvs-id $Id: tl-method-del.tcl,v 1.1 2006/06/01 05:36:59 ncarroll Exp $ +} { + method_id:integer + uos_id:integer + {return_url "[export_vars -url -base tl-methods-view {uos_id {edit_p 1}}]"} +} + +set package_id [ad_conn package_id] + +db_transaction { + db_dml tl_method_map_update {} + db_exec_plsql tl_method_delete {} +} + +ad_returnredirect $return_url +ad_script_abort Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view-postgresql.xql 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,32 @@ + + + + postgresql7.4 + + + + SELECT t.tl_id, t.latest_revision_id + FROM cc_uos u, cc_uos_revisions r, cr_items i, cc_uos_tl t + WHERE u.uos_id = :uos_id + AND i.item_id = u.uos_id + AND r.uos_revision_id = i.latest_revision + AND t.parent_uos_id = :uos_id + + + + + + SELECT m.method_id, n.name, m.description + FROM cc_uos_tl_method m, acs_objects o, cc_uos_tl_method_map t, + cc_uos_tl_name n + WHERE o.package_id = :package_id + AND m.method_id = o.object_id + AND o.creation_user = :user_id + AND t.tl_revision_id = :latest_revision_id + AND m.method_id = t.method_id + AND n.name_id = m.name_id + [template::list::orderby_clause -orderby -name "methods"] + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.adp 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,9 @@ + +@page_title;noquote@ + + + + + + + Index: openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/www/coordinate/iframe/tl-methods-view.tcl 1 Jun 2006 05:36:59 -0000 1.1 @@ -0,0 +1,86 @@ +ad_page_contract { + Page for listing Teaching and Learning Approaches for a specific UoS. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2005-11-15 + @cvs-id $Id: tl-methods-view.tcl,v 1.1 2006/06/01 05:36:59 ncarroll Exp $ +} { + uos_id:integer,notnull + edit_p:integer,notnull + {orderby "name,asc"} +} + +auth::require_login + +set page_title "[_ curriculum-central.tl_approaches]" +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 tl-method-ae { uos_id method_id }]} + link_html {title "#curriculum-central.edit_tl_approach#"} + } + name { + label "#curriculum-central.name#" + } + description { + label "#curriculum-central.description#" + html {width "100%"} + } + delete { + sub_class narrow + display_template { + + } + link_url_eval {[export_vars -base tl-method-del { uos_id method_id }]} + link_html {title "#curriculum-central.delete_tl_method#" onclick "return confirm(\'[_ curriculum-central.want_to_delete_tl_method]\');"} + } + } + + template::list::create \ + -name methods \ + -actions [list "#curriculum-central.add_tl_approach#" [export_vars -base tl-method-ae { uos_id }] "#curriculum-central.add_tl_approach_to_list#"] \ + -multirow methods \ + -no_data "#curriculum-central.no_tl_approaches_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#" + } + description { + label "#curriculum-central.description#" + html {width "100%"} + } + } + + template::list::create \ + -name methods \ + -multirow methods \ + -no_data "#curriculum-central.no_tl_approaches_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_tl {} + +db_multirow methods get_methods {} + +ad_return_template