Index: openacs-4/packages/evaluation-portlet/lib/evaluations-chunk-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/lib/evaluations-chunk-postgresql.xql,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/evaluation-portlet/lib/evaluations-chunk-postgresql.xql 18 Nov 2004 00:19:02 -0000 1.5.2.1 +++ openacs-4/packages/evaluation-portlet/lib/evaluations-chunk-postgresql.xql 8 Jun 2005 22:23:37 -0000 1.5.2.2 @@ -8,15 +8,26 @@ select et.task_name, round(et.weight,2) as task_weight, - et.task_id + et.task_id, (select perfect_score from evaluation_tasks where task_id=et.task_id) as perfect_score, online_p from evaluation_tasksi et, cr_items cri where grade_item_id = :grade_item_id and cri.live_revision = et.task_id $evaluations_orderby + + + select ets.solution_id + from evaluation_tasks_sols ets, cr_items cri + where ets.task_item_id = (select task_item_id from evaluation_tasks where task_id=:task_id) + and cri.live_revision = ets.solution_id + + + + + @@ -25,8 +36,11 @@ et.weight as t_weight, eg.weight as g_weight, round((et.weight*eg.weight)/100,2) as task_weight, - et.number_of_members, - et.task_id + et.number_of_members, + et.online_p, + et.due_date, + et.late_submit_p, + et.task_id, (select perfect_score from evaluation_tasks where task_id=et.task_id) as perfect_score from evaluation_grades eg, evaluation_tasksi et, cr_items cri @@ -93,7 +107,7 @@ select ea.data as answer_data, ea.title as answer_title, - ea.answer_id + ea.answer_id,to_char(ea.creation_date,'MM/DD/YYYY HH24:MI') as creation_date from evaluation_answersi ea, cr_items cri where ea.task_item_id = :task_item_id and cri.live_revision = ea.answer_id @@ -118,6 +132,41 @@ + + + select 1 from dual where :due_date > now() + + + + + + select ea.answer_id + from evaluation_answers ea, cr_items cri + where ea.task_item_id = :task_item_id + and cri.live_revision = ea.answer_id + and ea.party_id = + ( select + CASE + WHEN et3.number_of_members = 1 THEN :user_id + ELSE + (select etg2.group_id from evaluation_task_groups etg2, + evaluation_tasks et2, + acs_rels map + where map.object_id_one = etg2.group_id + and map.object_id_two = :user_id + and etg2.task_item_id = et2.task_item_id + and et2.task_id = :task_id) + END as nom + from evaluation_tasks et3 + where et3.task_id = :task_id + ) + + --evaluation__party_id(:user_id,:task_id) + + + + + Index: openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.adp,v diff -u -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.adp 18 Nov 2004 00:19:02 -0000 1.2.2.1 +++ openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.adp 8 Jun 2005 22:23:37 -0000 1.2.2.2 @@ -1,3 +1,23 @@ - + + +
+ + + + +
@grade_plural_name@ (@grade_weight@% #evaluation-portlet.total_grade#) + +@actions;noquote@ +
+
+
+
-@bottom_line;noquote@ + + + #evaluation.lt_Weight_used_in_grade_# + + + #evaluation-portlet.lt_smallTotal_points_in_# + + Index: openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.tcl,v diff -u -r1.11.2.1 -r1.11.2.2 --- openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.tcl 18 Nov 2004 00:19:02 -0000 1.11.2.1 +++ openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.tcl 8 Jun 2005 22:23:37 -0000 1.11.2.2 @@ -1,94 +1,217 @@ ad_page_contract { - - evaluations chunk to be displayed in the index page - + + evaluations chunk to be displayed in the index page + } set package_id [ad_conn package_id] +set evaluation_id [evaluation_evaluations_portlet::get_package_id_from_key -package_key "evaluation"] set user_id [ad_verify_and_get_user_id] set admin_p [permission::permission_p -party_id $user_id -object_id $package_id -privilege admin] - +set simple_p [parameter::get -parameter "SimpleVersion" -package_id $evaluation_id] set base_url "[ad_conn package_url][evaluation::package_key]/" set return_url "[ad_conn url]?[ns_conn query]" - +set class "list" +set bulk_actions "" db_1row get_grade_info { *SQL* } +set submitted_label "
[_ evaluation-portlet.lt_smallTotal_points_in__1]
" + +if { $admin_p } { + if { $simple_p } { + set bottom_line "[_ evaluation-portlet.lt_smallWeight_used_in_g]" + } else { + set bottom_line "" + + } +} else { + set bottom_line "" +} + + +if { $simple_p } { + set class "pbs_list" + set grade_of_label "[_ evaluation-portlet.maximum]" +} else { + set grade_of_label "" +} set elements [list task_name \ [list label "[_ evaluation-portlet.Name_]" \ link_url_col task_url \ orderby_asc {task_name asc} \ - orderby_desc {task_name desc}] \ - ] + aggregate "" \ + aggregate_label "@bottom_line;noquote@"\ + orderby_desc {task_name desc}]] if { $admin_p } { - #admin - lappend elements task_weight \ - [list label "[_ evaluation-portlet.Weight_]" \ - display_template {
@grade_tasks_admin.task_weight@%
} \ - orderby_asc {task_weight asc} \ - orderby_desc {task_weight desc}] + #admin + if { $simple_p } { + lappend elements perfect_score \ + [list label "[_ evaluation-portlet.points_value]" \ + display_template {
@grade_tasks_admin.perfect_score@
} \ + orderby_asc {perfect_score asc} \ + aggregate "" \ + aggregate_label "@max_grade_label;noquote@" \ + orderby_desc {perfect_score desc}] + } + lappend elements task_weight \ + [list label "[_ evaluation-portlet.Weight_]" \ + display_template {
@grade_tasks_admin.task_weight@%
} \ + orderby_asc {task_weight asc} \ + orderby_desc {task_weight desc} \ + aggregate "" \ + aggregate_label "@max_weight_label;noquote@"] + if { $simple_p } { + lappend elements solution \ + [list label "
[_ evaluation-portlet.solution]
" \ + display_template "
@grade_tasks_admin.solution@
" \ + link_url_col solution_url \ + aggregate "" \ + aggregate_label "@solution_label;noquote@"] + lappend elements grade \ + [list label "[_ evaluation-portlet.grade]" \ + link_url_col grade_url \ + display_template {
[_ evaluation-portlet.evaluate]
} ] + lappend elements edit \ + [list label "" \ + sub_class narrow \ + display_template {
[_ evaluation-portlet.edit]
[_ evaluation-portlet.delete]
}] + } else { lappend elements audit_info \ - [list label "" \ - link_url_col audit_info_url \ - link_html { title "[_ evaluation-portlet.Audit_info_]" }] - set multirow_name grade_tasks_admin - set actions [list "[_ evaluation-portlet.lt_Edit_grades_distribut]" [export_vars -base "${base_url}admin/grades/distribution-edit" { grade_id }]] + [list label "" \ + link_url_col audit_info_url \ + link_html { title "[_ evaluation-portlet.Audit_info_]" }] + set bulk_actions [list "[_ evaluation-portlet.lt_Edit_grades_distribut]" [export_vars -base "${base_url}admin/grades/distribution-edit" { grade_id }]] + + } + set multirow_name grade_tasks_admin + set actions "\#evaluation-portlet.Add_grade_name_\#\#evaluation-portlet.edit_grade_scale\#" + } else { - #student - lappend elements grade \ - [list label "[_ evaluation-portlet.Grade_over_100_]" \ - display_template {
@grade_tasks.grade@
} ] - lappend elements comments \ - [list label "[_ evaluation-portlet.Comments_]" \ - link_url_col comments_url \ - link_html { title "[_ evaluation-portlet.lt_View_evaluation_comme]" }] + #student + if { $simple_p } { + lappend elements submitted \ + [list label "
[_ evaluation-portlet.Submitted]
" \ + display_template {
@grade_tasks.submitted_date;noquote@
} \ + aggregate "" \ + link_url_col submitted_date_url \ + aggregate_label "@submitted_label;noquote@" ] + + lappend elements task_grade \ + [list label "[_ evaluation-portlet.Points]" \ + display_template {
@grade_tasks.task_grade@
} \ + aggregate "" \ + aggregate_label "@max_grade_label;noquote@" ] lappend elements task_weight \ - [list label "[_ evaluation-portlet.Net_Value_]" \ - display_template {
@grade_tasks.task_weight@
} \ - orderby_asc {task_weight asc} \ - orderby_desc {task_weight desc}] - lappend elements answer \ - [list label "" \ - link_url_col answer_url \ - link_html { title "[_ evaluation-portlet.View_my_answer_]" }] - set multirow_name grade_tasks - set actions "" + [list label "[_ evaluation-portlet.Total_Points]" \ + display_template {
@grade_tasks.perfect_score@
} \ + orderby_asc {task_weight asc} \ + orderby_desc {task_weight desc} \ + aggregate "" \ + aggregate_label "@max_weight_label;noquote@"] + } + lappend elements grade \ + [list label "[_ evaluation-portlet.Grade_over_100_]" \ + display_template {
@grade_tasks.grade@
} \ + aggregate "" \ + aggregate_label "@grade_of_label;noquote@"] + + lappend elements comments \ + [list label "[_ evaluation-portlet.Comments_]" \ + link_url_col comments_url \ + link_html { title "[_ evaluation-portlet.lt_View_evaluation_comme]" }] + + if {!$simple_p} { + lappend elements task_weight \ + [list label "[_ evaluation-portlet.Net_Value]" \ + display_template {
@grade_tasks.task_weight@
} \ + orderby_asc {task_weight asc} \ + orderby_desc {task_weight desc}] + + } + lappend elements answer \ + [list label "" \ + display_template {@grade_tasks.answer;noquote@} \ + link_html { title "[_ evaluation-portlet.View_my_answer_]" }] + + set multirow_name grade_tasks + set actions "" } set total_grade 0.00 set max_grade 0.00 +set max_weight 0.00 set category_weight 0 +set max_grade_label "" +set max_weight_label "" +set solution_label "" + template::list::create \ -name grade_tasks \ -multirow $multirow_name \ - -actions $actions \ -key task_id \ - -pass_properties { return_url mode base_url } \ + -pass_properties { return_url mode base_url bottom_line max_grade_label max_weight_label solution_label submitted_label grade_of_label} \ -filters { grade_id {} page_num {} } \ + -actions $bulk_actions \ -no_data "[_ evaluation-portlet.No_assignments_]" \ -elements $elements \ -orderby_name evaluations_orderby \ + -main_class $class \ + -sub_class narrow \ -orderby { default_value task_name } - + set evaluations_orderby [template::list::orderby_clause -orderby -name grade_tasks] - + if { [string equal $evaluations_orderby ""] } { - set evaluations_orderby " order by task_name asc" + set evaluations_orderby " order by task_name asc" } if { $admin_p } { - #admin - db_multirow -extend { task_url audit_info audit_info_url } grade_tasks_admin get_tasks_admin { *SQL* } { - set task_url [export_vars -base "${base_url}admin/evaluations/student-list" { task_id grade_id }] + #admin + db_multirow -extend { task_url grade_url audit_info audit_info_url task_points solution solution_url} grade_tasks_admin get_tasks_admin { *SQL* } { + if { $simple_p } { + set task_url [export_vars -base "${base_url}task-view" { grade_id task_id return_url }] + } else { + set task_url [export_vars -base "${base_url}admin/evaluations/student-list" { grade_id task_id return_url }] + } set category_weight [expr $category_weight + $task_weight] + set grade_url [export_vars -base "${base_url}admin/evaluations/student-list" { grade_id task_id return_url }] + set max_weight [format %0.2f [expr $max_weight + $task_weight]] set task_weight [lc_numeric $task_weight] - - set audit_info_url "[export_vars -base "${base_url}admin/evaluations/audit-info" { grade_id task_id }]" + set max_grade [expr $max_grade + $perfect_score] + set max_grade_label "
$max_grade pts.
" + set solution_label "[_ evaluation-portlet.weight_possible_of_grade_] $low_name )" + + if { $simple_p } { + set max_weight_label "
$max_weight %
" + } + if { [db_0or1row solution_info { *SQL* }] } { + set solution_mode display + set solution_url "[export_vars -base "${base_url}admin/tasks/solution-add-edit" { grade_id task_id solution_id return_url solution_mode }]" + set solution "[_ evaluation-portlet.ViewEdit_Solution_]" + } else { + set solution_mode edit + set solution_url "[export_vars -base "${base_url}admin/tasks/solution-add-edit" { grade_id task_id return_url solution_mode }]" + if { $online_p } { + set solution "[_ evaluation-portlet.Upload_Solution_]" + } + } + + set task_points [format %0.2f [expr ($task_weight*$grade_weight)/100.0]] + set audit_info_url [export_vars -base "${base_url}admin/evaluations/audit-info" { grade_id task_id }] + set audit_info "[_ evaluation-portlet.Audit_Info_]" + } } else { - - db_multirow -extend { comments comments_url answer answer_url grade } grade_tasks get_grade_tasks { *SQL* } { + + db_multirow -extend { task_url submitted_date submitted_date_url comments comments_url grade_url answer answer_url grade task_grade} grade_tasks get_grade_tasks { *SQL* } { + if { $simple_p } { + set task_url [export_vars -base "${base_url}task-view" { grade_id task_id return_url }] + } else { + set task_url "" + } + set grade_url [export_vars -base "${base_url}admin/evaluations/student-list" { grade_id task_id return_url }] if { [db_0or1row get_evaluation_info { *SQL* }] } { if { ![empty_string_p $comments] } { @@ -99,16 +222,25 @@ set comments_url "[export_vars -base "${base_url}evaluation-view" { evaluation_id return_url }]" } + + set over_weight "" if { [string eq $show_student_p "t"] } { - set max_grade [expr $task_weight + $max_grade] - if { ![empty_string_p $grade] } { set grade [lc_numeric $grade] set over_weight "[lc_numeric $task_grade]/" + if { $simple_p } { + set task_grade [format %0.2f [expr ($grade*$perfect_score/100.0)]] + } set total_grade [expr $total_grade + $task_grade] + if { $simple_p } { + set max_grade [expr $task_grade + $max_grade] + } else { + set max_grade [expr $task_weight + $max_grade] + } } else { set grade "[_ evaluation-portlet.Not_evaluated_]" + set task_grade "[_ evaluation-portlet.Not_evaluated_]" } set task_weight "${over_weight}[lc_numeric $task_weight]" @@ -118,11 +250,16 @@ } } else { set grade "[_ evaluation-portlet.Not_evaluated_]" - set max_grade [expr $task_weight + $max_grade] - set task_weight [lc_numeric $task_weight] + if { $simple_p } { + set task_weight [lc_numeric $task_weight] + } else { + set task_weight "[_ evaluation-portlet.Not_evaluated_]" + } + set task_grade "[_ evaluation-portlet.Not_evaluated_]" } - + if { [db_0or1row get_answer_info { *SQL* }] } { + set submitted_date $creation_date # working with answer stuff (if it has a file/url attached) if { [string eq $answer_title "link"] } { # there is a bug in the template::list, if the url does not has a http://, ftp://, the url is not absolute, @@ -148,12 +285,47 @@ set answer_url "" set answer "" } - - } + set max_weight [expr $max_weight + $perfect_score] + set max_grade_label "
$max_grade pts.
" + set max_weight_label "
$max_weight %
" + if { [empty_string_p $submitted_date]} { + + if { [string eq $online_p "t"] } { + if { [db_string compare_due_date { *SQL* } -default 0] } { + if { ![db_0or1row answer_info { *SQL* }] } { + set submitted_date "[_ evaluation-portlet.submit_answer_]" + set submitted_date_mode edit + set submitted_date_url "[export_vars -base "${base_url}answer-add-edit" { grade_id task_id return_url answer_mode }]" + } else { + set submitted_date "[_ evaluation-portlet.submit_answer_again_]" + set submitted_date_mode display + set submitted_date_url "[export_vars -base "${base_url}answer-add-edit" { grade_id task_id answer_id return_url answer_mode }]" + } + } elseif { [string eq $late_submit_p "t"] } { + if { ![db_0or1row answer_info { *SQL* }] } { + set submitted_date "[_ evaluation-portlet.lt_submit_answer_style_f]" + set submitted_date_mode edit + set submitted_date_url "[export_vars -base "${base_url}answer-add-edit" { grade_id task_id return_url answer_mode }]" + } else { + set submitted_date "[_ evaluation-portlet.lt_submit_answer_style_f_1]" + set submitted_date_mode display + set submitted_date_url "[export_vars -base "${base_url}answer-add-edit" { grade_id task_id answer_id return_url answer_mode }]" + } + } + if { $number_of_members > 1 && [string eq [db_string get_group_id { *SQL* }] 0] } { + set submitted_date "[_ evaluation-portlet.No_group_for_task_]" + set submitted_date_url "" + } + } + } else { + set submitted_date_url "[export_vars -base "${base_url}answer-view" { grade_id task_id return_url answer_mode {answer_id}}]" + if { $number_of_members > 1 && [string eq [db_string get_group_id { *SQL* }] 0] } { + + set submitted_date "[_ evaluation-portlet.No_group_for_task_]" + set submitted_date_url "" + } + + } + } } -if { $admin_p } { - set bottom_line "[_ evaluation-portlet.lt_smallWeight_used_in_g]" -} else { - set bottom_line "[_ evaluation-portlet.lt_smallTotal_points_in__1]" -} Index: openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.xql,v diff -u -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.xql 18 Nov 2004 00:19:02 -0000 1.2.2.1 +++ openacs-4/packages/evaluation-portlet/lib/evaluations-chunk.xql 8 Jun 2005 22:23:37 -0000 1.2.2.2 @@ -6,7 +6,7 @@ - select grade_plural_name, weight as grade_weight from evaluation_grades where grade_id = :grade_id + select upper(grade_plural_name) as grade_plural_name, grade_plural_name as low_name,grade_name,weight as grade_weight,weight as category_weight from evaluation_grades where grade_id = :grade_id Index: openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.adp,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.adp 18 Nov 2004 00:19:04 -0000 1.4.2.1 +++ openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.adp 8 Jun 2005 22:23:37 -0000 1.4.2.2 @@ -1,5 +1,6 @@ Index: openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.tcl,v diff -u -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.tcl 18 Nov 2004 00:19:04 -0000 1.3.2.1 +++ openacs-4/packages/evaluation-portlet/www/evaluation-admin-portlet.tcl 8 Jun 2005 22:23:37 -0000 1.3.2.2 @@ -9,7 +9,7 @@ } -properties { } - +set return_url [get_referrer] array set config $cf set user_id [ad_conn user_id] set list_of_package_ids $config(package_id) Index: openacs-4/packages/evaluation-portlet/www/evaluation-evaluations-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/www/evaluation-evaluations-portlet.adp,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/evaluation-portlet/www/evaluation-evaluations-portlet.adp 18 Nov 2004 00:19:04 -0000 1.5.2.1 +++ openacs-4/packages/evaluation-portlet/www/evaluation-evaluations-portlet.adp 8 Jun 2005 22:23:37 -0000 1.5.2.2 @@ -2,16 +2,36 @@