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#
+
+
+#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;
-}