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 -N -r1.1 -r1.2 --- openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 20 Nov 2005 23:51:10 -0000 1.1 +++ openacs-4/packages/curriculum-central/tcl/uos-procs.tcl 4 Dec 2005 07:32:38 -0000 1.2 @@ -215,6 +215,82 @@ ##### # +# Workflow procs. +# +##### + +ad_proc -public curriculum_central::uos::new { + -uos_id:required + -package_id:required + -uos_code:required + -uos_name:required + -credit_value:required + -semester:required + -online_course_content + -unit_coordinator_id:required + -contact_hours:required + -assessments:required + -core_uos_for + -recommended_uos_for + -prerequisites:required + -objectives:required + -outcomes:required + -syllabus:required + -syllabus_format:required + {-user_id ""} +} { + Create a new Unit of Study, then send out notifications, starts + workflow, etc. + + @return uos_id The same uos_id passed in, for convenience. +} { + db_transaction { + if { $user_id eq ""} { + set user_id [ad_conn user_id] + } + + set uos_id [package_instantiate_object \ + -var_list [list [list uos_id $uos_id] \ + [list package_id $package_id] \ + [list user_id $user_id] \ + [list uos_code $uos_code] \ + [list uos_name $uos_name] \ + [list credit_value $credit_value] \ + [list semester $semester] \ + [list online_course_content $online_course_content] \ + [list unit_coordinator_id $unit_coordinator_id] \ + [list contact_hours $contact_hours] \ + [list assessments $assessments] \ + [list core_uos_for $core_uos_for] \ + [list recommended_uos_for $recommended_uos_for] \ + [list prerequisites $prerequisites] \ + [list objectives $objectives] \ + [list outcomes $outcomes] \ + [list syllabus $syllabus] \ + [list syllabus_format $syllabus_format]] \ + -package_name "cc_uos" \ + "cc_uos"] + + array set assign_array [list unit_coordinator $unit_coordinator_id] + + # Create a new workflow case for the given UoS. + set case_id [workflow::case::new \ + -workflow_id [workflow::get_id \ + -object_id $package_id \ + -short_name [workflow_short_name]] \ + -object_id $uos_id \ + -comment $syllabus \ + -comment_mime_type $syllabus_format \ + -user_id $user_id \ + -assignment [array get assign_array]] + + return $uos_id + } +} + + +##### +# # Format log title # #####