Index: openacs-4/packages/lab-report-central/catalog/lab-report-central.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/catalog/lab-report-central.en_US.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lab-report-central/catalog/lab-report-central.en_US.ISO-8859-1.xml 30 Apr 2006 09:27:41 -0000 1.3 +++ openacs-4/packages/lab-report-central/catalog/lab-report-central.en_US.ISO-8859-1.xml 30 Apr 2006 12:01:30 -0000 1.4 @@ -6,6 +6,7 @@ Add instructor to list Add Lab Add Section + Add Student Add Template Add template to list Admin @@ -15,9 +16,11 @@ Create Section Create Template Delete + Delete Section Description Edit Edit Lab + Edit Section Edit Template Enter lab description. Enter the last day of the lab. @@ -52,6 +55,7 @@ Report Templates Section Sections + Students Template Template Sections Templates @@ -61,6 +65,8 @@ View Report Templates Continue with deleting the instructor? Continue with deleting the lab? + Continue with deleting the last section? Continue with removing the report template? + Continue with removing student from the lab? Continue with removing report template from lab? Index: openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql 30 Apr 2006 09:27:41 -0000 1.3 +++ openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql 30 Apr 2006 12:01:30 -0000 1.4 @@ -150,7 +150,18 @@ on delete cascade ); +create table lrc_lab_student_map ( + lab_id integer + constraint lrc_lab_student_map_lab_id_fk + references lrc_lab (lab_id) + on delete cascade, + user_id integer + constraint lrc_lab_student_map_user_id_fk + references users (user_id) + on delete cascade +); + -- -- Create functions -- Index: openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql 30 Apr 2006 09:27:41 -0000 1.3 +++ openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql 30 Apr 2006 12:01:30 -0000 1.4 @@ -74,6 +74,7 @@ drop table lrc_template; drop table lrc_groups; drop table lrc_lab_template_map; +drop table lrc_lab_student_map; delete from acs_objects where object_type='lrc_lab'; delete from acs_objects where object_type='lrc_template'; Index: openacs-4/packages/lab-report-central/tcl/install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/tcl/install-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/tcl/install-procs.tcl 24 Apr 2006 11:27:04 -0000 1.1 +++ openacs-4/packages/lab-report-central/tcl/install-procs.tcl 30 Apr 2006 12:01:31 -0000 1.2 @@ -21,11 +21,10 @@ } ad_proc -private lab_report_central::install::create_instructor_group {} { - Creates the lab group types. + Creates the lab group instructor type. } { set magic_name "instructors" set group_id [group::new -group_name "[_ lab-report-central.instructor]"] db_dml insert {} } - Index: openacs-4/packages/lab-report-central/tcl/lab-report-central-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/tcl/lab-report-central-procs-postgresql.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report-central/tcl/lab-report-central-procs-postgresql.xql 27 Apr 2006 04:34:33 -0000 1.2 +++ openacs-4/packages/lab-report-central/tcl/lab-report-central-procs-postgresql.xql 30 Apr 2006 12:01:31 -0000 1.3 @@ -85,4 +85,35 @@ WHERE t.template_id NOT IN (select template_id from lrc_lab_template_map where lab_id = :lab_id) + + + + select distinct u.first_names || ' ' || u.last_name || ' (' || u.email || ')' as name, u.user_id + from cc_users u + where lower(coalesce(u.first_names || ' ', '') || + coalesce(u.last_name || ' ', '') || + u.email || ' ' || + coalesce(u.screen_name, '')) like lower('%'||:value||'%') + AND u.user_id NOT IN ( + SELECT user_id + FROM lrc_lab_student_map m + WHERE m.lab_id = $lab_id + ) + ORDER by name + + + + + + select distinct u.first_names || ' ' || u.last_name || ' (' || u.email || ')' as name, u.user_id + from cc_users u + WHERE u.user_id NOT IN ( + SELECT user_id + FROM lrc_lab_student_map m + WHERE m.lab_id = :lab_id + ) + ORDER by name + + + Index: openacs-4/packages/lab-report-central/tcl/lab-report-central-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/tcl/lab-report-central-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report-central/tcl/lab-report-central-procs.tcl 27 Apr 2006 04:34:33 -0000 1.2 +++ openacs-4/packages/lab-report-central/tcl/lab-report-central-procs.tcl 30 Apr 2006 12:01:31 -0000 1.3 @@ -47,3 +47,17 @@ return $templates_list } + +ad_proc lab_report_central::unmapped_students_get_options { + -lab_id +} { + Retrieves an options list of users that aren't mapped to the + given lab. + + @param lab_id Lab ID. +} { + set users_list [db_list_of_lists students {}] + set users_list [concat [list [list Search ":search:"]] $users_list] + + return $users_list +} Index: openacs-4/packages/lab-report-central/www/attach-student-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/Attic/attach-student-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report-central/www/attach-student-postgresql.xql 30 Apr 2006 12:01:31 -0000 1.1 @@ -0,0 +1,21 @@ + + + + postgresql7.4 + + + + SELECT name + FROM lrc_lab + WHERE lab_id = :lab_id + + + + + + INSERT INTO lrc_lab_student_map (lab_id, user_id) + VALUES (:lab_id, :student_id) + + + + Index: openacs-4/packages/lab-report-central/www/attach-student.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/Attic/attach-student.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report-central/www/attach-student.adp 30 Apr 2006 12:01:31 -0000 1.1 @@ -0,0 +1,6 @@ + +@page_title;noquote@ +@context;noquote@ +attach_student.name + + Index: openacs-4/packages/lab-report-central/www/attach-student.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/Attic/attach-student.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report-central/www/attach-student.tcl 30 Apr 2006 12:01:31 -0000 1.1 @@ -0,0 +1,48 @@ +ad_page_contract { + Add a student to a lab. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-04-18 + @cvs-id $Id: attach-student.tcl,v 1.1 2006/04/30 12:01:31 ncarroll Exp $ +} { + lab_id:integer + return_url:optional +} + +auth::require_login + +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] +set peeraddr [ad_conn peeraddr] + +permission::require_permission -party_id $user_id -object_id $package_id \ + -privilege lab_report_central_admin + +if { ![info exists return_url] } { + set return_url [export_vars -url -base lab {lab_id}] +} + +set lab_name [db_string lab_name {} -default ""] + +set page_title [_ lab-report-central.add_student] +set context [list [list [export_vars -url -base lab {lab_id}] $lab_name] \ + $page_title] + +ad_form -name attach_student -cancel_url $return_url -form { + {lab_id:integer(hidden) {value $lab_id}} + {return_url:text(hidden) {value $return_url}} + {student_id:search + {result_datatype integer} + {label "[_ lab-report-central.student]" } + {help_text "[_ lab-report-central.help_select_student_to_attach]"} + {options "[lab_report_central::unmapped_students_get_options \ + -lab_id $lab_id]"} + {search_query {[db_map dbqd.lab-report-central.tcl.lab-report-central-procs.lab_student_search]}} + } +} -after_submit { + # Map student to lab. + db_dml attach_student {} + + ad_returnredirect $return_url + ad_script_abort +} Index: openacs-4/packages/lab-report-central/www/detach-student-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/detach-student-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report-central/www/detach-student-postgresql.xql 30 Apr 2006 12:01:31 -0000 1.1 @@ -0,0 +1,14 @@ + + + + postgresql7.4 + + + + DELETE FROM lrc_lab_student_map + WHERE user_id = :student_id + AND lab_id = :lab_id + + + + Index: openacs-4/packages/lab-report-central/www/detach-student.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/detach-student.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report-central/www/detach-student.tcl 30 Apr 2006 12:01:31 -0000 1.1 @@ -0,0 +1,28 @@ +ad_page_contract { + Detaches the given student from the given lab. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-04-30 + @cvs-id $Id: detach-student.tcl,v 1.1 2006/04/30 12:01:31 ncarroll Exp $ +} { + lab_id:integer + student_id:integer + return_url:optional +} + +set user_id [ad_conn user_id] +set package_id [ad_conn package_id] + +permission::require_permission -party_id $user_id -object_id $package_id \ + -privilege lab_report_central_admin + +if { ![info exists return_url] } { + set return_url [export_vars -url -base lab {lab_id}] +} + +db_transaction { + db_dml detach_student {} +} + +ad_returnredirect $return_url +ad_script_abort Index: openacs-4/packages/lab-report-central/www/lab-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/lab-postgresql.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report-central/www/lab-postgresql.xql 27 Apr 2006 04:34:34 -0000 1.2 +++ openacs-4/packages/lab-report-central/www/lab-postgresql.xql 30 Apr 2006 12:01:31 -0000 1.3 @@ -24,4 +24,12 @@ + + + SELECT u.user_id AS student_id, u.first_names, u.last_name, u.email + FROM cc_users u, lrc_lab_student_map m + WHERE u.user_id = m.user_id + AND m.lab_id = :lab_id + + Index: openacs-4/packages/lab-report-central/www/lab.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/lab.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report-central/www/lab.adp 27 Apr 2006 04:34:34 -0000 1.2 +++ openacs-4/packages/lab-report-central/www/lab.adp 30 Apr 2006 12:01:31 -0000 1.3 @@ -29,7 +29,7 @@

#lab-report-central.lab_report_templates#

- + @@ -41,7 +41,7 @@ @rt.template_name@ #lab-report-central.view# - #lab-report-central.remove# + #lab-report-central.remove#
@@ -52,3 +52,28 @@
  • #lab-report-central.no_lab_report_templates_added#
+ + +

#lab-report-central.students#

+
+ + + + + + + +
  • #lab-report-central.no_students_added#
+
+
+
Index: openacs-4/packages/lab-report-central/www/lab.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/lab.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lab-report-central/www/lab.tcl 27 Apr 2006 04:51:00 -0000 1.3 +++ openacs-4/packages/lab-report-central/www/lab.tcl 30 Apr 2006 12:01:31 -0000 1.4 @@ -32,16 +32,14 @@ set create_url [export_vars -url -base attach-template { lab_id }] -set create_p [permission::permission_p -party_id $user_id \ +set admin_p [permission::permission_p -party_id $user_id \ -object_id $package_id \ - -privilege lab_report_central_admin_create] + -privilege lab_report_central_admin] -set delete_p [permission::permission_p -party_id $user_id \ - -object_id $package_id \ - -privilege lab_report_central_admin_delete] +set add_student_url [export_vars -url -base attach-student {lab_id}] -set modify_p [permission::permission_p -party_id $user_id \ - -object_id $package_id \ - -privilege lab_report_central_admin_modify] +db_multirow -extend {rem_student_url} student select_students {} { + set rem_student_url [export_vars -url -base detach-student {lab_id student_id}] +} ad_return_template Index: openacs-4/packages/lab-report-central/www/resources/lab-report-central.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/resources/lab-report-central.css,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lab-report-central/www/resources/lab-report-central.css 30 Apr 2006 09:27:41 -0000 1.3 +++ openacs-4/packages/lab-report-central/www/resources/lab-report-central.css 30 Apr 2006 12:01:31 -0000 1.4 @@ -1,3 +1,9 @@ +/* Global styles */ +.spacer { + clear: both; +} + + /* Action Container */ #lrc-actions-container { margin: 0px auto; @@ -234,9 +240,3 @@ #lrc-section-container ul li.edit { text-align: right; } - - -/* Global styles */ -.spacer { - clear: both; -}