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
+}