Index: openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql 31 Mar 2005 14:24:23 -0000 1.6 +++ openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql 22 Apr 2005 15:15:17 -0000 1.7 @@ -3,24 +3,30 @@ postgresql7.1 - - - select cri.item_id as assessment_id, - crr.title, - crr.description, - acs_object__name(apm_package__parent_id(crf.package_id)) as parent_name, - (select site_node__url(site_nodes.node_id) - from site_nodes - where site_nodes.object_id = crf.package_id) as url, - crf.package_id - from as_assessments asa, cr_items cri, cr_revisions crr, cr_folders crf - where crr.revision_id = asa.assessment_id - and crr.revision_id = cri.latest_revision - and cri.parent_id = crf.folder_id - and crf.package_id in ([join $list_of_package_ids ", "]) - and (asa.start_time < current_timestamp or asa.start_time is null) - order by package_id, lower(crr.title) - - + + + select cr.item_id as assessment_id, cr.title, cr.description, a.password, + to_char(a.start_time, 'YYYY-MM-DD HH24:MI:SS') as start_time, + to_char(a.end_time, 'YYYY-MM-DD HH24:MI:SS') as end_time, + to_char(now(), 'YYYY-MM-DD HH24:MI:SS') as cur_time, + cf.package_id, p.instance_name as community_name, + sc.node_id as comm_node_id, sa.node_id as as_node_id + from as_assessments a, cr_revisions cr, cr_items ci, cr_folders cf, + site_nodes sa, site_nodes sc, apm_packages p + where a.assessment_id = cr.revision_id + and cr.revision_id = ci.latest_revision + and ci.parent_id = cf.folder_id + and cf.package_id in ([join $list_of_package_ids ", "]) + and sa.object_id = cf.package_id + and sc.node_id = sa.parent_id + and p.package_id = sc.object_id + and exists (select 1 + from as_assessment_section_map asm, as_item_section_map ism + where asm.assessment_id = a.assessment_id + and ism.section_id = asm.section_id) + and acs_permission__permission_p (a.assessment_id, :user_id, 'read') = 't' + order by lower(p.instance_name), lower(cr.title) + + Index: openacs-4/packages/assessment-portlet/www/assessment-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/www/assessment-portlet.adp,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/assessment-portlet/www/assessment-portlet.adp 8 Jan 2005 16:50:12 -0000 1.5 +++ openacs-4/packages/assessment-portlet/www/assessment-portlet.adp 22 Apr 2005 15:15:17 -0000 1.6 @@ -1,24 +1,15 @@ - - + + + + + - - - @assessments.parent_name@ - - - - + +

#assessment.answered_assessments#

+ +
+
-
  Index: openacs-4/packages/assessment-portlet/www/assessment-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/www/assessment-portlet.tcl,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/assessment-portlet/www/assessment-portlet.tcl 8 Jan 2005 16:30:07 -0000 1.6 +++ openacs-4/packages/assessment-portlet/www/assessment-portlet.tcl 22 Apr 2005 15:15:17 -0000 1.7 @@ -19,11 +19,84 @@ set list_of_package_ids $config(package_id) set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] +set elements [list] +if {!$one_instance_p} { + set elements [list community_name \ + [list \ + label "[_ dotlrn.Community]" \ + display_template {@assessments.community_name@ }]] +} -set user_id [ad_conn user_id] +lappend elements title \ + [list \ + label "[_ assessment.open_assessments]" \ + display_template {@assessments.title@}] -db_multirow assessments assessments {} +# create a list with all open assessments +template::list::create \ + -name assessments \ + -multirow assessments \ + -key assessment_id \ + -elements $elements \ + -main_class narrow +# get the information of all open assessments +template::multirow create assessments assessment_id title description assessment_url community_url community_name +set old_comm_node_id 0 +db_foreach open_asssessments {} { + if {([empty_string_p $start_time] || $start_time <= $cur_time) && ([empty_string_p $end_time] || $end_time >= $cur_time)} { + if {$comm_node_id == $old_comm_node_id} { + set community_name "" + } + set community_url [site_node::get_url -node_id $comm_node_id] + set assessment_url [site_node::get_url -node_id $as_node_id] + set old_comm_node_id $comm_node_id + if {[empty_string_p $password]} { + append assessment_url [export_vars -base "assessment" {assessment_id}] + } else { + append assessment_url [export_vars -base "assessment-password" {assessment_id}] + } + template::multirow append assessments $assessment_id $title $description $assessment_url $community_url $community_name + } +} + + +set elements [list] +if {!$one_instance_p} { + set elements [list community_name \ + [list \ + label "[_ dotlrn.Community]" \ + display_template {@sessions.community_name@ }]] +} + +lappend elements title \ + [list \ + label "[_ assessment.Assessments]"] \ + +lappend elements session \ + [list \ + label {[_ assessment.Sessions]} \ + display_template {[_ assessment.Sessions]}] + + +# create a list with all answered assessments and their sessions +template::list::create \ + -name sessions \ + -multirow sessions \ + -key assessment_id \ + -elements $elements \ + -main_class narrow + +# get the information of all assessments store in the database +set old_comm_node_id 0 +db_multirow -extend { session_url community_url } sessions answered_asssessments {} { + if {$comm_node_id == $old_comm_node_id} { + set community_name "" + } + set community_url [site_node::get_url -node_id $comm_node_id] + set session_url "[site_node::get_url -node_id $as_node_id][export_vars -base sessions {assessment_id}]" + set old_comm_node_id $comm_node_id +}