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