Index: openacs-4/packages/lors/tcl/lors-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors/tcl/lors-procs.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/lors/tcl/lors-procs.tcl 8 Oct 2008 13:01:05 -0000 1.10 +++ openacs-4/packages/lors/tcl/lors-procs.tcl 17 Nov 2008 13:35:04 -0000 1.11 @@ -1,9 +1,9 @@ # packages/lors/tcl/lors-procs.tcl ad_library { - + Helper procedures for LORS - + @author Dave Bauer (dave@thedesignexperience.org) @creation-date 2006-06-06 @cvs-id $Id$ @@ -17,17 +17,15 @@ {-url "view"} } { Generate a URL for an acs_object as a learning object - + @author Dave Bauer (dave@thedesignexperience.org) @creation-date 2006-06-06 - - @param object_id + @param object_id @param url - @return - - @error + @return + @error } { #view is easy @@ -38,48 +36,59 @@ ns_log notice "lors::object_Url object_id='${object_id}'" switch $url { admin { - switch $object_type { as_sections { # FIXME either 1) make this magically work - # or 2) find the assessment_id and use + # or 2) find the assessment_id and use # page anchor - set assessment_id "" - set sort_order "" - db_0or1row get_assessment_id "select ci.item_id as assessment_id, sort_order from cr_items ci, cr_revisions cr, as_assessment_section_map m where cr.item_id=:object_id and cr.revision_id=m.section_id and ci.latest_revision=assessment_id" + set assessment_id "" + set sort_order "" + db_0or1row get_assessment_id \ + "select ci.item_id as assessment_id, sort_order + from cr_items ci, cr_revisions cr, as_assessment_section_map m + where cr.item_id=:object_id + and cr.revision_id=m.section_id + and ci.latest_revision=assessment_id" return [export_vars \ -base questions \ - {man_id assessment_id}][ad_decode {$sort_order eq ""} 0 "\#${sort_order}" ""] - } - "::xowiki::Page" { - set url [::xowiki::Package get_url_from_id -item_id $object_id] - set page [::xowiki::Package instantiate_page_from_id -item_id $object_id] - if {[catch {set url [[$page set package_id] make_link -privilege public -link $url $page edit ""]} errmsg]} { - set url [$page make_link -privilege public -url $url $page edit ""] + {man_id assessment_id}]\ + [ad_decode {$sort_order eq ""} 0 "\#${sort_order}" ""] + } "::xowiki::Page" { + set url [::xowiki::Package get_url_from_id \ + -item_id $object_id] + + set page [::xowiki::Package instantiate_page_from_id \ + -item_id $object_id] + + if {[catch {set url [[$page set package_id] make_link \ + -privilege public \ + -link $url $page edit ""]} errmsg]} { + set url [$page make_link \ + -privilege public \ + -url $url $page edit ""] } + return "${url}&return_url=[ad_urlencode [ad_return_url]]" - return "${url}&return_url=[ad_urlencode [ad_return_url]]" - - } - default { - set item_id [content::revision::item_id -revision_id $object_id] - return [export_vars -base "item-add-edit" {man_id item_id {return_url [ad_return_url]}}] - } + } default { + set item_id [content::revision::item_id \ + -revision_id $object_id] + return [export_vars \ + -base "item-add-edit" \ + {man_id item_id {return_url [ad_return_url]}}] + } } - - } - default { + + } default { return "/o/${object_id}" } - } } ad_proc lors::items_select_options { -man_id } { - Generate a list of lists of names and ims_item_ids of + Generate a list of lists of names and ims_item_ids of items in one course @param man_id Manifst id for one course