Index: openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml 12 May 2006 01:34:34 -0000 1.2
+++ openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml 24 May 2006 12:30:40 -0000 1.3
@@ -5,18 +5,23 @@
Author
Author already exists. You cannot add another author.
Author Group
+ Comments
Content
Description
Edit
for
Enter content for this section of your lab report.
Select an author from the list.
+ Lab Report
Lab reports for
Labs
New
Overview
This application requires an author to be set in order to write lab reports. Please inform your site administrator that an author needs to be set for this application.
+ Report
Reports for
+ Resources
Search
+ Section Content
View
Index: openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql 21 May 2006 05:29:44 -0000 1.3
+++ openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql 24 May 2006 12:30:40 -0000 1.4
@@ -148,7 +148,9 @@
p_creation_date,
p_creation_user,
p_creation_ip,
- p_context_id
+ p_context_id,
+ ''#lab-report.lab_report#'',
+ p_package_id
);
INSERT INTO lr_report (
@@ -237,3 +239,7 @@
return v_content_id;
end;' language 'plpgsql';
+
+
+-- Register service contract implementations.
+\i lab-report-sc-create.sql
\ No newline at end of file
Index: openacs-4/packages/lab-report/sql/postgresql/lab-report-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/sql/postgresql/lab-report-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lab-report/sql/postgresql/lab-report-drop.sql 24 May 2006 12:30:40 -0000 1.1
@@ -0,0 +1,2 @@
+-- Drop service contract implementations.
+\i lab-report-sc-drop.sql
\ No newline at end of file
Index: openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-create.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-create.sql 24 May 2006 12:30:40 -0000 1.1
@@ -0,0 +1,31 @@
+-- This is a lab report implementation of the FtsContentProvider
+-- service contract
+
+select acs_sc_impl__new(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report', -- impl_name
+ 'lab-report' -- impl_owner_name
+);
+
+select acs_sc_impl_alias__new(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report', -- impl_name
+ 'datasource', -- impl_operation_name
+ 'lab_report::sc::search::datasource', -- impl_alias
+ 'TCL' -- impl_pl
+);
+
+select acs_sc_impl_alias__new(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report', -- impl_name
+ 'url', -- impl_operation_name
+ 'lab_report::sc::search::url', -- impl_alias
+ 'TCL' -- impl_pl
+);
+
+
+-- Add the binding
+select acs_sc_binding__new (
+ 'FtsContentProvider',
+ 'lr_report'
+);
Index: openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lab-report/sql/postgresql/lab-report-sc-drop.sql 24 May 2006 12:30:40 -0000 1.1
@@ -0,0 +1,24 @@
+-- Drop the lab report implementation of the FtsContentProvider
+-- service contract
+
+select acs_sc_binding__delete(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report' -- impl_name
+);
+
+select acs_sc_impl__delete(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report' -- impl_name
+);
+
+select acs_sc_impl_alias__delete(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report', -- impl_name
+ 'datasource' -- impl_operation_name
+);
+
+select acs_sc_impl_alias__delete(
+ 'FtsContentProvider', -- impl_contract_name
+ 'lr_report', -- impl_name
+ 'url' -- impl_operation_name
+);
Index: openacs-4/packages/lab-report/tcl/install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/tcl/install-procs.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lab-report/tcl/install-procs.tcl 11 May 2006 11:11:37 -0000 1.1
+++ openacs-4/packages/lab-report/tcl/install-procs.tcl 24 May 2006 12:30:41 -0000 1.2
@@ -19,6 +19,8 @@
} {
db_transaction {
lab_report::install::create_author_group -package_id $package_id
+
+ lab_report::install::grant_gc_create -package_id $package_id
}
}
Index: openacs-4/packages/lab-report/tcl/lab-report-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/tcl/lab-report-procs.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lab-report/tcl/lab-report-procs.tcl 11 May 2006 11:11:37 -0000 1.1
+++ openacs-4/packages/lab-report/tcl/lab-report-procs.tcl 24 May 2006 12:30:41 -0000 1.2
@@ -68,3 +68,19 @@
return $users_list
}
+
+
+ad_proc -public lab_report::grant_gc_create {
+ -party_id
+ -object_id
+} {
+ Grants general_comments_create privileges to the party on the
+ specified object_id.
+
+ @param object_id The ID of an object to grant commenting privileges
+ to a party.
+} {
+ permission::grant -party_id $party_id \
+ -object_id $object_id \
+ -privilege "general_comments_create"
+}
Index: openacs-4/packages/lab-report/tcl/lab-report-sc-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/tcl/lab-report-sc-procs-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lab-report/tcl/lab-report-sc-procs-postgresql.xql 24 May 2006 12:30:41 -0000 1.1
@@ -0,0 +1,57 @@
+
+
+
+ postgresql7.4
+
+
+
+ SELECT template_id, package_id
+ FROM lr_report
+ WHERE report_id = :object_id
+
+
+
+
+
+ SELECT c.content
+ FROM lrc_section s LEFT OUTER JOIN lr_section_content c
+ ON (s.section_id = c.section_id AND c.package_id = :package_id)
+ WHERE s.template_id = :template_id
+ ORDER BY s.section_id
+
+
+
+
+
+ SELECT r.report_id AS object_id,
+ t.name AS title,
+ 'text/html' as mime,
+ '' as keywords,
+ 'text' as storage_type
+ FROM lr_report r, lrc_template t
+ WHERE r.report_id = :object_id
+ AND r.template_id = t.template_id
+
+
+
+
+
+ SELECT l.lab_id
+ FROM lrc_lab_template_map l, lrc_lab_student_map s, lr_report r
+ WHERE r.report_id = :report_id
+ AND r.template_id = l.template_id
+ AND l.lab_id = s.lab_id
+ AND s.user_id = r.author_id
+
+
+
+
+
+ SELECT site_node__url (s.node_id) AS url_stub, r.template_id
+ FROM site_nodes s, lr_report r
+ WHERE r.report_id = :report_id
+ AND s.object_id = r.package_id
+
+
+
+
Index: openacs-4/packages/lab-report/tcl/lab-report-sc-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/tcl/lab-report-sc-procs.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lab-report/tcl/lab-report-sc-procs.tcl 24 May 2006 12:30:41 -0000 1.1
@@ -0,0 +1,48 @@
+ad_library {
+ Lab report search procs.
+
+ @author Nick Carroll
+ @creation-date 2006-05-21
+ @cvs $Id: lab-report-sc-procs.tcl,v 1.1 2006/05/24 12:30:41 ncarroll Exp $
+}
+
+
+namespace eval lab_report::sc::search {}
+
+ad_proc lab_report::sc::search::datasource {
+ object_id
+} {
+ @author Nick Carroll
+} {
+ db_1row select_details {}
+
+ set content ""
+ db_foreach select_content {} {
+ append content [template::util::richtext::get_property \
+ html_value $content]
+ append " "
+ }
+
+ db_0or1row select_datasource {} -column_array datasource
+ set datasource(content) $content
+
+ return [array get datasource]
+}
+
+
+ad_proc lab_report::sc::search::url {
+ object_id
+} {
+ @author Nick Carroll
+} {
+ set report_id $object_id
+
+ db_1row select_lab_id {}
+ db_1row select_url {}
+
+ set url "${url_stub}[export_vars -url -base view-report {report_id template_id lab_id}]"
+
+ return $url
+}
+
+
Index: openacs-4/packages/lab-report/www/new-report.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/new-report.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lab-report/www/new-report.tcl 12 May 2006 01:34:34 -0000 1.1
+++ openacs-4/packages/lab-report/www/new-report.tcl 24 May 2006 12:30:41 -0000 1.2
@@ -25,6 +25,19 @@
[list template_id $template_id] \
[list author_id $author_id]] \
lr_report]
+
+ # Get instructor group ID.
+ set instructor_group_id [lab_report_central::instructor_group_id]
+
+ # Grant instructors commenting privileges on report.
+ lab_report::grant_gc_create \
+ -party_id $instructor_group_id \
+ -object_id $report_id
+
+ # Grant author commenting privileges on report.
+ lab_report::grant_gc_create \
+ -party_id $author_id \
+ -object_id $report_id
}
# Redirect to view-report page.
Index: openacs-4/packages/lab-report/www/new-section.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/new-section.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lab-report/www/new-section.tcl 21 May 2006 05:29:44 -0000 1.2
+++ openacs-4/packages/lab-report/www/new-section.tcl 24 May 2006 12:30:41 -0000 1.3
@@ -30,6 +30,19 @@
[list package_id $package_id] \
[list author_id $author_id]] \
lr_section_content]
+
+ # Get instructor group ID.
+ set instructor_group_id [lab_report_central::instructor_group_id]
+
+ # Grant instructors commenting privileges on report.
+ lab_report::grant_gc_create \
+ -party_id $instructor_group_id \
+ -object_id $content_id
+
+ # Grant author commenting privileges on report.
+ lab_report::grant_gc_create \
+ -party_id $author_id \
+ -object_id $content_id
}
# Redirect to edit-section page.
Index: openacs-4/packages/lab-report/www/view-lab-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-lab-postgresql.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lab-report/www/view-lab-postgresql.xql 12 May 2006 01:34:34 -0000 1.2
+++ openacs-4/packages/lab-report/www/view-lab-postgresql.xql 24 May 2006 12:30:41 -0000 1.3
@@ -19,7 +19,8 @@
SELECT r.report_id, t.template_id, t.name,
t.description AS template_desc
FROM lrc_template t
- LEFT OUTER JOIN lr_report r ON (r.template_id = t.template_id),
+ LEFT OUTER JOIN lr_report r ON (r.template_id = t.template_id
+ AND r.author_id = :author_id),
lrc_lab_template_map m
WHERE m.lab_id = :lab_id
AND m.template_id = t.template_id
Index: openacs-4/packages/lab-report/www/view-report.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-report.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lab-report/www/view-report.adp 21 May 2006 05:29:44 -0000 1.3
+++ openacs-4/packages/lab-report/www/view-report.adp 24 May 2006 12:30:41 -0000 1.4
@@ -5,6 +5,7 @@
+@report_id@
@@ -31,6 +32,13 @@
@sections.content;noquote@
+
Index: openacs-4/packages/lab-report/www/view-report.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-report.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lab-report/www/view-report.tcl 12 May 2006 01:34:34 -0000 1.2
+++ openacs-4/packages/lab-report/www/view-report.tcl 24 May 2006 12:30:41 -0000 1.3
@@ -35,8 +35,17 @@
}
set lab_url [export_vars -url -base view-lab {lab_id}]
-set overview_url [export_vars -url -base view-report { lab_id template_id }]]
+# General comments
+set return_url [export_vars -url \
+ -base "[ad_conn package_url]view-report" \
+ { lab_id template_id report_id }]
+
+set gc_link [general_comments_create_link -link_attributes {class="button"} \
+ $report_id $return_url]
+set gc_comments [general_comments_get_comments $report_id $return_url]
+
+# Title and context
set title "$template_name"
set context [list [list $lab_url $lab_name] $title]
Index: openacs-4/packages/lab-report/www/view-section.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-section.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lab-report/www/view-section.adp 21 May 2006 08:54:15 -0000 1.3
+++ openacs-4/packages/lab-report/www/view-section.adp 24 May 2006 12:30:41 -0000 1.4
@@ -55,6 +55,15 @@
+
+
+
Index: openacs-4/packages/lab-report/www/view-section.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-section.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lab-report/www/view-section.tcl 21 May 2006 08:54:15 -0000 1.2
+++ openacs-4/packages/lab-report/www/view-section.tcl 24 May 2006 12:30:41 -0000 1.3
@@ -55,8 +55,21 @@
set edit_url [export_vars -url -base edit-section {report_id lab_id section_id template_id content_id}]
set content [template::util::richtext::get_property html_value $content]
+
+ # General comments
+ set return_url [export_vars -url \
+ -base "[ad_conn package_url]view-section" \
+ { report_id lab_id template_id section_id }]
+
+ set gc_link [general_comments_create_link \
+ -object_name "$section_name" \
+ -link_attributes {class="button"} \
+ $content_id $return_url]
+ set gc_comments [general_comments_get_comments \
+ $content_id $return_url]
}
+# Title and context
set title "$section_name"
set context [list [list $lab_url $lab_name] \
[list $overview_url $template_name] $title]
Index: openacs-4/packages/lab-report/www/resources/lab-report.css
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/resources/lab-report.css,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/lab-report/www/resources/lab-report.css 21 May 2006 08:54:15 -0000 1.4
+++ openacs-4/packages/lab-report/www/resources/lab-report.css 24 May 2006 12:30:41 -0000 1.5
@@ -14,7 +14,13 @@
font-size: 12px;
}
+.add-comment {
+ margin: 0px auto;
+ text-align: center;
+ margin-top: 1em;
+}
+
/* Report Lab Container */
#lr-lab-list-container {
margin-left: 30px;
@@ -234,12 +240,23 @@
div#report-container table tr td.content ul li.content {
padding: 5px;
border: 1px solid #000;
+ margin-bottom: 1em;
}
div#report-container table tr td.content ul li.content a.edit {
float: right;
}
+div#report-container table tr td.content ul li.comments {
+ padding: 5px;
+ border: 1px solid #000;
+}
+
+div#report-container table tr td.content ul li.comments ul {
+ margin-left: 2em;
+ margin-right: 2em;
+}
+
div#report-container h3 {
color: #686868;
}
Index: openacs-4/packages/lab-report/www/resources/main-portal.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/resources/main-portal.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lab-report/www/resources/main-portal.adp 11 May 2006 11:11:37 -0000 1.1
+++ openacs-4/packages/lab-report/www/resources/main-portal.adp 24 May 2006 12:30:41 -0000 1.2
@@ -5,7 +5,9 @@
@header_stuff;noquote@
+
@displayed_object_id@
+
Index: openacs-4/packages/lab-report/www/resources/main-portal.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/resources/main-portal.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lab-report/www/resources/main-portal.tcl 11 May 2006 11:11:37 -0000 1.1
+++ openacs-4/packages/lab-report/www/resources/main-portal.tcl 24 May 2006 12:30:41 -0000 1.2
@@ -34,6 +34,10 @@
set user_options {}
}
+if { ![info exists displayed_object_id] } {
+ set displayed_object_id {}
+}
+
set user_id [ad_conn user_id]
set package_id [ad_conn package_id]