Index: openacs-4/packages/lorsm/www/course-structure.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/Attic/course-structure.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/lorsm/www/course-structure.tcl 21 Apr 2005 16:03:53 -0000 1.6 +++ openacs-4/packages/lorsm/www/course-structure.tcl 17 May 2005 17:03:40 -0000 1.7 @@ -16,6 +16,7 @@ } set package_id [ad_conn package_id] +set community_id [dotlrn_community::get_community_id] ad_proc -public getFolderKey { {-object_id:required} @@ -34,39 +35,7 @@ set title "[_ lorsm.Course_Structure]" -if {[db_0or1row manifest " - select - cp.man_id, - cp.course_name, - cp.identifier, - cp.version, - text 'Yes' as hello, - case - when hasmetadata = 't' then 'Yes' - else 'No' - end as man_metadata, - case - when isscorm = 't' then 'Yes' - else 'No' - end as isscorm, - cp.fs_package_id, - cp.folder_id, - cp.isshared, - acs.creation_user, - acs.creation_date, - acs.context_id, - cpmc.isenabled, - pf.format_pretty_name, - cpmc.istrackable - from - ims_cp_manifests cp, acs_objects acs, ims_cp_manifest_class cpmc, lorsm_course_presentation_formats pf - where - cp.man_id = acs.object_id - and cp.man_id = :man_id - and cp.man_id = cpmc.man_id - and cpmc.lorsm_instance_id = :package_id - and cp.parent_man_id = 0 - and cp.course_presentation_format = pf.format_id"]} { +if {[db_0or1row manifest { }]} { # Sets the variable for display. set display 1 @@ -77,32 +46,37 @@ } # Version - if {[empty_string_p $version]} { - set version "[_ lorsm.No_version_Available]" + set version [db_string get_versions { } -default 0] + + if {[string equal $version "0"]} { + set version_msg "[_ lorsm.No_version_Available]" } - # Instance - set instance [apm_package_key_from_id $fs_package_id] + if { ![empty_string_p $fs_package_id] } { + # Folder + set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id] + # Instance + set instance [apm_package_key_from_id $fs_package_id] + } else { + set fs_package_id [site_node_apm_integration::get_child_package_id \ + -package_id [dotlrn_community::get_package_id $community_id] \ + -package_key "file-storage"] + # Instance + set instance [lors_central::get_course_name -man_id $man_id] + # Folder + set root_folder [lors_central::get_root_folder_id] + set folder_id [db_string get_folder_id { }] + set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id] + } - # Folder - set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id] - # Created By set created_by [person::name -person_id $creation_user] # Creation Date set creation_date [lc_time_fmt $creation_date "%x %X"] # Check for submanifests - if {[db_0or1row submans " - select - count(*) as submanifests - from - ims_cp_manifests - where - man_id = :man_id - and - parent_man_id = :man_id"]} { + if {[db_0or1row submans { }]} { } else { set submanifests 0 } @@ -122,100 +96,37 @@ [_ lorsm.Items] " -db_foreach organizations { - select - org.org_id, - org.title as org_title, - org.hasmetadata, - tree_level(o.tree_sortkey) as indent - from - ims_cp_organizations org, acs_objects o - where - org.org_id = o.object_id - and - man_id = :man_id - order by - org_id -} { +db_foreach organizations { } { + set total_items [db_string items_count {select count(*) from ims_cp_items where org_id=:org_id} -default 0] + # We get the indent of the items in this org_id + set indent_list [lors_central::get_items_indent -org_id $org_id] + template::util::list_of_lists_to_array $indent_list indent_array + + append orgs_list "$org_title$hasmetadata" set indent [expr $indent +1] set missing_text "[_ lorsm.Nothing_here]" set return_url [export_vars -base [ns_conn url] man_id] set table_extra_html { width="100%" } - - set table_extra_vars {return_url} + set table_extra_vars {return_url indent_array lorsm_p} set table_def { - { title "[_ lorsm.Item_Name]" "no_sort" "$indent[if {![empty_string_p $identifierref]} {set href \"$item_title\"} else {set href $item_title}]" } - { Edit "[_ lorsm.Edit]" "no_sort" "[if {![empty_string_p $identifierref]} {set href \"[_ lorsm.Edit_1]\"}]"} - { metadata "[_ lorsm.Metadata_1]" "no_sort" "[if {$hasmetadata == \"f\"} {set hasmetadata \"No\"} else {set hasmetadata \"Yes\"}]" } - { type "[_ lorsm.Type]" "no_sort" "$type" } - { shared "[_ lorsm.Is_Shared]" "no_sort" "[if {$isshared == false} {set ret \"No\"}]" } + { title "\#lorsm.Item_Name\#" "no_sort" " + [set indent \"\" + for { set i 0 } { $i < [expr $indent_array($item_id)-1]} { incr i } { + append indent \"      \" + } + if {![empty_string_p $identifierref]} {set href \"$indent$item_title\"} else {set href $item_title}]" } + { Edit "\#lorsm.Edit\#" "no_sort" "[if {![empty_string_p $identifierref]} { if { $lorsm_p } { set href \"[_ lorsm.Edit_1]\"} else { set href \"Edit\" }}]"} + { metadata "\#lorsm.Metadata_1\#" "no_sort" "[if {$hasmetadata == \"f\"} { if { $lorsm_p } { set hasmetadata \"No\"} else { set hasmetadata \"No\"} } else { if { $lorsm_p } { set hasmetadata \"Yes\"} else { set hasmetadata \"Yes\"}}]" } + { type "\#lorsm.Type\#" "no_sort" "$type" } + { shared "\#lorsm.Is_Shared\#" "no_sort" "[if {$isshared == false} {set ret \"No\"}]" } } - set table_item [ad_table -Tmissing_text $missing_text -Textra_vars $table_extra_vars -Theader_row_extra "style=\"background-color: #e0e0e0; font-weight: bold;\" class=\"list-header\"" -Ttable_extra_html $table_extra_html blah { - SELECT - o.object_id, - repeat(' ', (tree_level(tree_sortkey) - :indent)* 3) as indent, - i.item_id, - i.title as item_title, - i.hasmetadata, - i.org_id, - case - when i.isshared = 'f' then ( - 'false' - ) - else 'true' - end as isshared, - case - when i.identifierref <> '' then ( - SELECT - res.href - FROM - ims_cp_items_to_resources i2r, - ims_cp_resources res - WHERE - i2r.res_id = res.res_id - AND - i2r.item_id = i.item_id -) - else '' - end as identifierref, - case - when i.identifierref <> '' then ( - SELECT - res.type - FROM - ims_cp_items_to_resources i2r, - ims_cp_resources res - WHERE - i2r.res_id = res.res_id - AND - i2r.item_id = i.item_id -) - else '' - end as type, - m.fs_package_id, - m.folder_id, - m.course_name - FROM - acs_objects o, ims_cp_items i, ims_cp_manifests m - WHERE - o.object_type = 'ims_item' - AND - i.org_id = :org_id - AND - o.object_id = i.item_id - AND - m.man_id = :man_id - ORDER BY - tree_sortkey, object_id + set table_item [ad_table -Tmissing_text $missing_text -Textra_vars $table_extra_vars -Theader_row_extra "style=\"background-color: #e0e0e0; font-weight: bold;\" class=\"list-header\"" -Ttable_extra_html $table_extra_html blah { } $table_def] - - } $table_def] - append orgs_list "$table_item" @@ -231,4 +142,3 @@ set tracker_url [export_vars -base tracker {man_id}] set sharer_url [export_vars -base sharer {man_id folder_id return_url}] set formater_url [export_vars -base formater {man_id return_url}] -