Index: openacs-4/packages/attendance/attendance.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/attendance.info,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/attendance.info 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,24 @@
+
+
+
+
+ Attendance
+ Attendance
+ f
+ f
+
+
+ Solutiong Grove
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: openacs-4/packages/attendance/lib/confirm-delete-form.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/lib/confirm-delete-form.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/lib/confirm-delete-form.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,16 @@
+
Index: openacs-4/packages/attendance/tcl/apm-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/tcl/apm-callback-procs.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/tcl/apm-callback-procs.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,43 @@
+ad_library {
+
+ Attendance Package APM callbacks library
+
+ Procedures that deal with installing, instantiating, mounting.
+
+ @creation-date May 2005
+ @author Hamilton Chua (hamilton.chua@gmail.com))
+ @cvs-id $Id: apm-callback-procs.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+}
+
+namespace eval attendance {}
+namespace eval attendance::apm_callback {}
+
+ad_proc -public attendance::apm_callback::package_instantiate {
+ -package_id:required
+} {
+
+ Define Attendance folders
+
+} {
+
+ set creation_user [ad_conn user_id]
+ set creation_ip [ad_conn peeraddr]
+ set attendance_name "Attendance"
+ set attendance_singular_name "Attendance"
+ set attendance_desc ""
+
+
+ db_transaction {
+
+ set folder_id [content::folder::new -name "evaluation_grades_$package_id" -label "evaluation_grades_$package_id" -package_id $package_id ]
+ content::folder::register_content_type -folder_id $folder_id -content_type evaluation_grades -include_subtypes t
+
+ set folder_id [content::folder::new -name "evaluation_tasks_$package_id" -label "evaluation_tasks_$package_id" -package_id $package_id ]
+ content::folder::register_content_type -folder_id $folder_id -content_type evaluation_tasks -include_subtypes t
+ }
+
+ set attendance_item_id [db_nextval acs_object_id_seq]
+ set revision_id [evaluation::new_grade -new_item_p 1 -item_id $attendance_item_id -content_type evaluation_grades -content_table evaluation_grades -content_id grade_id -name $attendance_singular_name -plural_name $attendance_name -description $attendance_desc -weight 40 -package_id $package_id]
+ content::item::set_live_revision -revision_id $revision_id
+
+}
\ No newline at end of file
Index: openacs-4/packages/attendance/tcl/attendance-init.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/tcl/Attic/attendance-init.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/tcl/attendance-init.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1 @@
\ No newline at end of file
Index: openacs-4/packages/attendance/tcl/attendance-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/tcl/attendance-procs.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/tcl/attendance-procs.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,114 @@
+ad_library {
+
+ Library procs for attendance
+
+ @author Hamilton Chua (hamilton.chua@gmail.com)
+ @creation-date 2005-05-17
+ @cvs-id $Id: attendance-procs.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+}
+
+namespace eval attendance {
+
+
+ad_proc get_grade_info {
+ {-package_id:required}
+} {
+ HAM (hamilton.chua@gmail.com)
+ Retreives grade_id and grade_item_id from evaluation and sets them in the calling environment
+} {
+
+ uplevel 1 { db_0or1row "getgradeid" "select eg.grade_id as grade_id, eg.grade_item_id as grade_item_id, eg.grade_plural_name
+ from evaluation_grades eg, acs_objects ao, cr_items cri
+ where cri.live_revision = eg.grade_id
+ and eg.grade_item_id = ao.object_id
+ and ao.context_id = :package_id
+ and eg.grade_name = 'Attendance'"}
+}
+
+ad_proc create_task {
+ {-cal_item_id:required}
+ {-grade_item_id:required}
+} {
+ HAM (hamilton.chua@gmail.com)
+ Create an attendance task
+} {
+
+ if { ![db_0or1row "checkmap" "select task_item_id from evaluation_cal_task_map where cal_item_id = :cal_item_id"] } {
+
+ calendar::item::get -cal_item_id $cal_item_id -array cal_item_array
+
+ set task_name $cal_item_array(name)
+ set description ""
+ set item_id [db_nextval acs_object_id_seq]
+ set cal_start_date [template::util::date::from_ansi $cal_item_array(start_date_ansi) "YYYY-MM-DD HH24:MI:SS"]
+ set cal_end_date [template::util::date::from_ansi $cal_item_array(end_date_ansi) "YYYY-MM-DD HH24:MI:SS"]
+
+ set due_date_ansi $cal_item_array(start_date_ansi)
+ set url ""
+
+ set storage_type "lob"
+
+ set title [evaluation::safe_url_name -name $task_name]
+
+ set revision_id [evaluation::new_task -new_item_p [ad_form_new_p -key grade_id] -item_id $item_id \
+ -content_type evaluation_tasks \
+ -content_table evaluation_tasks \
+ -content_id task_id \
+ -name $task_name \
+ -description $description \
+ -weight "0" \
+ -grade_item_id $grade_item_id \
+ -number_of_members "1" \
+ -storage_type $storage_type \
+ -due_date $due_date_ansi \
+ -requires_grade_p "f" \
+ -title $title ]
+
+ content::item::set_live_revision -revision_id $revision_id
+ db_dml update_date {
+ update evaluation_tasks set due_date = (select to_date(:due_date_ansi,'YYYY-MM-DD HH24:MI:SS') from dual)
+ where task_id = :revision_id
+ }
+
+ db_dml link_content { update cr_revisions set content = :url where revision_id = :revision_id }
+ db_dml set_storage_type { update cr_items set storage_type = 'text' where item_id = :item_id }
+ set content_length [string length $url]
+ db_dml content_size { update cr_revisions set content_length = :content_length where revision_id = :revision_id }
+
+ db_dml insert_cal_mapping { insert into evaluation_cal_task_map (task_item_id,cal_item_id) values (:item_id,:cal_item_id) }
+
+ }
+
+}
+
+ad_proc add_sessions {
+ {-community_id:required}
+ {-grade_item_id:required}
+} {
+ HAM (hamilton.chua@gmail.com)
+ Check if there are calendar sessions for the section
+ Cehck if the session is arleady an evaluation
+ if not then create a task with the session's details
+} {
+
+ # let's retrieve sessions for this community
+ set calendar_id [dotlrn_calendar::get_group_calendar_id -community_id $community_id]
+ set item_type_id [db_string item_type_id "select item_type_id from cal_item_types where type='Session' and calendar_id = :calendar_id"]
+
+ # create the task
+ db_transaction {
+
+ # check if each session has corresponding evaluation task, if none then add it
+ db_foreach "cal_item" "select cal_item_id from cal_items where on_which_calendar = :calendar_id and item_type_id = :item_type_id" {
+
+ attendance::create_task -cal_item_id $cal_item_id -grade_item_id $grade_item_id
+
+ }
+
+ }
+
+
+}
+
+
+}
\ No newline at end of file
Index: openacs-4/packages/attendance/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/index.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/index.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,4 @@
+
+ExpensesFor admins only.
Index: openacs-4/packages/attendance/www/admin/attendance-add-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/attendance-add-edit.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/attendance-add-edit.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,5 @@
+
+@page_title@
+"@context;noquote@"
+
+
\ No newline at end of file
Index: openacs-4/packages/attendance/www/admin/attendance-add-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/attendance-add-edit.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/attendance-add-edit.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,134 @@
+ad_page_contract {
+
+ Add or Edit Attendance Tasks
+ list the different attendance tasks
+
+ @author Hamilton Chua (hamilton.chua@gmail.com)
+ @creation-date 2004-05-17
+ @version $Id: attendance-add-edit.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+
+} {
+ { task_id:integer,optional }
+ { item_id:integer,optional }
+ { grade_id:integer,optional }
+
+}
+
+# initial vars
+set package_id [ad_conn package_id]
+set community_id [dotlrn_community::get_community_id]
+set new_p [ad_form_new_p -key task_id]
+
+# get assigntment type (evaluation_grade) info for attendance
+# db_0or1row "getgradeid" "select eg.grade_id as grade_id, eg.grade_item_id as grade_item_id, eg.grade_plural_name
+# from evaluation_grades eg, acs_objects ao, cr_items cri
+# where cri.live_revision = eg.grade_id
+# and eg.grade_item_id = ao.object_id
+# and ao.context_id = :package_id
+# and eg.grade_name = 'Attendance'"
+
+if { ![attendance::get_grade_info -package_id $package_id] } {
+ ad_return_complaint 500 "Server Error"
+}
+
+if { $new_p } {
+ set page_title "Add Attendance"
+} else {
+ set page_title "Edit Attendance"
+}
+
+set context $page_title
+
+# create the attendance task
+ad_form -name new_attendance_task -export { item_id grade_id } -form {
+ task_id:key(acs_object_id_seq)
+ { task_name:text
+ { label "Task Name" } }
+ {description:richtext,optional
+ {label "Description"}
+ {html {rows 4 cols 40 wrap soft}} }
+ {due_date:date,to_sql(linear_date),from_sql(sql_date),optional
+ {label "Date"}
+ {format "MONTH DD YYYY HH24 MI SS"}
+ {today}
+ {help} }
+ {url:text(text),optional
+ {label "URL"}
+ {value "http://"} }
+} -edit_request {
+
+ db_1row task_info { select et.task_name, et.description, to_char(et.due_date,'YYYY-MM-DD HH24:MI:SS') as due_date_ansi,
+ et.weight, et.number_of_members, et.online_p, et.late_submit_p, et.requires_grade_p
+ from evaluation_tasksi et
+ where task_id = :task_id }
+
+ set due_date [template::util::date::from_ansi $due_date_ansi "YYYY-MM-DD HH24:MI:SS"]
+ set weight [lc_numeric %.2f $weight]
+
+} -on_submit {
+
+ db_transaction {
+
+ set storage_type "lob"
+
+ set title [evaluation::safe_url_name -name $task_name]
+ set cal_due_date [calendar::to_sql_datetime -date $due_date -time $due_date -time_p 1]
+ set due_date_ansi [db_string "get_date" "select to_timestamp('[template::util::date::get_property linear_date $due_date]','YYYY MM DD HH24 MI SS')"]
+
+ if { [ad_form_new_p -key task_id] } {
+ set item_id $task_id
+ }
+
+ set revision_id [evaluation::new_task -new_item_p [ad_form_new_p -key grade_id] -item_id $item_id \
+ -content_type evaluation_tasks \
+ -content_table evaluation_tasks \
+ -content_id task_id \
+ -name $task_name \
+ -description $description \
+ -weight "0" \
+ -grade_item_id $grade_item_id \
+ -number_of_members "1" \
+ -storage_type $storage_type \
+ -due_date $due_date_ansi \
+ -requires_grade_p "f" \
+ -title $title ]
+
+ content::item::set_live_revision -revision_id $revision_id
+
+ db_dml update_date {
+ update evaluation_tasks set due_date = (select to_date(:due_date,'YYYY-MM-DD HH24:MI:SS') from dual)
+ where task_id = :revision_id
+ }
+
+ if { ![string eq $url "http://"] } {
+ db_dml link_content { update cr_revisions set content = :url where revision_id = :revision_id }
+ db_dml set_storage_type { update cr_items set storage_type = 'text' where item_id = :item_id }
+ set content_length [string length $url]
+ db_dml content_size { update cr_revisions set content_length = :content_length where revision_id = :revision_id }
+ }
+
+ set url [dotlrn_community::get_community_url $community_id]
+ array set community_info [site_node::get -url "${url}calendar"]
+ set community_package_id $community_info(package_id)
+ set calendar_id [db_string get_cal_id { select calendar_id from calendars where private_p = 'f' and package_id = :community_package_id }]
+
+ #set calendar_id [dotlrn_calendar::get_group_calendar_id -community_id $community_id]
+ #set item_type_id [db_string item_type_id "select item_type_id from cal_item_types where type='Session' and calendar_id = :calendar_id"]
+
+
+ # add to calendar
+ if { ![db_0or1row calendar_mappings { select cal_item_id from evaluation_cal_task_map where task_item_id = :item_id }] } {
+ # create cal_item
+ set cal_item_id [calendar::item::new -start_date $cal_due_date -end_date $cal_due_date -name "$task_name" -description $description -calendar_id $calendar_id]
+ db_dml insert_cal_mapping { insert into evaluation_cal_task_map (task_item_id,cal_item_id) values (:item_id,:cal_item_id) }
+ } else {
+ # edit previous cal_item
+ calendar::item::edit -cal_item_id $cal_item_id -start_date $due_date_ansi -end_date $due_date_ansi -name "$task_name" -description $description -calendar_id $calendar_id
+ }
+
+ }
+
+} -after_submit {
+ ad_returnredirect "index"
+}
+
\ No newline at end of file
Index: openacs-4/packages/attendance/www/admin/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/index.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/index.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,11 @@
+
+@page_title@
+"@context;noquote@"
+
+
+
+
+
+ No attendance tasks for this class. Please create a session.
+
+
Index: openacs-4/packages/attendance/www/admin/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/index.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/index.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,77 @@
+ad_page_contract {
+
+ Landing page attendance module.
+ list the attendance tasks for the community
+
+ @author Hamilton Chua (hamilton.chua@gmail.com)
+ @creation-date 2004-05-17
+ @version $Id: index.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+
+} {
+
+}
+
+# initial variables
+set page_title "Attendance Tasks"
+set context $page_title
+set package_id [ad_conn package_id]
+set community_id [dotlrn_community::get_community_id]
+
+# get grade info
+attendance::get_grade_info -package_id $package_id
+
+# check calendar items for session and turn them into attendance tasks
+attendance::add_sessions -community_id $community_id -grade_item_id $grade_item_id
+
+set elements [list task_name \
+ [list label "Task Name" \
+ link_url_col task_url \
+ orderby_asc {task_name asc} \
+ orderby_desc {task_name desc}] \
+ due_date_pretty \
+ [list label "Date" \
+ orderby_asc {due_date_ansi asc} \
+ orderby_desc {due_date_ansi desc}] \
+ action \
+ [list label "Actions" \
+ display_template { Delete | Mark } ]\
+ ]
+
+template::list::create \
+ -name attendance_tasks \
+ -multirow attendance_tasks \
+ -actions {
+ "Attendance by Student" "summary" ""
+ } -key task_id \
+ -filters { grade_id {} } \
+ -no_data "No attendance tasks" \
+ -orderby_name assignments_orderby \
+ -elements $elements
+
+db_multirow -extend { due_date_pretty grade_id } attendance_tasks get_tasks {
+ select et.task_name, et.number_of_members, et.task_id,
+ to_char(et.due_date,'YYYY-MM-DD HH24:MI:SS') as due_date_ansi,
+ et.online_p,
+ et.late_submit_p,
+ et.item_id,
+ et.task_item_id,
+ et.due_date,
+ et.requires_grade_p, et.description, et.grade_item_id,
+ cr.title as task_title,
+ et.data as task_data,
+ et.task_id as revision_id,
+ coalesce(round(cr.content_length/1024,0),0) as content_length,
+ et.late_submit_p,
+ crmt.label as pretty_mime_type
+ from cr_revisions cr,
+ evaluation_tasksi et,
+ cr_items cri,
+ cr_mime_types crmt
+ where cr.revision_id = et.revision_id
+ and grade_item_id = :grade_item_id
+ and cri.live_revision = et.task_id
+ and et.mime_type = crmt.mime_type
+} {
+ set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"]
+ set grade_id [db_string "getgradeid" "select grade_id from evaluation_grades where grade_item_id = :grade_item_id"]
+}
Index: openacs-4/packages/attendance/www/admin/mark-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/mark-2.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/mark-2.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,23 @@
+ad_page_contract {
+
+ Mark attendance for a given attendance task
+
+ @author Hamilton Chua (hamilton.chua@gmail.com)
+ @creation-date May 2005
+ @cvs-id $Id: mark-2.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+} {
+ cal_item_id:integer,notnull
+ user_id:integer,multiple,optional
+}
+
+# delete attendance for a cal_item_id
+db_dml "delattendance" "delete from attendance_cal_item_map where cal_item_id = :cal_item_id"
+
+if { [exists_and_not_null user_id ] } {
+
+ foreach id $user_id {
+ db_dml "updatemap" "insert into attendance_cal_item_map (cal_item_id, user_id) values (:cal_item_id, :id)"
+ }
+}
+
+ad_returnredirect -message "Attendance has been marked" "index"
\ No newline at end of file
Index: openacs-4/packages/attendance/www/admin/mark.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/mark.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/mark.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,12 @@
+
+@page_title;noquote@
+"@context;noquote@"
+
+@message;noquote@
+
+
\ No newline at end of file
Index: openacs-4/packages/attendance/www/admin/mark.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/mark.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/mark.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,48 @@
+ad_page_contract {
+
+ Mark attendance for a given attendance task
+
+ @author hamilton.chua@gmail.com
+ @creation-date May 2005
+ @cvs-id $Id: mark.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+} {
+ item_id:integer,notnull
+}
+
+# initial vars
+set page_title "Mark Attendance"
+set context $page_title
+set community_id [dotlrn_community::get_community_id]
+
+# task info
+
+db_1row "getgradeid" "select task_id, task_name, due_date from evaluation_tasks where task_item_id = :item_id"
+set cal_item_id [db_string "get_cal_id" "select cal_item_id from evaluation_cal_task_map where task_item_id =:item_id"]
+
+set due_date_pretty [lc_time_fmt $due_date "%q %r"]
+
+set message "Mark the users who were present for $task_name on $due_date_pretty
"
+
+template::list::create \
+ -name eval_members \
+ -multirow eval_members \
+ -elements {
+ member_name {
+ label "Name"
+ }
+ present {
+ label "Present"
+ display_template { checked> }
+ }
+ }
+
+set users [dotlrn_community::list_users $community_id]
+
+template::multirow create eval_members user_id member_name present
+
+foreach user $users {
+ set present [db_0or1row "checkattendance" "select user_id from attendance_cal_item_map where cal_item_id = :cal_item_id and user_id = [ns_set get $user user_id]"]
+ template::multirow append eval_members "[ns_set get $user user_id]" "[ns_set get $user first_names] [ns_set get $user last_name]" "$present"
+}
+
+ad_return_template
Index: openacs-4/packages/attendance/www/admin/student-list-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/Attic/student-list-oracle.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/student-list-oracle.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,76 @@
+
+
+
+ oracle8.1.6
+
+
+
+
+ select ev.party_id,
+ evaluation.party_name(ev.party_id,et.task_id) as party_name,
+ round(ev.grade,2) as grade,
+ to_char(ev.last_modified,'YYYY-MM-DD HH24:MI:SS') as evaluation_date_ansi,
+ ev.last_modified as evaluation_date,
+ to_char(ev.last_modified, 'YYYY-MM-DD HH24:MI:SS') as evaluation_date_ansi,
+ et.online_p,
+ et.due_date,
+ ev.evaluation_id
+ from evaluation_tasks et,
+ evaluation_student_evalsi ev,
+ $roles_table
+ cr_items cri
+ where et.task_id = :task_id
+ and et.task_item_id = ev.task_item_id
+ $roles_clause
+ and cri.live_revision = ev.evaluation_id
+ $orderby
+
+
+
+
+
+
+
+ select crr.filename as answer_data,
+ ea.title as answer_title,
+ ea.revision_id,
+ to_char(ea.creation_date, 'YYYY-MM-DD HH24:MI:SS') as submission_date_ansi,
+ ea.last_modified as submission_date
+ from evaluation_answersi ea, cr_items cri, cr_revisions crr
+ where ea.party_id = :party_id
+ and crr.revision_id = ea.answer_id
+ and ea.task_item_id = :task_item_id
+ and cri.live_revision = ea.answer_id
+
+
+
+
+
+
+
+ select ev.party_id,
+ evaluation.party_name(ev.party_id,et.task_id) as party_name,
+ crr.filename as answer_data,
+ crr.title as answer_title,
+ ev.revision_id,
+ to_char(ev.last_modified, 'YYYY-MM-DD HH24:MI:SS') as submission_date_ansi,
+ et.due_date,
+ ev.last_modified as submission_date
+ from evaluation_answersi ev,
+ evaluation_tasks et,
+ $roles_table
+ cr_items cri,
+ cr_revisions crr
+ where ev.task_item_id = et.task_item_id
+ and et.task_id = :task_id
+ and crr.revision_id = ev.answer_id
+ and crr.filename is not null
+ $roles_clause
+ and cri.live_revision = ev.answer_id
+ $processed_clause
+ $orderby_wa
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/student-list-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/Attic/student-list-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/student-list-postgresql.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,81 @@
+
+
+
+ postgresql7.3
+
+
+
+
+ select ev.party_id,
+ case when et.number_of_members = 1 then
+ (select last_name||', '||first_names from persons where person_id = ev.party_id)
+ else
+ (select group_name from groups where group_id = ev.party_id)
+ end as party_name,
+ round(ev.grade,2) as grade,
+ ev.last_modified as evaluation_date,
+ to_char(ev.last_modified, 'YYYY-MM-DD HH24:MI:SS') as evaluation_date_ansi,
+ et.online_p,
+ et.due_date,
+ ev.evaluation_id
+ from evaluation_tasks et,
+ evaluation_student_evalsi ev,
+ $roles_table
+ cr_items cri
+ where et.task_id = :task_id
+ and et.task_item_id = ev.task_item_id
+ $roles_clause
+ and cri.live_revision = ev.evaluation_id
+ $orderby
+
+
+
+
+
+
+
+ select ea.data as answer_data,
+ ea.title as answer_title,
+ ea.revision_id,
+ to_char(ea.creation_date, 'YYYY-MM-DD HH24:MI:SS') as submission_date_ansi,
+ ea.last_modified as submission_date
+ from evaluation_answersi ea, cr_items cri
+ where ea.party_id = :party_id
+ and ea.task_item_id = :task_item_id
+ and cri.live_revision = ea.answer_id
+
+
+
+
+
+
+
+ select ev.party_id,
+ case when et.number_of_members = 1 then
+ (select last_name||', '||first_names from persons where person_id = ev.party_id)
+ else
+ (select group_name from groups where group_id = ev.party_id)
+ end as party_name,
+ ev.party_id,
+ ev.data as answer_data,
+ ev.title as answer_title,
+ ev.revision_id,
+ to_char(ev.last_modified, 'YYYY-MM-DD HH24:MI:SS') as submission_date_ansi,
+ et.due_date,
+ ev.last_modified as submission_date
+ from evaluation_answersi ev,
+ evaluation_tasks et,
+ $roles_table
+ cr_items cri
+ where ev.task_item_id = et.task_item_id
+ and et.task_id = :task_id
+ and ev.data is not null
+ $roles_clause
+ and cri.live_revision = ev.answer_id
+ $processed_clause
+ $orderby_wa
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/student-list.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/Attic/student-list.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/student-list.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,134 @@
+
+@page_title;noquote@
+@context;noquote@
+
+
+
+ #evaluation.Task_Name# |
+ @task_name@ |
+
+
+ #evaluation.Due_Date# |
+ @due_date_pretty@ |
+
+
+ #evaluation.lt_Is_the_task_submitted# |
+
+
+
+ #evaluation.Yes#
+
+ #evaluation.No#
+
+
+ |
+
+
+ @groups_admin;noquote@ |
+ @task_admin;noquote@ |
+
+
+
+#evaluation.lt_Evaluated_Students_to#
+#evaluation.Theese#
+
+
+
+#evaluation.lt_Students_with_answers#
+#evaluation.lt_These_are_the_student#
+
+
+#evaluation.Click# #evaluation.here# #evaluation.lt_if_you_want_to_downlo#
+
+
+ #evaluation.Click# #evaluation.here# #evaluation.lt_if_you_do_not_want_to#
+
+ #evaluation.Click# #evaluation.here# #evaluation.lt_if_you_want_to_see_th#
+
+
+#evaluation.If#
+
+
+
+
+
+
+#evaluation.lt_There_are_no_students#
+
+
+
+#evaluation.lt_Students_who_have_not#
+
+#evaluation.lt_These_are_the_student_1#
+
+
+
+ #evaluation.Click# #evaluation.here# #evaluation.lt_if_you_do_not_want_to#
+
+ #evaluation.Click# #evaluation.here# #evaluation.lt_if_you_want_to_see_th#
+
+
+#evaluation.If#
+
+
+
+
+
+
+
+
+#evaluation.lt_There_are_no_students_1#
+
+ #evaluation.lt_task_name_is_in_group#
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/student-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/Attic/student-list.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/student-list.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,344 @@
+# /packages/evaluaiton/www/admin/evaluaitons/student-list.tcl
+
+ad_page_contract {
+ Displays the evaluations of students that have already been evaluated,
+ lists the ones that have not been evaluated yet (in order to evaluate them)
+ and deals with tasks in groups and individual.
+
+ @author jopez@galileo.edu
+ @creation-date Mar 2004
+ @cvs-id $Id: student-list.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+} {
+ task_id:integer,notnull
+ {show_portrait_p ""}
+ {return_url "[ad_conn url]?[export_vars -url { task_id }]"}
+ {orderby_wa:optional}
+ {orderby_na:optional}
+ {orderby:optional}
+}
+
+set user_id [ad_conn user_id]
+db_1row get_task_info { *SQL* }
+
+set page_title "[_ evaluation.lt_Students_List_for_tas]"
+set context [list "[_ evaluation.lt_Students_List_for_tas]"]
+set community_id [dotlrn_community::get_community_id]
+
+if { [string eq $show_portrait_p "t"] } {
+ set this_url "student-list?[export_vars -entire_form -url { { show_portrait_p f } }]"
+} else {
+ set this_url "student-list?[export_vars -entire_form -url { { show_portrait_p t } }]"
+}
+
+set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"]
+set return_url "[ad_conn url]?[ad_conn query]"
+
+if { $number_of_members > 1 } {
+ set groups_admin "[_ evaluation.lt_Groups_administration]"
+} else {
+ set groups_admin ""
+}
+set task_admin "[_ evaluation.lt_task_name_administrat]"
+
+set done_students [list]
+set evaluation_mode "display"
+
+set roles_table ""
+set roles_clause ""
+if { ![empty_string_p $community_id] && $number_of_members == 1 } {
+ set roles_table [db_map roles_table_query]
+ set roles_clause [db_map roles_clause_query]
+}
+
+#
+# working with already evaluated parties
+#
+
+set actions [list "[_ evaluation.Edit_Evaluations_]" [export_vars -base "evaluations-edit" { task_id }]]
+
+set elements [list count \
+ [list label "" \
+ display_template { @evaluated_students.rownum@. } \
+ ] \
+ party_name \
+ [list label "[_ evaluation.Name_]" \
+ orderby_asc {party_name asc} \
+ orderby_desc {party_name desc} \
+ link_url_eval {[export_vars -base "one-evaluation-edit" { evaluation_id task_id evaluation_mode }]} \
+ link_html { title "[_ evaluation.View_evaluation_]" } \
+ ] \
+ grade \
+ [list label "[_ evaluation.Grade_over_100_]" \
+ orderby_asc {grade asc} \
+ orderby_desc {grade desc} \
+ ] \
+ action \
+ [list label "" \
+ display_template { @evaluated_students.action;noquote@ } \
+ link_url_col action_url \
+ ] \
+ ]
+
+if { [string eq $online_p "t"] } {
+ lappend elements submission_date_pretty \
+ [list label "[_ evaluation.Submission_Date_]" \
+ display_template { @evaluated_students.submission_date_pretty;noquote@ }]
+}
+
+lappend elements view \
+ [list label "" \
+ sub_class narrow \
+ display_template {} \
+ link_url_eval {[export_vars -base "one-evaluation-edit" { evaluation_id task_id evaluation_mode }]} \
+ link_html { title "[_ evaluation.View_evaluation_]" } \
+ ]
+lappend elements edit \
+ [list label "" \
+ sub_class narrow \
+ display_template {} \
+ link_url_eval {[export_vars -base "one-evaluation-edit" { evaluation_id task_id }]} \
+ link_html { title "[_ evaluation.Edit_evaluation_]" } \
+ ]
+lappend elements delete \
+ [list label {} \
+ sub_class narrow \
+ display_template {} \
+ link_url_eval {[export_vars -base "evaluation-delete" { evaluation_id return_url task_id }]} \
+ link_html { title "[_ evaluation.Delete_evaluation_]" } \
+ ]
+
+
+template::list::create \
+ -name evaluated_students \
+ -multirow evaluated_students \
+ -actions $actions \
+ -key task_id \
+ -pass_properties { return_url task_id evaluation_mode } \
+ -filters { task_id {} } \
+ -orderby { default_value party_name } \
+ -elements $elements
+
+set orderby [template::list::orderby_clause -orderby -name evaluated_students]
+
+if {[string equal $orderby ""]} {
+ set orderby " order by party_name asc"
+}
+
+set total_evaluated 0
+db_multirow -extend { action action_url submission_date_pretty count } evaluated_students evaluated_students { *SQL* } {
+
+ incr total_evaluated
+ lappend done_students $party_id
+ set grade [lc_numeric $grade]
+
+ if { [string eq $online_p "t"] } {
+ if { [db_0or1row get_answer_info { *SQL* }] } {
+ # working with answer stuff (if it has a file/url attached)
+ if { [empty_string_p $answer_data] } {
+ set action "[_ evaluation.No_response_]"
+ } elseif { [string eq $answer_title "link"] } {
+ set action_url "[export_vars -base "$answer_data" { }]"
+ set action "[_ evaluation.View_answer_]"
+ } else {
+ # we assume it's a file
+ set action_url "[export_vars -base "../../view/$answer_title" { revision_id }]"
+ set action "[_ evaluation.View_answer_]"
+ }
+ if { [string eq $action "[_ evaluation.View_answer_]"] && ([db_string compare_evaluation_date { *SQL* } -default 0] ) } {
+ set action " [_ evaluation.View_NEW_answer_]"
+ }
+ set submission_date_pretty [lc_time_fmt $submission_date_ansi "%q %r"]
+ if { [db_string compare_submission_date { *SQL* } -default 0] } {
+ set submission_date_pretty "[_ evaluation.lt_submission_date_prett]"
+ }
+ } else {
+ set action "[_ evaluation.No_response_]"
+ }
+ }
+}
+
+if { [llength $done_students] > 0 } {
+ set processed_clause [db_map processed_clause]
+} else {
+ set processed_clause ""
+}
+
+set not_evaluated_with_answer 0
+
+#
+# working with students that have answered but have not been yet evaluated
+#
+
+set elements [list party_name \
+ [list label "[_ evaluation.Name_]" \
+ orderby_asc {party_name asc} \
+ orderby_desc {party_name desc} \
+ link_url_col party_url \
+ ] \
+ ]
+
+if { [string eq $show_portrait_p "t"] && [string eq $number_of_members "1"] } {
+ lappend elements portrait \
+ [list label "[_ evaluation.Students_Portrait_]" \
+ display_template { @not_evaluated_wa.portrait;noquote@ }
+ ]
+}
+
+lappend elements submission_date_pretty \
+ [list label "[_ evaluation.Submission_Date_]" \
+ display_template { @not_evaluated_wa.submission_date_pretty;noquote@ } \
+ orderby_asc {submission_date_ansi asc} \
+ orderby_desc {submission_date_ansi desc}]
+lappend elements answer \
+ [list label "[_ evaluation.Answer_]" \
+ link_url_col answer_url \
+ link_html { title "[_ evaluation.View_answer_]" }]
+lappend elements grade \
+ [list label "[_ evaluation.Maximun_Grade_] " \
+ display_template { } ]
+lappend elements comments \
+ [list label "[_ evaluation.Comments_]" \
+ display_template { } \
+ ]
+lappend elements show_answer \
+ [list label "[_ evaluation.lt_Allow_the_students_br]" \
+ display_template { [_ evaluation.Yes_] [_ evaluation.No_]
} \
+ ]
+
+template::list::create \
+ -name not_evaluated_wa \
+ -multirow not_evaluated_wa \
+ -key party_id \
+ -pass_properties { task_id return_url } \
+ -filters { task_id {} } \
+ -orderby_name orderby_wa \
+ -elements $elements
+
+
+set orderby_wa [template::list::orderby_clause -orderby -name not_evaluated_wa]
+
+if { [string equal $orderby_wa ""] } {
+ set orderby_wa " order by party_name asc"
+}
+
+db_multirow -extend { party_url answer answer_url submission_date_pretty portrait } not_evaluated_wa get_not_evaluated_wa_students { *SQL* } {
+
+ incr not_evaluated_with_answer
+ if { $number_of_members == 1 } {
+ set tag_attributes [ns_set create]
+ ns_set put $tag_attributes alt "[_ evaluation.lt_No_portrait_for_party]"
+ ns_set put $tag_attributes width 98
+ ns_set put $tag_attributes height 104
+ set portrait "[evaluation::get_user_portrait -user_id $party_id -tag_attributes $tag_attributes]"
+ } else {
+ set party_url "../groups/one-task?[export_vars -url { task_id return_url }]#groups"
+ }
+
+ lappend done_students $party_id
+ set submission_date_pretty "[lc_time_fmt $submission_date_ansi "%q %r"]"
+ if { [db_string compare_submission_date { *SQL* } -default 0] } {
+ set submission_date_pretty "[_ evaluation.lt_submission_date_prett_1]"
+ }
+ set answer "[_ evaluation.View_answer_]"
+ # working with answer stuff (if it has a file/url attached)
+ if { [string eq $answer_title "link"] } {
+ set answer_url [export_vars -base "$answer_data" { }]
+ } else {
+ # we assume it's a file
+ set answer_url [export_vars -base "../../view/$answer_title" { revision_id }]
+ }
+}
+
+#
+# working with students that have not answered and have not been yet evaluated and do not have submited their answers
+#
+
+set elements [list party_name \
+ [list label "[_ evaluation.Name_]" \
+ orderby_asc {party_name asc} \
+ orderby_desc {party_name desc} \
+ link_url_col party_url \
+ ] \
+ ]
+
+if { [string eq $show_portrait_p "t"] && [string eq $number_of_members "1"] } {
+ lappend elements portrait \
+ [list label "[_ evaluation.Students_Portrait_]" \
+ display_template { @not_evaluated_na.portrait;noquote@ }
+ ]
+}
+
+lappend elements grade \
+ [list label "[_ evaluation.Grade_over_] " \
+ display_template { } ]
+lappend elements comments \
+ [list label "[_ evaluation.Comments_]" \
+ display_template { } \
+ ]
+lappend elements show_answer \
+ [list label "[_ evaluation.lt_Allow_the_students_br]" \
+ display_template { [_ evaluation.Yes_] [_ evaluation.No_]
} \
+ ]
+
+template::list::create \
+ -name not_evaluated_na \
+ -multirow not_evaluated_na \
+ -key party_id \
+ -pass_properties { task_id return_url } \
+ -filters { task_id {} } \
+ -orderby_name orderby_na \
+ -elements $elements
+
+set orderby_na [template::list::orderby_clause -orderby -name not_evaluated_na]
+
+if { [string equal $orderby_na ""] } {
+ set orderby_na " order by party_name asc"
+}
+
+if { $number_of_members > 1 } {
+ if { [llength $done_students] > 0 } {
+ set not_in_clause [db_map not_in_clause]
+ } else {
+ set not_in_clause ""
+ }
+ set sql_query [db_map sql_query_groups]
+} else {
+ if { [llength $done_students] > 0 } {
+ set not_in_clause [db_map not_yet_in_clause_non_empty]
+ } else {
+ set not_in_clause [db_map not_yet_in_clause_empty]
+ }
+
+ # if this page is called from within a community (dotlrn) we have to show only the students
+
+ if { [empty_string_p $community_id] } {
+ set sql_query [db_map sql_query_individual]
+ } else {
+ set sql_query [db_map sql_query_community_individual]
+ }
+
+}
+
+set not_evaluated_with_no_answer 0
+
+db_multirow -extend { party_url portrait } not_evaluated_na get_not_evaluated_na_students { *SQL* } {
+
+ incr not_evaluated_with_no_answer
+ if { $number_of_members == 1 } {
+ set tag_attributes [ns_set create]
+ ns_set put $tag_attributes alt "[_ evaluation.lt_No_portrait_for_party]"
+ ns_set put $tag_attributes width 98
+ ns_set put $tag_attributes height 104
+ set portrait "[evaluation::get_user_portrait -user_id $party_id -tag_attributes $tag_attributes]"
+ } else {
+ set party_url "../groups/one-task?[export_vars -url { task_id return_url }]#groups"
+ }
+}
+
+set total_processed [llength $done_students]
+
+set grades_sheet_item_id [db_nextval acs_object_id_seq]
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/student-list.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/Attic/student-list.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/student-list.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+ and etg.group_id not in ([join $done_students ","])
+
+
+
+
+
+
+ dotlrn_member_rels_approved app,
+
+
+
+
+
+
+
+ and app.community_id = :community_id
+ and app.user_id = ev.party_id
+ and app.role='student'
+
+
+
+
+
+
+ where p.person_id not in ([join $done_students ","])
+
+
+
+
+
+
+ , cc_users cu
+ where p.person_id = cu.person_id
+ and cu.member_state = 'approved'
+
+
+
+
+
+
+
+ select p.person_id as party_id,
+ p.last_name||', '||p.first_names as party_name
+ from persons p
+ $not_in_clause
+
+
+
+
+
+
+
+ select app.user_id as party_id,
+ p.last_name||', '||p.first_names as party_name
+ from dotlrn_member_rels_approved app,
+ persons p
+ $not_in_clause
+ and app.community_id = :community_id
+ and app.user_id = p.person_id
+ and app.role = 'student'
+
+
+
+
+
+
+
+ $sql_query
+ $orderby_na
+
+
+
+
+
+
+
+ select 1 from dual where :submission_date_ansi > :evaluation_date_ansi
+
+
+
+
+
+
+
+ select 1 from dual where :submission_date_ansi > :due_date_ansi
+
+
+
+
+
+
+
+ and ev.party_id not in ([join $done_students ","])
+
+
+
+
+
+
+
+ select et.task_name,
+ et.task_item_id,
+ eg.grade_id,
+ eg.grade_plural_name,
+ eg.weight as grade_weight,
+ et.weight as task_weight,
+ to_char(et.due_date, 'YYYY-MM-DD HH24:MI:SS') as due_date_ansi,
+ et.number_of_members,
+ et.online_p
+ from evaluation_grades eg, evaluation_tasks et, cr_items cri
+ where et.task_id = :task_id
+ and et.grade_item_id = eg.grade_item_id
+ and cri.live_revision = eg.grade_id
+
+
+
+
+
+
+
+ select g.group_name as party_name,
+ g.group_id as party_id
+ from groups g, evaluation_task_groups etg, evaluation_tasks et,
+ acs_rels map
+ where g.group_id = etg.group_id
+ and etg.group_id = map.object_id_one
+ and map.rel_type = 'evaluation_task_group_rel'
+ and etg.task_item_id = et.task_item_id
+ and et.task_id = :task_id
+ $not_in_clause
+ group by g.group_id, g.group_name
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/summary.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/summary.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/summary.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,5 @@
+
+@page_title;noquote@
+"@context;noquote@"
+
+
\ No newline at end of file
Index: openacs-4/packages/attendance/www/admin/summary.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/summary.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/summary.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,48 @@
+ad_page_contract {
+
+ Display a summary of attendance per user
+
+ @author Hamilton Chua (hamilton.chua@gmail.com)
+ @creation-date May 2005
+ @cvs-id $Id: summary.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+} {
+
+}
+
+set page_title "Summary"
+set context $page_title
+
+# determine total number of sessions
+set community_id [dotlrn_community::get_community_id]
+set community_url [dotlrn_community::get_community_url $community_id]
+set calendar_id [dotlrn_calendar::get_group_calendar_id -community_id $community_id]
+set calendar_url [calendar_portlet_display::get_url_stub $calendar_id]
+set item_type_id [db_string item_type_id "select item_type_id from cal_item_types where type='Session' and calendar_id = :calendar_id"]
+set num_sessions [db_string num_sessions "select count(cal_item_id) from cal_items where on_which_calendar = :calendar_id and item_type_id = :item_type_id"]
+
+# generate attendance summary per student
+
+template::list::create \
+ -name summary \
+ -multirow summary \
+ -actions {
+ "Back to Attendance Tasks" "index" ""
+ } -key user_id \
+ -no_data "No summary" \
+ -elements {
+ member_name { label "Student" }
+ attendance { label "Attendance" }
+ rate { label "Rate" }
+}
+
+set users [dotlrn_community::list_users $community_id]
+
+template::multirow create summary member_name attendance rate
+
+foreach user $users {
+ set user_id [ns_set get $user user_id]
+ set attendance [db_string "count" "select count(user_id) from attendance_cal_item_map where user_id = :user_id and cal_item_id in (select cal_item_id from cal_items where on_which_calendar = :calendar_id and item_type_id = :item_type_id )" ]
+ if { $attendance == 0 } { set rate "0" } else { set rate [expr $num_sessions/$attendance*100] }
+ template::multirow append summary "[ns_set get $user first_names] [ns_set get $user last_name]" "$attendance of $num_sessions" "$rate %"
+}
+
Index: openacs-4/packages/attendance/www/admin/task-delete-2-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete-2-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete-2-postgresql.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,16 @@
+
+
+
+ postgresql7.3
+
+
+
+
+ select evaluation__delete_task (
+ :task_id
+ );
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/task-delete-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete-2.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete-2.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,40 @@
+ad_page_contract {
+ Removes relations
+
+ @author jopez@galileo.edu
+ @creation-date Mar 2004
+ @cvs-id $Id: task-delete-2.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+} {
+ task_id:integer,notnull
+ grade_id:integer,notnull
+ operation
+ return_url
+}
+
+if { [string eq $operation [_ evaluation.lt_Yes_I_really_want_to__3]] } {
+
+ db_transaction {
+
+ # calendar integration (begin)
+ db_1row get_item_id { *SQL* }
+ db_foreach cal_map { *SQL* } {
+ db_dml delete_mapping { *SQL* }
+ calendar::item::delete -cal_item_id $cal_item_id
+ }
+ # calendar integration (end)
+ evaluation::delete_task -task_id $task_id
+
+ } on_error {
+ ad_return_error "[_ evaluation.lt_Error_deleting_the_ta]" "[_ evaluation.lt_We_got_the_following__2]"
+ ad_script_abort
+ }
+} else {
+ if { [empty_string_p $return_url] } {
+ # redirect to the index page by default
+ set return_url "$return_url"
+ }
+}
+
+db_release_unused_handles
+
+ad_returnredirect "$return_url"
Index: openacs-4/packages/attendance/www/admin/task-delete-2.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete-2.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete-2.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+ select task_item_id
+ from evaluation_tasks
+ where task_id = :task_id
+
+
+
+
+
+
+
+ select cal_item_id
+ from evaluation_cal_task_map
+ where task_item_id = :task_item_id
+
+
+
+
+
+
+
+ delete from evaluation_cal_task_map where cal_item_id = :cal_item_id
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/task-delete-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete-postgresql.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,16 @@
+
+
+
+ postgresql7.3
+
+
+
+
+ select et.task_name
+ from evaluation_tasks et
+ where et.task_id = :task_id
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/task-delete.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete.adp 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,13 @@
+
+@context;noquote@
+@page_title;noquote@
+
+Are you sure you want to delete this attendance task ?
+
+
+
+
+
+
+
+
Index: openacs-4/packages/attendance/www/admin/task-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete.tcl 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,24 @@
+ad_page_contract {
+
+ Deletes a task after confirmation
+
+ @author jopez@galileo.edu
+ @creation-date Mar 2004
+ @cvs-id $Id: task-delete.tcl,v 1.1 2005/05/31 22:02:59 hamiltonc Exp $
+
+} {
+ task_id:integer,notnull
+ grade_id:integer,notnull
+ return_url
+}
+
+set page_title "Remove Attendance Task"
+
+set context ""
+
+
+db_1row get_task_info { *SQL* }
+
+set export_vars [export_form_vars task_id grade_id return_url]
+
+ad_return_template
Index: openacs-4/packages/attendance/www/admin/task-delete.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attendance/www/admin/task-delete.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/attendance/www/admin/task-delete.xql 31 May 2005 22:02:59 -0000 1.1
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+ select et.task_name
+ from evaluation_tasks et
+ where et.task_id = :task_id
+
+
+
+
+