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 @@
+
+
+
+ postgresql 7.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 @@
+
+
+
+ postgresql 7.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 @@
+
+
+
+ postgresql 7.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