Index: openacs-4/packages/curriculum-central/www/stream-map.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/stream-map.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/curriculum-central/www/stream-map.tcl 16 Feb 2006 05:42:32 -0000 1.6 +++ openacs-4/packages/curriculum-central/www/stream-map.tcl 17 Feb 2006 12:50:05 -0000 1.7 @@ -6,6 +6,7 @@ @cvs-id $Id$ } { stream_id:integer + requisites_id:integer,optional } set package_id [ad_conn package_id] @@ -25,9 +26,17 @@ # Retrieve a list of Units of Study. set units_of_study [db_list_of_lists units_of_study {}] +set selected_uos_id "" +if { [info exists requisites_id] } { + set selected_uos_id $requisites_id + + # Query for UoS requisites for the selected UoS. + db_1row requisites {} +} + template::multirow create stream map_id year_id year_name \ session_id session_name core_or_not uos_id uos_code uos_name \ - year_session_group uos_details_url + year_session_group uos_details_url uos_requisites_url float_class foreach uos $units_of_study { set map_id [lindex $uos 0] @@ -39,9 +48,10 @@ set core_id [lindex $uos 6] set live_revision_id [lindex $uos 7] set session_ids [lindex $uos 8] + set uos_name_id [lindex $uos 9] foreach session_id $session_ids { - + # Get name of session_id set session_name [db_string session_name {} -default ""] @@ -50,14 +60,37 @@ set base_return_url "stream-map" set uos_details_url [export_vars -url -base uos-details {uos_id stream_id base_return_url department_id}] + # Determine style of requisites for the selected UoS, if one was + # selected. + set float_class "float" + if { $selected_uos_id ne "" } { + if { $selected_uos_id == $uos_id} { + set float_class "float selected" + } elseif { [lsearch -exact $prerequisite_ids $uos_name_id] != -1 } { + set float_class "float prerequisite" + } elseif { [lsearch -exact $assumed_knowledge_ids $uos_name_id] != -1 } { + set float_class "float assumed-knowledge" + } elseif { [lsearch -exact $corequisite_ids $uos_name_id] != -1 } { + set float_class "float corequisite" + } elseif { [lsearch -exact $prohibition_ids $uos_name_id] != -1 } { + set float_class "float prohibition" + } elseif { [lsearch -exact $no_longer_offered_ids $uos_name_id] != -1 } { + set float_class "float no-longer-offered" + } + } + + set requisites_id $uos_id + set uos_requisites_url [export_vars -url -base stream-map {requisites_id department_id stream_id}] + template::multirow append stream $map_id $year_id $year_name \ $session_id $session_name $core_id $uos_id $uos_code $uos_name \ - $year_session_group $uos_details_url + $year_session_group $uos_details_url $uos_requisites_url \ + $float_class } } # Sort stream info by increasing year and session. -template::multirow sort stream -increasing year_id session_id +template::multirow sort stream -increasing year_id session_id uos_code ad_return_template