Index: openacs-4/packages/imsld/www/imsld-finish-resource.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/imsld-finish-resource.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/imsld/www/imsld-finish-resource.tcl 2 Feb 2006 13:57:15 -0000 1.3 +++ openacs-4/packages/imsld/www/imsld-finish-resource.tcl 22 Feb 2006 16:09:39 -0000 1.4 @@ -6,51 +6,18 @@ resource_item_id } -db_1row get_resource_id { - select resource_id - from imsld_cp_resourcesi - where item_id=:resource_item_id +# fedback nor assessment has to be marked as finished +if { [db_0or1row not_fedbk_nor_assmnt { + select icr.resource_id + from acs_rels ar, + imsld_cp_resourcesi icr + where ar.rel_type != 'imsld_feedback_rel' + and icr.item_id = ar.object_id_two + and ar.object_id_two = :resource_item_id + and icr.type != 'imsqti_xmlv1p0' + limit 1 +}] } { + imsld::finish_resource -resource_id $resource_id } -#feedback must not be finished -if { ![ - db_0or1row is_feedback { select 1 - from acs_rels ar1, - acs_rels ar2, - imsld_feedback_rel_ext ifre - where ifre.rel_id=ar1.rel_id and - ar1.object_id_two=ar2.object_id_one and - ar2.object_id_two=:resource_item_id - } ] } { - -#assessment is finished by a callback when results are submited - if {![db_string is_assessment {} ]} { - - set prerequisites_list [db_list get_all_prerequisites { - select prerequisite_id - from imsld_imslds - }] - set objectives_list [db_list get_all_objectives { - select learning_objective_id - from imsld_imslds - }] - -#para no finalizar los prerequisitos y objetivos globales - set identifier "" - db_0or1row get_identifier_resource_id { - select ar1.object_id_one as identifier - from acs_rels ar1, - acs_rels ar2 - where ar1.object_id_two=ar2.object_id_one - and ar2.object_id_two=:resource_item_id; - } - - if { [lsearch [concat $prerequisites_list $objectives_list] $identifier] != "-1" } { - - } else { - - imsld::finish_resource -resource_id $resource_id - } - } -} ad_returnredirect $file_url