Index: openacs-4/packages/curriculum-central/curriculum-central.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/curriculum-central.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/curriculum-central/curriculum-central.info 2 Feb 2006 11:52:15 -0000 1.9 +++ openacs-4/packages/curriculum-central/curriculum-central.info 23 Feb 2006 08:29:54 -0000 1.10 @@ -22,13 +22,16 @@ <requires url="workflow" version="2.0.0b3"/> <callbacks> - <callback type="after-install" proc="curriculum_central::install::package_install"/> <callback type="before-uninstall" proc="curriculum_central::install::package_uninstall"/> - <callback type="after-instantiate" proc="curriculum_central::install::package_instantiate"/> + <callback type="after-install" proc="curriculum_central::install::package_install"/> <callback type="before-uninstantiate" proc="curriculum_central::install::package_uninstantiate"/> + <callback type="after-instantiate" proc="curriculum_central::install::package_instantiate"/> </callbacks> <parameters> <parameter datatype="string" min_n_values="1" max_n_values="1" name="CurriculumCentralCSS" default="/resources/curriculum-central/main-portal.css" description="Specify the location of a CSS file to use for Curriculum Central's colour scheme."/> + <parameter datatype="number" min_n_values="1" max_n_values="1" name="DefaultNumDegreeStreamYears" default="5" description="Default number of years for a degree stream."/> + <parameter datatype="number" min_n_values="1" max_n_values="1" name="DefaultNumScheduleWeeks" default="13" description="Default number of scheduled weeks in a semester."/> + <parameter datatype="number" min_n_values="1" max_n_values="1" name="InsertDefaultValues" default="1" description="Specify a value of 1 if you want default values to be inserted during package instantiation. Otherwise specify 0 if you don't want default values to be installed."/> <parameter datatype="number" min_n_values="1" max_n_values="1" name="LastNumActivityLogEntries" default="3" description="Number of recent activity log entries to display for a Unit of Study."/> </parameters> 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.45 -r1.46 --- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 22 Feb 2006 06:28:37 -0000 1.45 +++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml 23 Feb 2006 08:29:54 -0000 1.46 @@ -2,6 +2,17 @@ <message_catalog package_key="curriculum-central" package_version="0.1d" locale="en_US" charset="ISO-8859-1"> <msg key="uos">UoS</msg> + <msg key="week">Week</msg> + <msg key="research_and_inquiry">Research and Inquiry</msg> + <msg key="information_literacy">Information Literacy</msg> + <msg key="personal_and_intellectual_autonomy">Personal and Intellectual Autonomy</msg> + <msg key="ethical_social_and_professional_understanding">Ethical, Social and Professional Understanding</msg> + <msg key="communication">Communication</msg> + <msg key="high_distinction">High Distinction</msg> + <msg key="distinction">Distinction</msg> + <msg key="credit">Credit</msg> + <msg key="pass">Pass</msg> + <msg key="fail">Fail</msg> <msg key="notification">Notification</msg> <msg key="requisites_view">Requisites View</msg> <msg key="key">Key</msg> @@ -46,6 +57,7 @@ <msg key="no_years_created">No vocabulary for years have been created.</msg> <msg key="view_uos_offered_by">View Units of Study offered by:</msg> <msg key="edit_year">Edit Year</msg> + <msg key="year">Year</msg> <msg key="edit_schedule_week">Edit Schedule Week</msg> <msg key="edit_session">Edit Session</msg> <msg key="overview_lc">overview</msg> 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 -r1.1 -r1.2 --- openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql 16 Feb 2006 10:44:17 -0000 1.1 +++ openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql 23 Feb 2006 08:29:54 -0000 1.2 @@ -38,8 +38,7 @@ 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, + constraint cc_stream_uos_rel_name_nn not null, package_id integer constraint cc_stream_uos_rel_package_id_fk references apm_packages(package_id) on delete cascade Index: openacs-4/packages/curriculum-central/tcl/admin-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/admin-procs.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/curriculum-central/tcl/admin-procs.tcl 23 Feb 2006 08:29:55 -0000 1.1 @@ -0,0 +1,207 @@ +ad_library { + + Curriculum Central Admin Library + + Procedures that deal with the admin pages. + + @creation-date 2006-02-22 + @author Nick Carroll <ncarroll@ee.usyd.edu.au> + @cvs-id $Id: admin-procs.tcl,v 1.1 2006/02/23 08:29:55 ncarroll Exp $ + +} + +namespace eval curriculum_central::admin {} +namespace eval curriculum_central::admin::default_values {} + +ad_proc -private curriculum_central::admin::default_values::insert { + {-package_id:required} +} { + Inserts default admin values. + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + # Insert default values for stream rels. + curriculum_central::admin::default_values::insert_stream_rels \ + -package_id $package_id + + curriculum_central::admin::default_values::insert_years \ + -package_id $package_id + + curriculum_central::admin::default_values::insert_grade_types \ + -package_id $package_id + + curriculum_central::admin::default_values::insert_graduate_attributes \ + -package_id $package_id + + curriculum_central::admin::default_values::insert_schedule_weeks \ + -package_id $package_id +} + + +ad_proc -private curriculum_central::admin::default_values::insert_stream_rels { + {-package_id:required} +} { + Inserts default admin values for stream rels. + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + set names "#curriculum-central.core#" + lappend names "#curriculum-central.elective#" + lappend names "#curriculum-central.recommended#" + + # Insert default values for stream rels. + foreach name $names { + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list name $name]] \ + cc_stream_uos_rel + } +} + + +ad_proc -private curriculum_central::admin::default_values::insert_years { + {-package_id:required} +} { + Inserts default admin values for years. + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + set limit [parameter::get -parameter "DefaultNumDegreeStreamYears" \ + -default 5] + + set names [list] + + set x 1 + while { $x <= $limit } { + lappend names "#curriculum-central.year# $x" + incr x + } + + # Insert default values for degree stream years. + foreach name $names { + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list name $name]] \ + cc_year + } +} + + +ad_proc -private curriculum_central::admin::default_values::insert_grade_types { + {-package_id:required} +} { + Inserts default admin values for grade types. + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + + # Insert default values for grade types. + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_grade_type] \ + [list name [_ curriculum-central.high_distinction]] \ + [list lower_bound 85] \ + [list upper_bound 100]] \ + cc_uos_grade_type + + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_grade_type] \ + [list name [_ curriculum-central.distinction]] \ + [list lower_bound 75] \ + [list upper_bound 84]] \ + cc_uos_grade_type + + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_grade_type] \ + [list name [_ curriculum-central.credit]] \ + [list lower_bound 65] \ + [list upper_bound 74]] \ + cc_uos_grade_type + + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_grade_type] \ + [list name [_ curriculum-central.pass]] \ + [list lower_bound 50] \ + [list upper_bound 64]] \ + cc_uos_grade_type + + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_grade_type] \ + [list name [_ curriculum-central.fail]] \ + [list lower_bound 0] \ + [list upper_bound 49]] \ + cc_uos_grade_type +} + + +ad_proc -private curriculum_central::admin::default_values::insert_graduate_attributes { + {-package_id:required} +} { + Inserts default admin values for graduate attribute types. + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + set attribute_names [list] + lappend attribute_names \ + "#curriculum-central.research_and_inquiry#" + + lappend attribute_names \ + "#curriculum-central.information_literacy#" + + lappend attribute_names \ + "#curriculum-central.personal_and_intellectual_autonomy#" + + lappend attribute_names \ + "#curriculum-central.ethical_social_and_professional_understanding#" + + lappend attribute_names \ + "#curriculum-central.communication#" + + # Insert default values for stream rels. + foreach name $attribute_names { + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_gradattr_name] \ + [list name $name]] \ + cc_uos_gradattr_name + } +} + + +ad_proc -private curriculum_central::admin::default_values::insert_schedule_weeks { + {-package_id:required} +} { + Inserts default admin values for schedule weeks + + @param package_id Package ID of Curriculum Central that we want to + insert default values for. +} { + set limit [parameter::get -parameter "DefaultNumScheduleWeeks" \ + -default 13] + + set names [list] + + set x 1 + while { $x <= $limit } { + lappend names "#curriculum-central.week# $x" + incr x + } + + # Insert default values for scheduled weeks. + foreach name $names { + package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type cc_uos_schedule_week] \ + [list name $name]] \ + cc_uos_schedule_week + } +} 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.4 -r1.5 --- openacs-4/packages/curriculum-central/tcl/install-procs.tcl 18 Dec 2005 06:23:30 -0000 1.4 +++ openacs-4/packages/curriculum-central/tcl/install-procs.tcl 23 Feb 2006 08:29:55 -0000 1.5 @@ -17,7 +17,6 @@ } { db_transaction { curriculum_central::install::register_implementations - #bug_tracker::search::register_implementations curriculum_central::install::roles_create curriculum_central::uos::workflow_create } @@ -31,7 +30,6 @@ curriculum_central::uos::workflow_delete curriculum_central::install::roles_delete curriculum_central::install::unregister_implementations - #bug_tracker::search::unregister_implementations } } @@ -46,6 +44,12 @@ # Create the UoS workflow curriculum_central::uos::instance_workflow_create -package_id $package_id + + # Install default admin values + if { [parameter::get -parameter "InsertDefaultValues" -default 1] } { + curriculum_central::admin::default_values::insert \ + -package_id $package_id + } }