Index: openacs-4/packages/assessment/www/asm-admin/results-session.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-session.adp,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/assessment/www/asm-admin/results-session.adp 26 Sep 2006 00:22:46 -0000 1.5
+++ openacs-4/packages/assessment/www/asm-admin/results-session.adp 8 Dec 2006 03:23:08 -0000 1.6
@@ -5,7 +5,7 @@
@assessment_data.title@
#acs-subsite.Name#: @first_names@ @last_name@#assessment.anonymous_name#
- #assessment.Attempt#: @session_attempt@ / @assessment_data.number_tries@
+ #assessment.Attempt#: @session_attempt@ / @assessment_data.number_tries@ (#assessment.Delete_Attempts#)
#assessment.Percent_Score#: @assessment_score@
#assessment.Started#: @session_start@
#assessment.Finished#: @session_finish@
Index: openacs-4/packages/assessment/www/asm-admin/results-session.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-session.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/assessment/www/asm-admin/results-session.tcl 26 Sep 2006 00:22:46 -0000 1.4
+++ openacs-4/packages/assessment/www/asm-admin/results-session.tcl 8 Dec 2006 03:23:08 -0000 1.5
@@ -38,6 +38,7 @@
# get start and end times
db_1row session_data {}
+
set session_time [as::assessment::pretty_time -seconds $session_time -hours]
set session_start [lc_time_fmt $creation_datetime $format]
set session_finish [lc_time_fmt $completed_datetime $format]
@@ -75,5 +76,5 @@
set showpoints [parameter::get -parameter "ShowPoints" -default 1 ]
set comments_installed_p [apm_package_enabled_p "general-comments"]
-
+set delete_url [export_vars -base session-delete {assessment_id subject_id session_id {return_url [ad_return_url]}}]
ad_return_template
Index: openacs-4/packages/assessment/www/asm-admin/results-users.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/assessment/www/asm-admin/results-users.tcl 26 Sep 2006 00:22:46 -0000 1.7
+++ openacs-4/packages/assessment/www/asm-admin/results-users.tcl 8 Dec 2006 03:23:08 -0000 1.8
@@ -68,13 +68,15 @@
-key sessions_id \
-elements {
session_id {
- label {[_ assessment.Session]}
+ label {[_ assessment.View_Results]}
display_template {View}
}
subject_name {
- label {[_ assessment.Subject_Name]}
- display_template {@results.subject_name@}
+ label {[_ assessment.Name]}
}
+ status {
+ label {#assessment.Status#}
+ }
completed_datetime {
label {[_ assessment.Finish_Time]}
html {nowrap}
@@ -84,14 +86,18 @@
html {align right nowrap}
display_template {@results.percent_score@}
}
+ delete {
+ label {[_ assessment.Delete_Attempt]}
+ display_template {[_ assessment.Delete_Attempts]}
+ }
} -main_class {
narrow
}
template::multirow create subjects subject_id subject_url subject_name
-db_multirow -extend { result_url subject_url } results assessment_results {
+db_multirow -extend { result_url subject_url status delete_url } results assessment_results {
} {
# to display list of users who answered the assessment if anonymous
template::multirow append subjects $subject_id [acs_community_member_url -user_id $subject_id] $subject_name
@@ -103,6 +109,12 @@
set subject_url [acs_community_member_url -user_id $subject_id]
}
set result_url [export_vars -base "results-session" {session_id}]
+ if {$completed_datetime eq ""} {
+ set status "Incomplete"
+ } else {
+ set status "Complete"
+ }
+ set delete_url [export_vars -base session-delete {assessment_id subject_id session_id}]
}
template::multirow sort subjects subject_name
Index: openacs-4/packages/assessment/www/asm-admin/session-delete.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/session-delete.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/www/asm-admin/session-delete.adp 8 Dec 2006 03:23:08 -0000 1.1
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
Index: openacs-4/packages/assessment/www/asm-admin/session-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/session-delete.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/www/asm-admin/session-delete.tcl 8 Dec 2006 03:23:08 -0000 1.1
@@ -0,0 +1,54 @@
+ad_page_contract {
+ Delete a users sessions for a particular assessment
+} {
+ assessment_id:integer
+ subject_id:integer
+ {return_url ""}
+}
+
+permission::require_permission \
+ -party_id [ad_conn user_id] \
+ -object_id [ad_conn package_id] \
+ -privilege admin
+as::assessment::data -assessment_id $assessment_id
+set assessment_name $assessment_data(name)
+if {$assessment_data(anonymous_p)} {
+ set subject_name "Anonymous"
+} else {
+ set subject_name "Not Anonymous"
+}
+
+# setup a list of session_ids
+set session_id_options [list]
+db_foreach get_sessions "" {
+ set creation_datetime [lc_time_fmt $creation_datetime "%x %X"]
+ set completed_datetime [lc_time_fmt $completed_datetime "%x %X"]
+ lappend session_id_options [list "$session_id [_ assessment.Attempt_started_completed [list creation_datetime $creation_datetime completed_datetime $completed_datetime]]" $session_id]
+}
+
+ad_form -name session-delete -export {assessment_id subject_id return_url} \
+ -has_submit 1 \
+ -form {
+ {session_id:text(checkbox),multiple {label "[_ assessment.Attempts_to_delete]"} {options $session_id_options}}
+ {cancel:text(submit) {label "[_ acs-kernel.common_Cancel]"}}
+ {ok:text(submit) {label "[_ acs-kernel.common_Delete]"}}
+
+ } -on_submit {
+ if {[info exists ok] && $ok ne ""} {
+ #delete sessions
+ set message "[_ assessment.Requested_attempts_deleted]"
+ foreach id $session_id {
+ as::session::delete -session_id $id
+ }
+ } else {
+ set message "[_ assessment.Delete_canceled]"
+ }
+
+ if {$return_url eq "" || [set session_count [db_string count_sessions "" -default 0]] == 0} {
+ set return_url [export_vars -base results-users {assessment_id}]
+ }
+ ad_returnredirect -message $message $return_url
+ ad_script_abort
+ }
+
+ad_return_template
\ No newline at end of file
Index: openacs-4/packages/assessment/www/asm-admin/session-delete.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/session-delete.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/www/asm-admin/session-delete.xql 8 Dec 2006 03:23:08 -0000 1.1
@@ -0,0 +1,22 @@
+
+
+
+
+ select session_id, creation_datetime, completed_datetime
+ from as_sessions, cr_revisions
+ where item_id=:assessment_id
+ and assessment_id=revision_id
+ and subject_id=:subject_id
+
+
+
+
+
+ select count(*)
+ from as_sessions
+ where assessment_id=:assessment_id
+ and subject_id=:subject_id
+
+
+
+
\ No newline at end of file