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.5 -r1.6 --- openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml 23 Aug 2006 05:43:56 -0000 1.5 +++ openacs-4/packages/lab-report/catalog/lab-report.en_US.ISO-8859-1.xml 24 Aug 2006 10:56:28 -0000 1.6 @@ -1,37 +1,50 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <message_catalog package_key="lab-report" package_version="0.1d" locale="en_US" charset="ISO-8859-1"> + <msg key="add_comment">Add Comment</msg> <msg key="admin">Admin</msg> <msg key="author">Author</msg> <msg key="author_already_exists">Author already exists. You cannot add another author.</msg> <msg key="author_group">Author Group</msg> + <msg key="available_for_editing_from">Available for editing from</msg> + <msg key="closed">Closed</msg> + <msg key="comment">Comment</msg> <msg key="comments">Comments</msg> <msg key="content">Content</msg> <msg key="criteria">Criteria</msg> <msg key="description">Description</msg> <msg key="edit">Edit</msg> + <msg key="edit_comment">Edit Comment</msg> <msg key="edit_feedback">Edit Feedback</msg> + <msg key="enter_section_comment">Enter any comments for the section of the report.</msg> <msg key="feedback">Feedback</msg> <msg key="for">for</msg> - <msg key="help_enter_comments">Enter any comments.</msg> + <msg key="help">Help</msg> + <msg key="help_enter_section_comment">Enter any comments for this section.</msg> <msg key="help_enter_section_content">Enter content for this section of your lab report.</msg> <msg key="help_select_author">Select an author from the list.</msg> <msg key="help_select_rating">Select a rating for this criteria.</msg> + <msg key="info">Info</msg> <msg key="instructions">Instructions</msg> <msg key="lab_report">Lab Report</msg> <msg key="lab_reports_for">Lab reports for</msg> <msg key="labs">Labs</msg> + <msg key="need_help">Need Help</msg> <msg key="new">New</msg> <msg key="overview">Overview</msg> <msg key="please_inform_administrator_need_author">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.</msg> <msg key="rating">Rating</msg> + <msg key="release">Release</msg> <msg key="report">Report</msg> <msg key="report_view">Report View</msg> <msg key="reports_for">Reports for</msg> <msg key="resources">Resources</msg> <msg key="search">Search</msg> <msg key="section_content">Section Content</msg> <msg key="section_feedback">Section Feedback</msg> + <msg key="submission">Submission</msg> + <msg key="submission_due_date">Submission due date</msg> + <msg key="to">to</msg> <msg key="view">View</msg> <msg key="you_do_not_have_permission_to_provide_feedback">You do not have permission to provide feedback.</msg> </message_catalog> 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.6 -r1.7 --- openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql 23 Aug 2006 05:43:56 -0000 1.6 +++ openacs-4/packages/lab-report/sql/postgresql/lab-report-create.sql 24 Aug 2006 10:56:28 -0000 1.7 @@ -63,6 +63,21 @@ null ); + +select acs_object_type__create_type ( + 'lr_section_comment', + '#lab-report.section_comment#', + '#lab-report.section_comments#', + 'acs_object', + 'lr_section_comment', + 'comment_id', + null, + 'f', + null, + null +); + + -- -- Create tables -- @@ -153,6 +168,29 @@ ); +create table lr_section_comment ( + comment_id integer + constraint lr_section_comment_pk + primary key, + report_id integer + constraint lr_section_comment_report_id_fk + references lr_report (report_id) + on delete cascade, + section_id integer + constraint lr_section_comment_section_id_fk + references lrc_section (section_id) + on delete cascade, + instructor_id integer + constraint lr_section_comment_instructor_id_fk + references users(user_id), + comment text, + package_id integer + constraint lr_section_comment_package_id_fk + references apm_packages (package_id) + on delete cascade +); + + -- -- Create functions -- @@ -369,5 +407,89 @@ end;' language 'plpgsql'; +select define_function_args('lr_section_comment__new','comment_id,report_id,section_id,instructor_id,comment,package_id,creation_date;now,creation_user,creation_ip,context_id'); + +create function lr_section_comment__new ( + integer, + integer, + integer, + integer, + text, + integer, + timestamptz, + integer, + varchar, + integer +) returns integer as ' +declare + p_comment_id alias for $1; -- default null + p_report_id alias for $2; + p_section_id alias for $3; + p_instructor_id alias for $4; + p_comment alias for $5; + p_package_id alias for $6; + p_creation_date alias for $7; -- default now() + p_creation_user alias for $8; -- default null + p_creation_ip alias for $9; -- default null + p_context_id alias for $10; -- default null + + v_comment_id lr_section_comment.comment_id%TYPE; + v_inst_group_id integer; +begin + + v_comment_id := acs_object__new ( + p_comment_id, + ''lr_section_comment'', + p_creation_date, + p_creation_user, + p_creation_ip, + p_context_id + ); + + INSERT INTO lr_section_comment ( + comment_id, + report_id, + section_id, + instructor_id, + comment, + package_id + ) VALUES ( + v_comment_id, + p_report_id, + p_section_id, + p_instructor_id, + p_comment, + p_package_id + ); + + + SELECT group_id into v_inst_group_id + FROM lrc_groups + WHERE magic_name = ''instructors''; + + -- Grant permission to lab instructors on this object. + PERFORM acs_permission__grant_permission( + v_comment_id, + v_inst_group_id, + ''lab_report_central_read'' + ); + + PERFORM acs_permission__grant_permission( + v_comment_id, + v_inst_group_id, + ''lab_report_central_write'' + ); + + PERFORM acs_permission__grant_permission( + v_comment_id, + v_inst_group_id, + ''lab_report_central_admin'' + ); + + return v_comment_id; + +end;' language 'plpgsql'; + + -- Register service contract implementations. \i lab-report-sc-create.sql 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 -r1.3 -r1.4 --- openacs-4/packages/lab-report/sql/postgresql/lab-report-drop.sql 23 Aug 2006 05:43:56 -0000 1.3 +++ openacs-4/packages/lab-report/sql/postgresql/lab-report-drop.sql 24 Aug 2006 10:56:28 -0000 1.4 @@ -56,7 +56,20 @@ integer ); +drop function lr_section_comment__new ( + integer, + integer, + integer, + integer, + text, + integer, + timestamptz, + integer, + varchar, + integer +); + -- -- Drop tables -- @@ -65,17 +78,20 @@ drop table lr_report; drop table lr_section_content; drop table lr_section_feedback; +drop table lr_section_comment; delete from acs_objects where object_type='lr_report'; delete from acs_objects where object_type='lr_section_content'; delete from acs_objects where object_type='lr_section_feedback'; +delete from acs_objects where object_type='lr_section_comment'; -- -- Drop object types. -- select acs_object_type__drop_type ('lr_report', 'f'); select acs_object_type__drop_type ('lr_section_content', 'f'); select acs_object_type__drop_type ('lr_section_feedback', 'f'); +select acs_object_type__drop_type ('lr_section_comment', 'f'); -- Drop service contract implementations. 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.3 -r1.4 --- openacs-4/packages/lab-report/tcl/lab-report-procs.tcl 21 Aug 2006 23:25:15 -0000 1.3 +++ openacs-4/packages/lab-report/tcl/lab-report-procs.tcl 24 Aug 2006 10:56:28 -0000 1.4 @@ -95,4 +95,26 @@ } { return [group::member_p -user_id $user_id \ -group_id [lab_report_central::instructor_group_id]] -} \ No newline at end of file +} + +ad_proc -private lab_report::within_date_bounds_p { + -now_date:required + -start_date:required + -end_date:required +} { + Checks if now_date is between start_date and end_date inclusive. + + @param now_date The current date. + @param start_date Lower bound. + @param end_date Upper bound. + + @return Returns 1 if now_date is between date bounds, otherwise 0 is + returned. +} { + set within_date_bounds_p 0 + if { $now_date >= $start_date && $now_date <= $end_date } { + set within_date_bounds_p 1 + } + + return $within_date_bounds_p +} Index: openacs-4/packages/lab-report/www/edit-section.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/edit-section.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report/www/edit-section.tcl 21 May 2006 05:29:44 -0000 1.2 +++ openacs-4/packages/lab-report/www/edit-section.tcl 24 Aug 2006 10:56:29 -0000 1.3 @@ -56,7 +56,7 @@ {content:richtext(richtext),optional {label "[_ lab-report.content]"} {help_text "[_ lab-report.help_enter_section_content]"} - {html {cols 48 rows 20}} + {html {cols 80 rows 20}} {nospell} } } -select_query { Index: openacs-4/packages/lab-report/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/index.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report/www/index.adp 11 May 2006 11:11:37 -0000 1.1 +++ openacs-4/packages/lab-report/www/index.adp 24 Aug 2006 10:56:29 -0000 1.2 @@ -1,7 +1,6 @@ <master src="resources/main-portal"> <property name="title">@title@</property> <property name="context">@context@</property> -<property name="admin_options">[<a href="admin/">#lab-report.admin#</a>]</property> <property name="header_stuff"> <link rel="stylesheet" type="text/css" href="/resources/lab-report/lab-report.css" media="all"> </property> Index: openacs-4/packages/lab-report/www/section-comment-ae-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/section-comment-ae-postgresql.xql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report/www/section-comment-ae-postgresql.xql 24 Aug 2006 10:56:29 -0000 1.1 @@ -0,0 +1,51 @@ +<?xml version="1.0"?> + +<queryset> + <rdbms><type>postgresql</type><version>7.4</version></rdbms> + + <fullquery name="lab_details"> + <querytext> + SELECT l.lab_id, l.name AS lab_name, l.instructor_id, + to_char(l.start_date, 'YYYY') AS year + FROM lrc_lab l, lrc_lab_student_map s + WHERE s.lab_id = l.lab_id + AND l.lab_id = :lab_id + AND s.user_id = :author_id + </querytext> + </fullquery> + + <fullquery name="template_details"> + <querytext> + SELECT name AS template_name, description AS template_desc + FROM lrc_template + WHERE template_id = :template_id + </querytext> + </fullquery> + + <fullquery name="section_details"> + <querytext> + SELECT name AS section_name, description AS section_desc + FROM lrc_section + WHERE section_id = :section_id + </querytext> + </fullquery> + + <fullquery name="section_update"> + <querytext> + UPDATE lr_section_comment + SET comment = :comment + WHERE comment_id = :comment_id + </querytext> + </fullquery> + + <fullquery name="object_update"> + <querytext> + UPDATE acs_objects + SET modifying_user = :modifying_user, + modifying_ip = :modifying_ip, + package_id = :package_id + WHERE object_id = :comment_id + </querytext> + </fullquery> + +</queryset> Index: openacs-4/packages/lab-report/www/section-comment-ae.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/section-comment-ae.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report/www/section-comment-ae.adp 24 Aug 2006 10:56:29 -0000 1.1 @@ -0,0 +1,9 @@ +<master src="resources/main-portal"> +<property name="title">@title;noquote@</property> +<property name="context">@context;noquote@</property> +<property name="header_stuff"> +<link rel="stylesheet" type="text/css" href="/resources/lab-report/lab-report.css" media="all"> +</property> + + +<formtemplate id="comment"></formtemplate> \ No newline at end of file Index: openacs-4/packages/lab-report/www/section-comment-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/section-comment-ae.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report/www/section-comment-ae.tcl 24 Aug 2006 10:56:29 -0000 1.1 @@ -0,0 +1,88 @@ +ad_page_contract { + Add/Edit the comment for a specific lab report section. + + @author Nick Carroll (nick.c@rroll.net) + @creation-date 2006-05-10 + @cvs-id $Id: section-comment-ae.tcl,v 1.1 2006/08/24 10:56:29 ncarroll Exp $ +} { + report_id:integer + lab_id:integer + template_id:integer + section_id:integer + comment_id:integer,optional +} + +set package_id [ad_conn package_id] +set user_id [ad_conn user_id] + +set author_p [permission::permission_p -party_id $user_id \ + -object_id $package_id \ + -privilege "lab_report_author"] + +# Otherwise retrieve list of lab reports for the designated author. +set author_id [lab_report::get_author_id -package_id $package_id] + +# Retrieve lab details. +db_1row lab_details {} + +# Retrieve template details. +db_1row template_details {} + +# Retrieve section details. +db_1row section_details {} +set section_desc [template::util::richtext::get_property \ + html_value $section_desc] + + +# Create some URLs +set lab_url [export_vars -url -base view-lab {lab_id}] +set overview_url [export_vars -url \ + -base view-report { report_id lab_id template_id }] + +set title "$section_name" +set context [list [list $lab_url $lab_name] \ + [list $overview_url $template_name] $title] + +set return_url [export_vars -url -base view-section {report_id lab_id template_id section_id}] + +ad_form -name comment -cancel_url $return_url -form { + {comment_id:key(acs_object_id_seq)} + {report_id:integer(hidden) {value $report_id}} + {lab_id:integer(hidden) {value $lab_id}} + {template_id:integer(hidden) {value $template_id}} + {section_id:integer(hidden) {value $section_id}} + {author_id:integer(hidden) {value $author_id}} + {comment:richtext(richtext),optional + {label "[_ lab-report.comment]"} + {help_text "[_ lab-report.help_enter_section_comment]"} + {html {cols 80 rows 20}} + {nospell} + } +} -select_query { + SELECT comment FROM lr_section_comment WHERE comment_id = :comment_id + AND package_id = :package_id +} -new_data { + + db_transaction { + set comment_id [package_instantiate_object \ + -var_list [list [list package_id $package_id] \ + [list object_type lr_section_comment] \ + [list report_id $report_id] \ + [list section_id $section_id] \ + [list instructor_id $user_id] \ + [list comment $comment]] \ + -form_id comment lr_section_comment] + } + +} -edit_data { + set modifying_user [ad_conn user_id] + set modifying_ip [ad_conn peeraddr] + + db_dml section_update {} + db_dml object_update {} +} -after_submit { + ad_returnredirect $return_url + ad_script_abort +} + +ad_return_template 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.3 -r1.4 --- openacs-4/packages/lab-report/www/view-lab-postgresql.xql 24 May 2006 12:30:41 -0000 1.3 +++ openacs-4/packages/lab-report/www/view-lab-postgresql.xql 24 Aug 2006 10:56:29 -0000 1.4 @@ -17,7 +17,10 @@ <fullquery name="select_reports"> <querytext> SELECT r.report_id, t.template_id, t.name, - t.description AS template_desc + t.description AS template_desc, + to_char(m.start_date, 'DD Month, YYYY') AS pretty_start_date, + to_char(m.end_date, 'DD Month, YYYY') AS pretty_end_date, + current_timestamp AS now, m.start_date, m.end_date FROM lrc_template t LEFT OUTER JOIN lr_report r ON (r.template_id = t.template_id AND r.author_id = :author_id), Index: openacs-4/packages/lab-report/www/view-lab.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-lab.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report/www/view-lab.adp 12 May 2006 01:34:34 -0000 1.2 +++ openacs-4/packages/lab-report/www/view-lab.adp 24 Aug 2006 10:56:29 -0000 1.3 @@ -1,7 +1,6 @@ <master src="resources/main-portal"> <property name="title">@title@</property> <property name="context">@context@</property> -<property name="admin_options">[<a href="admin/">#lab-report.admin#</a>]</property> <property name="header_stuff"> <link rel="stylesheet" type="text/css" href="/resources/lab-report/lab-report.css" media="all"> </property> @@ -12,14 +11,27 @@ <ul class="report"> <li> <span class="label">@report.name@</span> + <span class="dates"> + <if @report.now@ ge @report.start_date@ and @report.now@ le @report.end_date@> + [#lab-report.submission_due_date#: @report.pretty_end_date@] + </if> + <elseif @report.now@ gt @report.end_date@> + [#lab-report.closed#] + </elseif> + <else> + [#lab-report.available_for_editing_from# @report.pretty_start_date@ #lab-report.to# @report.pretty_end_date@] + </else> + </span> <if @author_p@> + <if @report.viewable_p@> <if @report.report_created_p@> <span class="options"><a class="button" href="@report.view_url@">#lab-report.view#</a></span> </if> <else> <span class="options"><a class="button" href="@report.new_url@">#lab-report.new#</a></span> </else> </if> + </if> <div class="spacer"></div> </li> </ul> Index: openacs-4/packages/lab-report/www/view-lab.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-lab.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lab-report/www/view-lab.tcl 12 May 2006 01:34:34 -0000 1.2 +++ openacs-4/packages/lab-report/www/view-lab.tcl 24 Aug 2006 10:56:29 -0000 1.3 @@ -20,7 +20,7 @@ db_1row lab_details {} -db_multirow -extend {view_url new_url report_created_p} report select_reports {} { +db_multirow -extend {view_url new_url report_created_p viewable_p} report select_reports {} { set view_url [export_vars -url -base view-report \ {lab_id template_id report_id}] set new_url [export_vars -url -base new-report {lab_id template_id}] @@ -29,6 +29,13 @@ if {$report_id == ""} { set report_created_p 0 } + + # Is the report viewable? Any date after the start date means the + # student can view their report. + set viewable_p 0 + if { $now > $start_date } { + set viewable_p 1 + } } set title "$lab_name" 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.5 -r1.6 --- openacs-4/packages/lab-report/www/view-report.adp 23 Aug 2006 05:43:56 -0000 1.5 +++ openacs-4/packages/lab-report/www/view-report.adp 24 Aug 2006 10:56:29 -0000 1.6 @@ -31,13 +31,6 @@ @sections.content;noquote@ </multiple> </li> - <li class="comments"> - <h3>#lab-report.comments#</h3> - <ul> - @gc_comments;noquote@ - </ul> - <div class="add-comment">@gc_link;noquote@</div> - </li> </ul> </td> </tr> 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.3 -r1.4 --- openacs-4/packages/lab-report/www/view-report.tcl 24 May 2006 12:30:41 -0000 1.3 +++ openacs-4/packages/lab-report/www/view-report.tcl 24 Aug 2006 10:56:29 -0000 1.4 @@ -36,15 +36,6 @@ set lab_url [export_vars -url -base view-lab {lab_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-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/view-section-postgresql.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/lab-report/www/view-section-postgresql.xql 21 Aug 2006 23:25:16 -0000 1.4 +++ openacs-4/packages/lab-report/www/view-section-postgresql.xql 24 Aug 2006 10:56:29 -0000 1.5 @@ -46,6 +46,16 @@ </querytext> </fullquery> + <fullquery name="select_comments"> + <querytext> + SELECT comment_id, comment + FROM lr_section_comment + WHERE section_id = :section_id + AND report_id = :report_id + AND package_id = :package_id + </querytext> + </fullquery> + <fullquery name="select_navs"> <querytext> SELECT section_id AS nav_section_id, name AS nav_section_name @@ -74,4 +84,13 @@ </querytext> </fullquery> + <fullquery name="select_report_dates"> + <querytext> + SELECT current_timestamp AS now, m.start_date, m.end_date + FROM lrc_lab_template_map m + WHERE m.lab_id = :lab_id + AND m.template_id = :template_id + </querytext> + </fullquery> + </queryset> 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.6 -r1.7 --- openacs-4/packages/lab-report/www/view-section.adp 23 Aug 2006 05:43:56 -0000 1.6 +++ openacs-4/packages/lab-report/www/view-section.adp 24 Aug 2006 10:56:29 -0000 1.7 @@ -44,6 +44,7 @@ <li class="content"> <h3>@section_name@</h3> + <if @editable_p@> <if @author_p@> <if @content_created_p@> @content;noquote@ @@ -53,14 +54,23 @@ <a class="edit button" href="@new_url@">#lab-report.new#</a><div class="spacer"></div> </else> </if> + </if> </li> + <if @instructor_p@> <li class="comments"> <h3>#lab-report.comments#</h3> - <ul> - @gc_comments;noquote@ - </ul> - <div class="add-comment">@gc_link;noquote@</div> + @comment;noquote@ + <div class="add-comment"><a class="edit button" href="@comments_link@">#lab-report.edit#</a><div class="spacer"></div></div> </li> + </if> + <elseif @author_p@> + <if @comment@ ne ""> + <li class="comments"> + <h3>#lab-report.comments#</h3> + @comment;noquote@ + </if> + </li> + </elseif> </ul> </td> <if @content_created_p@> 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.5 -r1.6 --- openacs-4/packages/lab-report/www/view-section.tcl 23 Aug 2006 05:43:56 -0000 1.5 +++ openacs-4/packages/lab-report/www/view-section.tcl 24 Aug 2006 10:56:29 -0000 1.6 @@ -23,6 +23,9 @@ # Otherwise retrieve list of lab reports for the designated author. set author_id [lab_report::get_author_id -package_id $package_id] +# Is the user an instructor? +set instructor_p [lab_report::instructor_p $user_id] + # Retrieve lab details. db_1row lab_details {} @@ -63,14 +66,20 @@ } } +set editable_p 0 +if { [db_0or1row select_report_dates {}] } { + if { [lab_report::within_date_bounds_p -now_date $now -start_date $start_date -end_date $end_date] } { + set editable_p 1 + } +} + # General comments -set return_url [export_vars -url \ - -base "[ad_conn package_url]view-report" \ - { lab_id template_id report_id }] +set comment "" +if { [db_0or1row select_comments {}] } { + set comment [template::util::richtext::get_property html_value $comment] +} -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] +set comments_link [export_vars -url -base section-comment-ae {report_id lab_id template_id section_id comment_id}] # Title and context 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.7 -r1.8 --- openacs-4/packages/lab-report/www/resources/lab-report.css 23 Aug 2006 05:43:56 -0000 1.7 +++ openacs-4/packages/lab-report/www/resources/lab-report.css 24 Aug 2006 10:56:29 -0000 1.8 @@ -127,7 +127,7 @@ border-left: 1em solid #686868; border-bottom: 1px solid #686868; padding: 4px 8px; - width: 50em; + width: 60em; margin-bottom: 5px; } @@ -140,10 +140,17 @@ } #lr-report-list-container ul.report li span.label { - margin-left: 3em; + margin-left: 2em; + font-weight: bold; float:left; } +#lr-report-list-container ul.report li span.dates { + margin-left: 1em; + font-size: x-small; + float:left; +} + #lr-report-list-container ul.report li span.options { float: right; border: 1px solid #000; @@ -365,3 +372,9 @@ float: right; font-size: small; } + +div#close { + margin-top: 3em; + width: 100%; + text-align: center; +} Index: openacs-4/packages/lab-report/www/resources/popup.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report/www/resources/popup.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lab-report/www/resources/popup.js 24 Aug 2006 10:56:29 -0000 1.1 @@ -0,0 +1,11 @@ +function popup(url, title) +{ + var width = 250; + var height = 300; + var x_pos = 0; + var y_pos = 0; + x_pos = 300; + y_pos = 200; + var popup_param = "dependent=yes,width=" + width + ",height=" + height + ",screenX="+x_pos +",screenY=" + y_pos+",left="+x_pos+",top="+y_pos+",titlebar=yes"; + window.open(url, title, popup_param); +} 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.6 -r1.7 --- openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql 14 Aug 2006 13:46:13 -0000 1.6 +++ openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-create.sql 24 Aug 2006 10:56:57 -0000 1.7 @@ -187,6 +187,7 @@ name varchar (5120) constraint lrc_feedback_criteria_name_nn not null, + url varchar (5120), description text, package_id integer constraint lrc_feedback_criteria_package_id_fk @@ -214,7 +215,9 @@ template_id integer constraint lrc_lt_map_template_id_fk references lrc_template (template_id) - on delete cascade + on delete cascade, + start_date timestamptz, + end_date timestamptz ); create table lrc_lab_student_map ( @@ -709,12 +712,13 @@ ' language 'plpgsql'; -select define_function_args('lrc_feedback_criteria__new','feedback_criteria_id,section_id,name,description,package_id,creation_date;now,creation_user,creation_ip,context_id'); +select define_function_args('lrc_feedback_criteria__new','feedback_criteria_id,section_id,name,url,description,package_id,creation_date;now,creation_user,creation_ip,context_id'); create function lrc_feedback_criteria__new ( integer, integer, varchar, + varchar, text, integer, timestamptz, @@ -726,12 +730,13 @@ p_feedback_criteria_id alias for $1; -- default null p_section_id alias for $2; p_name alias for $3; - p_description alias for $4; - p_package_id alias for $5; - p_creation_date alias for $6; -- default now() - p_creation_user alias for $7; -- default null - p_creation_ip alias for $8; -- default null - p_context_id alias for $9; -- default null + p_url alias for $4; + p_description alias for $5; + p_package_id alias for $6; + p_creation_date alias for $7; -- default now() + p_creation_user alias for $8; -- default null + p_creation_ip alias for $9; -- default null + p_context_id alias for $10; -- default null v_feedback_criteria_id lrc_feedback_criteria.feedback_criteria_id%TYPE; v_inst_group_id integer; @@ -750,12 +755,14 @@ feedback_criteria_id, section_id, name, + url, description, package_id ) VALUES ( v_feedback_criteria_id, p_section_id, p_name, + p_url, p_description, p_package_id ); 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.6 -r1.7 --- openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql 14 Aug 2006 13:46:13 -0000 1.6 +++ openacs-4/packages/lab-report-central/sql/postgresql/lab-report-central-drop.sql 24 Aug 2006 10:56:57 -0000 1.7 @@ -29,6 +29,7 @@ integer, integer, varchar, + varchar, text, integer, timestamptz, Index: openacs-4/packages/lab-report-central/www/attach-template-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/attach-template-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/attach-template-postgresql.xql 27 Apr 2006 04:34:34 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/attach-template-postgresql.xql 24 Aug 2006 10:56:57 -0000 1.2 @@ -13,8 +13,10 @@ <fullquery name="attach_template"> <querytext> - INSERT INTO lrc_lab_template_map (lab_id, template_id) - VALUES (:lab_id, :template_id) + INSERT INTO lrc_lab_template_map ( + lab_id, template_id, start_date, end_date + ) + VALUES (:lab_id, :template_id, $start_date, $end_date) </querytext> </fullquery> Index: openacs-4/packages/lab-report-central/www/attach-template.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/attach-template.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/attach-template.tcl 27 Apr 2006 04:34:34 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/attach-template.tcl 24 Aug 2006 10:56:57 -0000 1.2 @@ -37,6 +37,16 @@ {options "[lab_report_central::unmapped_templates_get_options \ -lab_id $lab_id]"} } + {start_date:date,to_sql(sql_date),to_html(display_date) + {label "[_ lab-report-central.lab_start_date]" } + {help_text "[_ lab-report-central.help_enter_lab_start_date]"} + {format "[lc_get formbuilder_date_format]"} + } + {end_date:date,to_sql(sql_date),to_html(display_date) + {label "[_ lab-report-central.lab_end_date]" } + {help_text "[_ lab-report-central.help_enter_lab_end_date]"} + {format "[lc_get formbuilder_date_format]"} + } } -after_submit { # Map report template to lab. db_dml attach_template {} Index: openacs-4/packages/lab-report-central/www/feedback-criteria-ae-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/feedback-criteria-ae-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/feedback-criteria-ae-postgresql.xql 21 Aug 2006 23:26:37 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/feedback-criteria-ae-postgresql.xql 24 Aug 2006 10:56:57 -0000 1.2 @@ -13,6 +13,7 @@ <querytext> UPDATE lrc_feedback_criteria SET name = :name, + url = :url, description = :description WHERE feedback_criteria_id = :feedback_criteria_id </querytext> Index: openacs-4/packages/lab-report-central/www/feedback-criteria-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/feedback-criteria-ae.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/feedback-criteria-ae.tcl 21 Aug 2006 23:26:37 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/feedback-criteria-ae.tcl 24 Aug 2006 10:56:57 -0000 1.2 @@ -45,15 +45,19 @@ {label "[_ lab-report-central.name]" } {help_text "[_ lab-report-central.help_enter_feedback_criterion_name]"} } + {url:text,optional + {html {size 50}} + {label "[_ lab-report-central.URL]" } + {help_text "[_ lab-report-central.help_enter_resource_url]"} + } {description:richtext(richtext),optional {label "[_ lab-report-central.description]" } {help_text "[_ lab-report-central.help_enter_feedback_criterion_description]"} - {html {cols 48 rows 6}} - {htmlarea_p 0} + {html {cols 80 rows 20}} {nospell} } } -select_query { - SELECT name, description + SELECT name, url, description FROM lrc_feedback_criteria WHERE feedback_criteria_id = :feedback_criteria_id } -new_data { @@ -62,6 +66,7 @@ -var_list [list [list package_id $package_id] \ [list section_id $section_id] \ [list name $name] \ + [list url $url] \ [list description $description]] \ -form_id criterion lrc_feedback_criteria 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.3 -r1.4 --- openacs-4/packages/lab-report-central/www/lab-postgresql.xql 30 Apr 2006 12:01:31 -0000 1.3 +++ openacs-4/packages/lab-report-central/www/lab-postgresql.xql 24 Aug 2006 10:56:57 -0000 1.4 @@ -16,7 +16,9 @@ <fullquery name="rt"> <querytext> SELECT t.template_id, t.name AS template_name, - t.description AS template_desc + t.description AS template_desc, + to_char(m.start_date, 'DD Month, YYYY') AS release_date, + to_char(m.end_date, 'DD Month, YYYY') AS submission_date FROM lrc_template t, lrc_lab_template_map m WHERE m.lab_id = :lab_id AND m.template_id = t.template_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.3 -r1.4 --- openacs-4/packages/lab-report-central/www/lab.adp 30 Apr 2006 12:01:31 -0000 1.3 +++ openacs-4/packages/lab-report-central/www/lab.adp 24 Aug 2006 10:56:57 -0000 1.4 @@ -39,6 +39,7 @@ <ul class="report"> <li> <span class="label">@rt.template_name@</span> + <span class="dates">[Release: @rt.release_date@] [Submission: @rt.submission_date@]</span> <span class="options"> <a class="button" href="@rt.view_url@">#lab-report-central.view#</a> <if @admin_p@><a class="button" href="@rt.delete_url@" onclick="return confirm('#lab-report-central.want_to_remove_template#')">#lab-report-central.remove#</a></if> Index: openacs-4/packages/lab-report-central/www/resource-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/resource-ae.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/resource-ae.tcl 21 May 2006 08:57:24 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/resource-ae.tcl 24 Aug 2006 10:56:57 -0000 1.2 @@ -53,8 +53,7 @@ {description:richtext(richtext),optional {label "[_ lab-report-central.description]" } {help_text "[_ lab-report-central.help_enter_resource_description]"} - {html {cols 48 rows 6}} - {htmlarea_p 0} + {html {cols 80 rows 20}} {nospell} } } -select_query { Index: openacs-4/packages/lab-report-central/www/section-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lab-report-central/www/section-ae.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lab-report-central/www/section-ae.tcl 30 Apr 2006 09:27:41 -0000 1.1 +++ openacs-4/packages/lab-report-central/www/section-ae.tcl 24 Aug 2006 10:56:57 -0000 1.2 @@ -45,8 +45,7 @@ {description:richtext(richtext),optional {label "[_ lab-report-central.description]" } {help_text "[_ lab-report-central.help_enter_section_description]"} - {html {cols 48 rows 6}} - {htmlarea_p 0} + {html {cols 80 rows 20}} {nospell} } } -select_query { 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.5 -r1.6 --- openacs-4/packages/lab-report-central/www/resources/lab-report-central.css 21 May 2006 08:57:25 -0000 1.5 +++ openacs-4/packages/lab-report-central/www/resources/lab-report-central.css 24 Aug 2006 10:56:57 -0000 1.6 @@ -147,7 +147,7 @@ border-left: 1em solid #686868; border-bottom: 1px solid #686868; padding: 4px 8px; - width: 50em; + width: 60em; margin-bottom: 5px; } @@ -160,10 +160,17 @@ } #lrc-report-container ul.report li span.label { - margin-left: 3em; + margin-left: 2em; float:left; + font-weight: bold; } +#lrc-report-container ul.report li span.dates { + margin-left: 2em; + font-size: x-small; + float:left; +} + #lrc-report-container ul.report li span.options { float: right; }