Index: openacs-4/packages/acs-developer-support/lib/toolbar.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/lib/toolbar.adp,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-developer-support/lib/toolbar.adp 10 Sep 2007 08:31:17 -0000 1.17 +++ openacs-4/packages/acs-developer-support/lib/toolbar.adp 7 Oct 2007 22:36:53 -0000 1.18 @@ -19,23 +19,23 @@ <span>|</span></li> <li><a href="@oacs_shell_url@" title="Execute commands and see the result">Shell</a> <span>|</span></li> - <li><a href="/acs-admin/apm/" title="Modify/reload packages">APM</a> + <li><a href="@base_url@/acs-admin/apm/" title="Modify/reload packages">APM</a> <span>|</span></li> - <li><a href="/admin/site-map/" title="Manage your package instances">Site Map</a> + <li><a href="@base_url@/admin/site-map/" title="Manage your package instances">Site Map</a> <span>|</span></li> - <li><a href="/acs-admin/apm/?reload_links_p=1" title="Scan for changed library files">Changed</a> + <li><a href="@base_url@/acs-admin/apm/?reload_links_p=1" title="Scan for changed library files">Changed</a> <span>|</span></li> <li><a href="@flush_url@" title="Flush entire util_memoize cache">Flush</a> <span>|</span></li> <li><a href="@auto_test_url@" title="Automated Testing Home">Test</a> <span>|</span></li> - <li><a href="/acs-admin/users/" title="Add/edit/become users">Users</a> + <li><a href="@base_url@/acs-admin/users/" title="Add/edit/become users">Users</a> <span>|</span></li> - <li><a href="/acs-lang/admin/" title="Add/edit message keys">I18n</a> + <li><a href="@base_url@/acs-lang/admin/" title="Add/edit message keys">I18n</a> <span>|</span></li> - <li><a href="/doc/" title="View system documentation">Docs</a> + <li><a href="@base_url@/doc/" title="View system documentation">Docs</a> <span>|</span></li> - <li><a href="/api-doc/" title="View/search OpenACS Tcl API documentation">API doc</a> + <li><a href="@base_url@/api-doc/" title="View/search OpenACS Tcl API documentation">API doc</a> <if @rm_url@ ne ""><span>|</span></li> <li><a href="@rm_url@" title="View requests in the request monitor">Requests</a></li> </if><else> @@ -45,7 +45,7 @@ </td> <td align="right" id="developer-search"> - <form action="/api-doc/proc-search"> + <form action="@base_url@/api-doc/proc-search"> <input type="hidden" name="search_type" value="All+matches"/> <input type="hidden" name="name_weight" value="5"/> <input type="hidden" name="param_weight" value="3"/> Index: openacs-4/packages/acs-developer-support/lib/toolbar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/lib/toolbar.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/acs-developer-support/lib/toolbar.tcl 5 Oct 2007 12:02:38 -0000 1.10 +++ openacs-4/packages/acs-developer-support/lib/toolbar.tcl 7 Oct 2007 22:36:53 -0000 1.11 @@ -8,6 +8,7 @@ if { $show_p } { set ds_url [ds_support_url] + set base_url [ad_url] set num_comments [llength [ds_get_comments]] multirow create ds_buttons label title toggle_url state @@ -34,7 +35,7 @@ multirow append ds_buttons TRN \ "Toggle translation mode" \ - [export_vars -base "/acs-lang/admin/translator-mode-toggle" { { return_url [ad_return_url] } }] \ + [export_vars -base "[ad_url]/acs-lang/admin/translator-mode-toggle" { { return_url [ad_return_url] } }] \ [ad_decode [lang::util::translator_mode_p] 1 "on" "off"] multirow append ds_buttons ADP \ @@ -61,7 +62,7 @@ set db_num_cmds [lindex $db_info 0] set db_num_ms [lc_numeric [lindex $db_info 1]] - set flush_url [export_vars -base "/acs-admin/cache/flush-cache" { { suffix util_memoize } { return_url [ad_return_url] } }] + set flush_url [export_vars -base "[ad_url]/acs-admin/cache/flush-cache" { { suffix util_memoize } { return_url [ad_return_url] } }] if { [empty_string_p $page_ms] } { set request_info_label "Request info" @@ -99,7 +100,7 @@ set rm_package_id [apm_package_id_from_key xotcl-request-monitor] if {$rm_package_id > 0} { - set rm_url [apm_package_url_from_id $rm_package_id] + set rm_url "${base_url}[apm_package_url_from_id $rm_package_id]" } else { set rm_url "" } Index: openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl,v diff -u -r1.45 -r1.46 --- openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl 8 Aug 2006 21:26:12 -0000 1.45 +++ openacs-4/packages/acs-developer-support/tcl/acs-developer-support-procs.tcl 7 Oct 2007 22:36:53 -0000 1.46 @@ -155,7 +155,7 @@ @return A link to the first instance of the developer-support information available in the site node, \ the empty_string if none are available. } { - return [apm_package_url_from_key "acs-developer-support"] + return "[ad_url][apm_package_url_from_key "acs-developer-support"]" } ad_proc ds_link {} { Index: openacs-4/packages/assessment/lib/assessment.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/assessment.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/assessment/lib/assessment.tcl 15 May 2007 20:14:15 -0000 1.19 +++ openacs-4/packages/assessment/lib/assessment.tcl 7 Oct 2007 22:36:53 -0000 1.20 @@ -1,5 +1,5 @@ ad_page_contract { -e + This page allows to display an assessment with sections and items @author Eduardo PĂ©rez Ureta (eperez@it.uc3m.es) @@ -34,7 +34,6 @@ if { [info exists return_url] } { set url $return_url -# ns_log notice "$return_url" } set return_url "$url" @@ -66,10 +65,11 @@ db_transaction { if {[empty_string_p $session_id]} { - + # Check if there is an unfinished session lying around set session_id [db_string unfinished_session_id {}] - if {[empty_string_p $session_id]} { + } + if {[empty_string_p $session_id]} { # start new session set session_id [as::session::new -assessment_id $assessment_rev_id -subject_id $user_id -package_id $assessment_package_id] if {[empty_string_p $assessment_data(consent_page)]} { @@ -80,27 +80,25 @@ } } else { # pick up old session - db_1row unfinished_section_order {} - if {[empty_string_p $section_order]} { -# set consent_url [export_vars -base assessment-consent {assessment_id session_id password return_url next_asm single_section_id}] - } else { - db_1row unfinished_section_id {} - db_1row unfinished_item_order {} - if {[empty_string_p $item_order]} { - db_1row unfinished_last_item {} - } - incr section_order -1 - if {$item_order eq ""} { - set item_order 0 + if {$section_order eq ""} { + db_1row unfinished_section_order {} + if {[empty_string_p $section_order]} { + # set consent_url [export_vars -base assessment-consent {assessment_id session_id password return_url next_asm single_section_id}] } else { - incr item_order -1 + db_1row unfinished_section_id {} + db_1row unfinished_item_order {} + if {![empty_string_p $item_order]} { + incr section_order -1 + if {$item_order eq ""} { + set item_order 0 + } else { + incr item_order -1 + } } + } + } } - } else { - # set time the subject initiated the assessment, if not already done - db_dml session_start {} - } if {![info exists consent_url]} { db_1row session_time {} @@ -149,7 +147,6 @@ } as::section_data::new -section_id $section_id -session_id $session_id -subject_id $user_id -package_id $assessment_package_id -# ns_log notice "Assessment section_id='${section_id}' session_id='${session_id}' assessnent='${assessment_rev_id}'" db_1row section_data {} -column_array section set display_type_id $section(display_type_id) if {![empty_string_p $display_type_id]} { @@ -192,7 +189,6 @@ if { ![exists_and_not_null item_order] } { set item_order 0 } # add 1 because we want to compare the 1 indexed display number # to the current page -# ns_log notice "page_display_per_page = '${page_display_per_page}'" set current_page [expr {$item_order == 0 ? 0 : $item_order / $page_display_per_page + 1}] # strip away items on previous section pages @@ -356,17 +352,14 @@ set default_value "" set submitted_p f -# ns_log notice "ASSESSMENT.TCL display(submit_answer_p)='${display(submit_answer_p)}'" if {$display(submit_answer_p) != "t"} { -# ns_log notice "ASSESSMENT.TCL NO seperate submit" # no seperate submit of each item if {$assessment_data(reuse_responses_p) == "t"} { set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id] } set presentation_type [as::item_form::add_item_to_form -name show_item_form -session_id $session_id -section_id $section_id -item_id $as_item_id -default_value $default_value -required_p $required_p -random_p $assessment_data(random_p)] } else { -# ns_log notice "ASSESSMENT.TCL YES seperate submit" # submit each item seperately set default_value [as::item_data::get -subject_id $user_id -as_item_id $as_item_id -session_id $session_id] if {![empty_string_p $default_value]} { @@ -397,7 +390,6 @@ set on_submit "{ db_transaction { db_dml session_updated {} - # save answer set response_item_id \$item_id @@ -477,8 +469,11 @@ set on_submit "{ db_transaction { - db_dml session_updated {} + \# check if we already submitted this section! + if {\[db_string count_submitted_session \"select count(*) from as_section_data where session_id = :session_id and section_id = :section_id and completed_datetime is not null\" -default 0\] == 0} { +\# ad_return_complaint 1 \"Double click detected\" + db_dml session_updated {} # save answers foreach one_response \$item_list { util_unlist \$one_response response_item_id @@ -504,6 +499,7 @@ as::item_type_\$item_type\\::process -type_id \$item_type_id -session_id \$session_id -as_item_id \$response_item_id -section_id \$section_id -subject_id \$user_id -response \$response -max_points \$points -allow_overwrite_p \$display(back_button_p) -package_id \$assessment_package_id } + } if {\$section_order != \$new_section_order} { # calculate section points at end of section as::section::calculate -section_id \$section_id -assessment_id \$assessment_rev_id -session_id \$session_id @@ -520,7 +516,10 @@ }" set after_submit "{ - if {!\[empty_string_p \$new_section_order\]} { +\# NOTE the code just incrementes section order so when the section order +\# is greate than the number of items in the list of sections +\# we know we are done and should finish the assessment + if {!\[empty_string_p \$new_section_order\] && \$new_section_order <= \[llength \$section_list\]} { # go to next section if { \$section_to != \"\"} { set section_order \$section_to @@ -529,7 +528,7 @@ } set item_order \$new_item_order \# ad_returnredirect \[export_vars -base assessment {assessment_id session_id section_order item_order password return_url next_asm section_id item_id_list:multiple single_section_id}\] - ad_returnredirect \[export_vars -base feedback {assessment_id session_id section_order item_order password return_url next_asm section_id item_id_list:multiple nxt_url total_pages current_page}\] + ad_returnredirect \[export_vars -base feedback {assessment_id session_id section_order item_order password return_url next_asm section_id item_id_list:multiple next_url total_pages current_page}\] ad_script_abort } else { # calculate session points at end of session @@ -614,5 +613,6 @@ set form_is_submit [template::form::is_submission show_item_form] set form_is_valid [template::form::is_valid show_item_form] + ad_return_template $template Index: openacs-4/packages/assessment/lib/session-items.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session-items.adp,v diff -u -r1.13 -r1.14 --- openacs-4/packages/assessment/lib/session-items.adp 15 May 2007 20:14:16 -0000 1.13 +++ openacs-4/packages/assessment/lib/session-items.adp 7 Oct 2007 22:36:53 -0000 1.14 @@ -12,7 +12,6 @@ </b> </if> </if> - <div class="feedback-message"><if @items.correct_p@ eq 1> <if @show_feedback@ eq correct or @show_feedback@ eq all><div class="right">@items.feedback_right;noquote@</div></if></if> <if @items.correct_p@ eq 0><if @show_feedback@ eq all or @show_feedback@ eq incorrect><div class="wrong">@items.feedback_wrong;noquote@</div></if></if> @@ -87,7 +86,7 @@ </if> <ul> <include src="/packages/assessment/lib/results-messages" session_id="@session_id@" section_id="@section_id@" as_item_id="@items.as_item_id@" &=assessment> <if @edit_p@ eq 1 and @items.answered_p@ eq t><li><a href="results-edit?session_id=@session_id@§ion_id=@section_id@&as_item_id=@items.as_item_id@">#assessment.Add_Comment#</a></li></if> - <if @feedback_only_p@ ne "t" and @assessment_data.type@ ne survey and @items.result_points@ not nil and @showpoints@ eq 1><li><b>@items.result_points@ / @items.points@ #assessment.points#</b></li></if> + <if @feedback_only_p@ ne "t" and @assessment_data.type@ ne survey and @items.result_points@ not nil and @showpoints@ true and @items.points@ gt 0><li><b>@items.result_points@ / @items.points@ #assessment.points#</b></li></if> </ul> <hr> </multiple> Index: openacs-4/packages/assessment/lib/session-items.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session-items.tcl,v diff -u -r1.17 -r1.18 --- openacs-4/packages/assessment/lib/session-items.tcl 15 May 2007 20:14:16 -0000 1.17 +++ openacs-4/packages/assessment/lib/session-items.tcl 7 Oct 2007 22:36:53 -0000 1.18 @@ -19,7 +19,7 @@ set section_list [as::assessment::sections -assessment_id $assessment_id -session_id $session_id -sort_order_type $assessment_data(section_navigation) -random_p $assessment_data(random_p)] -if {[lsearch $section_list $section_id] eq [expr {[llength $section_list]-1}]} { +if {(![info exists next_url] || $next_url eq "") && [lsearch $section_list $section_id] eq [expr {[llength $section_list]-1}]} { set next_url [export_vars -base session {session_id next_url}] } @@ -33,14 +33,15 @@ ad_form -name session_results_$section_id -mode display -form { {section_id:text(hidden) {value $section_id}} } - +ad_form -name Xsession_results_$section_id -mode display -form { + {section_id:text(hidden) {value $section_id}} +} set feedback_count 0 db_multirow -extend { presentation_type html result_points feedback answered_p choice_orientation next_title next_pr_type num content has_feedback_p correct_p view} items session_items {} { set default_value [as::item_data::get -subject_id $subject_id -as_item_id $as_item_id -session_id $session_id] array set item [as::item::item_data -as_item_id $as_item_id] - set presentation_type [as::item_form::add_item_to_form -name session_results_$section_id -section_id $section_id -item_id $as_item_id -session_id $session_id -default_value $default_value -show_feedback $show_feedback] - + set presentation_type [as::item_form::add_item_to_form -name session_results_$section_id -section_id $section_id -item_id $as_item_id -session_id $session_id -default_value $default_value -show_feedback $show_feedback -random_p $assessment_data(random_p)] if {$presentation_type == "fitb"} { regsub -all -line -nocase -- {<textbox as_item_choice_id=} $title "<input name=response_to_item.${as_item_id}_" html @@ -99,7 +100,7 @@ if { $presentation_type == "rb" } { set user_answers [lindex $user_answers 0] - + if { [lsearch $correct_answers $user_answers] == -1 } { set correct_p 0 if {$show_feedback != "correct"} { @@ -192,5 +193,5 @@ set this(next_pr_type) "" } } - set showpoints [parameter::get -parameter "ShowPoints" -default 1 ] + Index: openacs-4/packages/assessment/lib/session-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session-oracle.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/lib/session-oracle.xql 15 May 2007 20:14:16 -0000 1.2 +++ openacs-4/packages/assessment/lib/session-oracle.xql 7 Oct 2007 22:36:53 -0000 1.3 @@ -15,16 +15,16 @@ <fullquery name="get_latest_session"> <querytext> - select max(o.creation_date), s.session_id + select * from (select max(o.creation_date), s.session_id from as_sessions s, acs_objects o, cr_revisions cr where s.subject_id=:user_id and s.assessment_id in (select revision_id from cr_revisions where item_id= :assessment_id) and o.object_id = cr.item_id and s.session_id = cr.revision_id - group by assessment_id, subject_id, session_id - limit 1 + group by assessment_id, subject_id, session_id) + where rownum=1 </querytext> </fullquery> Index: openacs-4/packages/assessment/lib/session.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/assessment/lib/session.adp 15 May 2007 20:14:16 -0000 1.6 +++ openacs-4/packages/assessment/lib/session.adp 7 Oct 2007 22:36:53 -0000 1.7 @@ -22,7 +22,7 @@ <multiple name="sections"> <fieldset style="padding:10px;margin-bottom:10px"><!-- Section FieldSet --> - <legend><b>@sections.title@ <if @assessment_data.survey_p@ ne t> <if @showpoints@ eq 1>(@sections.points@ / @sections.max_points@ #assessment.points#)</p></if> </if></b></legend> + <legend><b>@sections.title@ <if @assessment_data.survey_p@ ne t> <if @showpoints@ eq 1 and @sections.max_points@ gt 0>(@sections.points@ / @sections.max_points@ #assessment.points#)</p></if> </if></b></legend> <if @sections.max_time_to_complete@ not nil><p>(#assessment.max_time# @sections.max_time_to_complete@)</p></if> @@ -40,7 +40,7 @@ <p><include src="/packages/assessment/lib/actions-results" session_id="@session_id@"></p> <hr> -<if @assessment_data.survey_p@ ne t and @assessment_data.show_feedback@ ne none ><b>#assessment.Total_score#:</b> @session_score@ / @assessment_score@ = @percent_score@%</if> +<if @assessment_data.survey_p@ ne t and @assessment_data.show_feedback@ ne none and @assessment_score@ gt 0><b>#assessment.Total_score#:</b> @session_score@ / @assessment_score@ = @percent_score@%</if> <if @comments_installed_p@> <include src="/packages/assessment/lib/comments-chunk" object_id="@session_id@" /> Index: openacs-4/packages/assessment/lib/session.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/lib/session.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/assessment/lib/session.tcl 15 May 2007 20:14:16 -0000 1.5 +++ openacs-4/packages/assessment/lib/session.tcl 7 Oct 2007 22:36:53 -0000 1.6 @@ -45,7 +45,8 @@ -privilege admin \ -party_id $user_id] -set delete_url [export_vars -base asm-admin/session-delete {assessment_id subject_id {orig_session_id $session_id} {return_url [ad_return_url]}}] +set delete_return_url [export_vars -base ../session {assessment_id}] +set delete_url [export_vars -base asm-admin/session-delete {assessment_id subject_id {orig_session_id $session_id} {return_url $delete_return_url}}] set page_title "[_ assessment.View_Results]" set context_bar [ad_context_bar [list [export_vars -base sessions {assessment_id}] "[_ assessment.Show_Sessions]"] $page_title] Index: openacs-4/packages/assessment/sql/oracle/upgrade/upgrade-0.22d3-0.22d4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/oracle/upgrade/upgrade-0.22d3-0.22d4.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/sql/oracle/upgrade/upgrade-0.22d3-0.22d4.sql 15 May 2007 20:14:16 -0000 1.2 +++ openacs-4/packages/assessment/sql/oracle/upgrade/upgrade-0.22d3-0.22d4.sql 7 Oct 2007 22:36:53 -0000 1.3 @@ -297,3 +297,9 @@ / show errors; +alter table as_session_items drop constraint as_sess_items_item_fk; +alter table as_session_items drop constraint as_sess_items_section_fk; +alter table as_session_items drop constraint as_sess_items_session_fk; +alter table as_session_items add constraint "as_sess_items_item_fk" FOREIGN KEY (as_item_id) REFERENCES as_items(as_item_id) on delete cascade; +alter table as_session_items add constraint "as_sess_items_section_fk" FOREIGN KEY (section_id) REFERENCES as_sections(section_id) on delete cascade; +alter table as_session_items add constraint "as_sess_items_session_fk" FOREIGN KEY (session_id) REFERENCES as_sessions(session_id) on delete cascade; Index: openacs-4/packages/assessment/sql/postgresql/assessment-collected-data-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/postgresql/assessment-collected-data-create.sql,v diff -u -r1.12 -r1.13 --- openacs-4/packages/assessment/sql/postgresql/assessment-collected-data-create.sql 15 May 2007 20:14:16 -0000 1.12 +++ openacs-4/packages/assessment/sql/postgresql/assessment-collected-data-create.sql 7 Oct 2007 22:36:53 -0000 1.13 @@ -199,13 +199,16 @@ create table as_session_items ( session_id integer constraint as_session_items_session_fk - references as_sessions, + references as_sessions + on delete cascade, section_id integer constraint as_session_items_section_fk - references as_sections, + references as_sections + on delete cascade, as_item_id integer constraint as_session_items_item_fk - references as_items, + references as_items + on delete cascade, sort_order integer, constraint as_session_items_pk primary key (session_id, section_id, as_item_id) Index: openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-0.22d3-0.22d4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-0.22d3-0.22d4.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-0.22d3-0.22d4.sql 15 May 2007 20:14:16 -0000 1.2 +++ openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-0.22d3-0.22d4.sql 7 Oct 2007 22:36:54 -0000 1.3 @@ -114,3 +114,10 @@ return del__action_id; end;' language 'plpgsql'; + +alter table as_session_items drop constraint as_session_items_item_fk; +alter table as_session_items drop constraint as_session_items_section_fk; +alter table as_session_items drop constraint as_session_items_session_fk; +alter table as_session_items add constraint "as_session_items_item_fk" FOREIGN KEY (as_item_id) REFERENCES as_items(as_item_id) on delete cascade; +alter table as_session_items add constraint "as_session_items_section_fk" FOREIGN KEY (section_id) REFERENCES as_sections(section_id) on delete cascade; +alter table as_session_items add constraint "as_session_items_session_fk" FOREIGN KEY (session_id) REFERENCES as_sessions(session_id) on delete cascade; Index: openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl 12 Jun 2006 02:49:50 -0000 1.8 +++ openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl 7 Oct 2007 22:36:54 -0000 1.9 @@ -92,6 +92,7 @@ ad_proc -public as::item_choice::copy { -choice_id:required -mc_id:required + {-copy_correct_answer_p "t"} } { @author Timo Hentschel (timo@timohentschel.de) @creation-date 2004-12-07 @@ -104,7 +105,9 @@ # Insert as_item_choice in the CR (and as_item_choices table) getting the revision_id (as_item_choice_id) db_transaction { db_1row choice_data {} - + if {![string is true $copy_correct_answer_p]} { + set correct_answer_p "" + } set new_choice_id [new -title $title \ -mc_id $mc_id \ -data_type $data_type \ Index: openacs-4/packages/assessment/tcl/as-item-type-mc-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-type-mc-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/tcl/as-item-type-mc-procs-postgresql.xql 15 May 2007 20:14:17 -0000 1.3 +++ openacs-4/packages/assessment/tcl/as-item-type-mc-procs-postgresql.xql 7 Oct 2007 22:36:54 -0000 1.4 @@ -42,7 +42,7 @@ <fullquery name="as::item_type_mc::render.choices"> <querytext> - select c.choice_id, r.title, c.correct_answer_p, c.selected_p, c.fixed_position, + select c.choice_id, r.title, c.correct_answer_p, c.selected_p, c.fixed_position, c.feedback_text, r2.revision_id as content_rev_id, r2.title as content_filename, i.content_type from cr_revisions r, as_item_choices c Index: openacs-4/packages/assessment/tcl/as-item-type-mc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-type-mc-procs.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/assessment/tcl/as-item-type-mc-procs.tcl 15 May 2007 20:14:17 -0000 1.22 +++ openacs-4/packages/assessment/tcl/as-item-type-mc-procs.tcl 7 Oct 2007 22:36:54 -0000 1.23 @@ -102,6 +102,8 @@ ad_proc -public as::item_type_mc::copy { -type_id:required + {-copy_correct_answer_p "t"} + -new_title } { @author Timo Hentschel (timo@timohentschel.de) @creation-date 2004-12-07 @@ -114,7 +116,12 @@ # Insert as_item_type_mc in the CR (and as_item_type_mc table) getting the revision_id (as_item_type_id) db_transaction { db_1row item_type_data {} - + if {[info exists new_title]} { + set title $new_title + } + if {[string is false $copy_correct_answer_p]} { + set num_correct_answers 0 + } set new_item_type_id [new -title $title \ -increasing_p $increasing_p \ -allow_negative_p $allow_negative_p \ @@ -123,7 +130,7 @@ set choices [db_list get_choices {}] foreach choice_id $choices { - set new_choice_id [as::item_choice::copy -choice_id $choice_id -mc_id $new_item_type_id] + set new_choice_id [as::item_choice::copy -choice_id $choice_id -mc_id $new_item_type_id -copy_correct_answer_p $copy_correct_answer_p] } } @@ -148,7 +155,11 @@ array set values $default_value set defaults $values(choice_answer) } - + db_1row item_type_data {} + ns_log notice " +render mc +num_correct_answers '${num_correct_answers}' +" if {![empty_string_p $session_id]} { if {[empty_string_p $show_feedback] || $show_feedback == "none"} { set choice_list "" @@ -159,15 +170,16 @@ } else { # incorrect correct set choice_list "" + db_foreach get_sorted_choices_with_feedback {} { set title [as::assessment::display_content -content_id $content_rev_id -filename $content_filename -content_type $content_type -title $title] set pos [lsearch -exact -integer $defaults $choice_id] - if {$pos>-1 && $correct_answer_p == "t" && $show_feedback != "incorrect"} { + if {$num_correct_answers > 0 && $pos>-1 && $correct_answer_p == "t" && $show_feedback != "incorrect"} { lappend choice_list [list "$title <img src=/resources/assessment/correct.gif> <i>$feedback_text</i>" $choice_id] - } elseif {$pos>-1 && $correct_answer_p == "f" && $show_feedback != "correct"} { + } elseif {$num_correct_answers > 0 && $pos>-1 && $correct_answer_p == "f" && $show_feedback != "correct"} { lappend choice_list [list "$title <img src=/resources/assessment/wrong.gif> <i>$feedback_text</i>" $choice_id] } else { - if {$correct_answer_p == "t" && $show_feedback != "incorrect" && $show_feedback != "correct"} { + if {$num_correct_answers > 0 && [llength $defaults] && $correct_answer_p == "t" && $show_feedback != "incorrect" && $show_feedback != "correct"} { lappend choice_list [list "$title <img src=/resources/assessment/correct.gif>" $choice_id] } else { lappend choice_list [list $title $choice_id] @@ -181,7 +193,6 @@ } } - db_1row item_type_data {} set display_choices [list] set correct_choices [list] @@ -190,7 +201,24 @@ db_foreach choices {} { incr total set title [as::assessment::display_content -content_id $content_rev_id -filename $content_filename -content_type $content_type -title $title] - lappend display_choices [list $title $choice_id] + if {$show_feedback ne "" && $show_feedback ne "none"} { + set pos [lsearch -exact -integer $defaults $choice_id] + if {$pos > -1 && $correct_answer_p == "t" && $show_feedback != "incorrect"} { + lappend display_choices [list "$title <img src=/resources/assessment/correct.gif> <i>$feedback_text</i>" $choice_id] + } elseif {$pos>-1 && $correct_answer_p == "f" && $show_feedback != "correct"} { + lappend display_choices [list "$title <img src=/resources/assessment/wrong.gif> <i>$feedback_text</i>" $choice_id] + } else { + if {$correct_answer_p == "t" && $show_feedback != "incorrect" && $show_feedback != "correct"} { + lappend display_choices [list "$title <img src=/resources/assessment/correct.gif>" $choice_id] + } else { + lappend display_choices [list $title $choice_id] + } + } + } else { + lappend display_choices [list $title $choice_id] + } + +# lappend display_choices [list $title $choice_id] if {$selected_p == "t"} { lappend defaults $choice_id } @@ -237,7 +265,6 @@ set display_choices [concat $display_choices [lrange $wrong_choices 0 [expr $num_answers - [llength $display_choices] -1]]] set display_choices [util::randomize_list $display_choices] } - # now add fixed positions in result list if {[array exists fixed_pos]} { set max_pos [expr $num_answers + [array size fixed_pos]] @@ -466,6 +493,9 @@ if {![as::item::get_item_type_info -as_item_id $as_item_id] \ || $item_type_info(object_type) != "as_item_type_mc"} { + # always set mc title to empty on new mc question + # we ask for a title for the mc answer set seperately if + # required set mc_id [as::item_type_mc::new \ -title $title \ -increasing_p $increasing_p \ @@ -483,7 +513,6 @@ } } else { # old mc item type existing - set as_item_id [as::item::new_revision -as_item_id $as_item_id] set mc_id [as::item_type_mc::edit \ -as_item_type_id $as_item_type_id \ -title $title \ @@ -494,7 +523,7 @@ as::item::update_item_type -item_type_id $mc_id -as_item_id $as_item_id } - ns_log notice "item-add inserting choices!! as_item_id = '${as_item_id}' mc_id='${mc_id}'" + set count 0 foreach i [lsort -integer [array names choice]] { if {![empty_string_p $choice($i)]} { @@ -509,7 +538,7 @@ -correct_answer_p [ad_decode [info exists correct($i)] 0 f t] \ -sort_order $count \ -percent_score ""] - ns_log notice "choice $count added for choice $i $choice($i) choice_id=${choice_id}" + } } #FIXME add a select one/select all that apply option @@ -572,7 +601,7 @@ [list delete.$id:text(submit) {label "Delete"}]] } ad_form -extend -name $form_id -form [list [list choice.$id:text,optional,nospell {label "[_ assessment.Choice] $id"} {html {style {width: 60%;} maxlength 1000}} {value "$value"} ]] -ns_log notice "--- $id ---" + if {[info exists correct($id)]} { ad_form -extend -name $form_id -form [list [list correct.$id:text(checkbox),optional {label "[_ assessment.Correct_Answer_Choice] $id"} {options $correct_options} {values t} ]] } else { Index: openacs-4/packages/assessment/tcl/as-list-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-list-procs.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/assessment/tcl/as-list-procs.tcl 26 Sep 2006 00:22:45 -0000 1.4 +++ openacs-4/packages/assessment/tcl/as-list-procs.tcl 7 Oct 2007 22:36:54 -0000 1.5 @@ -65,15 +65,15 @@ set option_section_title [lindex $section 0] set option_section_id [lindex $section 1] db_foreach items { - select ci.item_id as option_item_id, cr.title as option_item_title, cr.revision_id as option_revision_id + select ci.item_id as option_item_id, cr.title as option_item_title, ir.revision_id as option_revision_id - from as_items i, cr_revisions cr, cr_items ci, as_item_section_map ism, cr_revisions asr + from as_items i, cr_revisions cr, cr_items ci, as_item_section_map ism, cr_revisions ir where ci.item_id = cr.item_id + and ir.revision_id = ci.latest_revision and cr.revision_id = i.as_item_id and i.as_item_id = ism.as_item_id and ism.section_id = :option_section_id - and asr.revision_id = i.as_item_id order by ism.sort_order } { Index: openacs-4/packages/assessment/www/instructions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/instructions.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/instructions.adp 15 May 2007 20:14:17 -0000 1.2 +++ openacs-4/packages/assessment/www/instructions.adp 7 Oct 2007 22:36:54 -0000 1.3 @@ -6,7 +6,7 @@ @assessment_data.instructions;noquote@ </p> <p> - <if @assessment_data.number_tries@ eq "" or @completed_session_count@ lt @assessment_data.number_tries@> + <if @assessment_data.number_tries@ eq "" or @assessment_data.number_tries@ lt 1 or @completed_session_count@ lt @assessment_data.number_tries@> <if @unfinished_session_id@ not nil> #assessment.Resume_Assessment_Title# </if> Index: openacs-4/packages/assessment/www/instructions.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/instructions.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/instructions.xql 15 May 2007 20:14:17 -0000 1.2 +++ openacs-4/packages/assessment/www/instructions.xql 7 Oct 2007 22:36:54 -0000 1.3 @@ -9,6 +9,7 @@ where item_id = :assessment_id and assessment_id = revision_id and subject_id = :user_id + and completed_datetime is not null </querytext> </fullquery> Index: openacs-4/packages/assessment/www/asm-admin/bulk-mail.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/bulk-mail.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/assessment/www/asm-admin/bulk-mail.tcl 26 Sep 2006 00:22:46 -0000 1.4 +++ openacs-4/packages/assessment/www/asm-admin/bulk-mail.tcl 7 Oct 2007 22:36:54 -0000 1.5 @@ -51,7 +51,7 @@ -label [_ assessment.Message] \ -datatype text \ -widget textarea \ - -html {rows 10 cols 80 wrap soft} + -html {rows 10 cols 80} element create spam_message format \ Index: openacs-4/packages/assessment/www/asm-admin/item-add.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-add.adp,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/www/asm-admin/item-add.adp 15 May 2007 20:14:17 -0000 1.3 +++ openacs-4/packages/assessment/www/asm-admin/item-add.adp 7 Oct 2007 22:36:54 -0000 1.4 @@ -216,11 +216,13 @@ @formgroup.widget;noquote@ </formgroup> <formwidget id="choice.@choice_elements.id@"><br /> -</multiple> - </p> - - <br> -<formwidget id="add_another_choice"> +</multiple></p> +<formwidget id="save_answer_set"> <label for="save_answer_set">#assessment.Save_this_set_of_answers_for_reuse_later#</label><br /> +<formwidget id="formbutton_add_another_choice"><br /> +<if @choice_sets@ not nil><p>Or use choices from an existing question<br /> +<formwidget id="add_existing_mc_id"> +</p></if> +<br /> </fieldset> </div> <div> Index: openacs-4/packages/assessment/www/asm-admin/item-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-add.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/assessment/www/asm-admin/item-add.tcl 15 May 2007 20:14:17 -0000 1.14 +++ openacs-4/packages/assessment/www/asm-admin/item-add.tcl 7 Oct 2007 22:36:54 -0000 1.15 @@ -21,6 +21,7 @@ # Get the assessment data as::assessment::data -assessment_id $assessment_id +set folder_id [as::assessment::folder_id -package_id $package_id] if {![info exists assessment_data(assessment_id)]} { ad_return_complaint 1 "[_ assessment.Requested_assess_does]" ad_script_abort @@ -39,12 +40,7 @@ #} set item_types [as_item_type::get_item_types] -ns_log notice " -DB -------------------------------------------------------------------------------- -DB DAVE debugging /var/lib/aolserver/openacs-5-3/packages/assessment/www/asm-admin/item-add.tcl -DB -------------------------------------------------------------------------------- -DB item_types = '${item_types}' -DB --------------------------------------------------------------------------------" + ad_form -name item-add -action item-add -export { assessment_id section_id after type } -html {enctype multipart/form-data} -form { {as_item_id:key} {question_text:richtext,nospell {label "[_ assessment.item_Question]"} {html {rows 12 cols 80 style {width: 99%}}} {help_text "[_ assessment.item_Question_help]"}} @@ -116,12 +112,24 @@ ############################################################################## # Multiple Choice Section ############################################################################## +set choice_sets [db_list_of_lists existing_choice_sets {}] +if {[llength $choice_sets]} { + set choice_sets [concat [list [list "--" ""]] $choice_sets] + ad_form -extend -name item-add -form { + {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}} + } +} else { + ad_form -extend -name item-add -form { + {add_existing_mc_id:text(hidden),optional} + } +} ad_form -extend -name item-add -form { - {add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}} + {save_answer_set:text(checkbox),optional {label "[_ assessment.Save_this_set_of_answers_for_reuse_later]"} {options {{"" t}}}} + {formbutton_add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}} } if {[template::form::is_submission item-add] \ - && [template::element::get_value item-add add_another_choice] \ + && [template::element::get_value item-add formbutton_add_another_choice] \ eq [_ assessment.Add_another_choice]} { set num_choices [element::get_value item-add num_choices] incr num_choices @@ -156,7 +164,7 @@ } ad_form -extend -name item-add -validate { - {item_type {$item_type ne "mc" || [array size choice] > [llength [lsearch -all -exact [array get choice] ""]]} "Please enter at least one choice for multiple choice question."} + {item_type {$item_type ne "mc" || [exists_and_not_null add_existing_mc_id] || [array size choice] > [llength [lsearch -all -exact [array get choice] ""]]} "Please enter at least one choice for multiple choice question."} } ad_form -extend -name item-add -new_request { set name "" @@ -177,7 +185,6 @@ set points 0 } - if {![exists_and_not_null formbutton_add_another_choice]} { # map display types to data types switch -exact $item_type { @@ -263,24 +270,42 @@ return } - set folder_id [as::assessment::folder_id -package_id $package_id] set content_rev_id [cr_import_content -title $filename $folder_id $tmp_filename $n_bytes $file_mimetype [as::item::generate_unique_name]] as::item_rels::new -item_rev_id $as_item_id -target_rev_id $content_rev_id -type as_item_content_rel } # check question type set title [string range $question_text 0 999] switch -exact $item_type { mc { - as::item_type_mc::add_to_assessment \ - -assessment_id $assessment_id \ - -section_id $section_id \ - -as_item_id $as_item_id \ - -choices [array get choice] \ - -correct_choices [array get correct] \ - -after $after \ - -title $title\ - -display_type $display_type - } + # title for MC is the name of a saved answer set + # always set to empty on a new question and + # ask for the title seperately in save-answer-set page + set new_mc_id [as::item_type_mc::add_to_assessment \ + -assessment_id $assessment_id \ + -section_id $section_id \ + -as_item_id $as_item_id \ + -choices [array get choice] \ + -correct_choices [array get correct] \ + -after $after \ + -title "" \ + -display_type $display_type] + + if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} { + set add_existing_mc_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""] + if {![db_0or1row item_type {}] || $object_type != "as_item_type_mc"} { + if {![info exists object_type]} { + # first item type mapped + as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel + } else { + # old item type existing + db_dml update_item_type {} + } + } else { + # old mc item type existing + db_dml update_item_type {} + } + } + } oq { as::item_type_oq::add_to_assessment \ -assessment_id $assessment_id \ @@ -311,13 +336,18 @@ } -after_submit { if {![exists_and_not_null formbutton_add_another_question] \ && ![exists_and_not_null formbutton_add_another_choice]} { - ad_returnredirect "[export_vars -base questions {assessment_id}]\&#Q$as_item_id" - - ad_script_abort + set return_url "[export_vars -base questions {assessment_id}]\&#Q$as_item_id" } elseif {[exists_and_not_null formbutton_add_another_question]} { set after [expr {$after + 1}] - ad_returnredirect "[export_vars -base item-add {after assessment_id section_id}]\#Q$as_item_id" + set return_url "[export_vars -base item-add {after assessment_id section_id}]\#Q$as_item_id" } + if {[info exists return_url] && $return_url ne ""} { + if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} { + set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_mc_id}}] + } + ad_returnredirect $return_url + ad_script_abort + } } Index: openacs-4/packages/assessment/www/asm-admin/item-add.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-add.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/asm-admin/item-add.xql 15 Apr 2005 17:26:46 -0000 1.2 +++ openacs-4/packages/assessment/www/asm-admin/item-add.xql 7 Oct 2007 22:36:54 -0000 1.3 @@ -30,4 +30,40 @@ </querytext> </fullquery> + +<fullquery name="existing_choice_sets"> + <querytext> + select distinct title, revision_id from (select substr(title,1,50) as title, revision_id + from cr_items i, cr_revisions r + where + i.parent_id = :folder_id + and r.title is not NULL + and r.revision_id = i.latest_revision + and i.content_type = 'as_item_type_mc') c + </querytext> +</fullquery> + +<fullquery name="item_type"> + <querytext> + + select r.target_rev_id as as_item_type_id, o.object_type + from as_item_rels r, acs_objects o + where r.item_rev_id = :as_item_id + and r.rel_type = 'as_item_type_rel' + and o.object_id = r.target_rev_id + + </querytext> +</fullquery> + +<fullquery name="update_item_type"> + <querytext> + + update as_item_rels + set target_rev_id = :add_existing_mc_id + where item_rev_id = :as_item_id + and rel_type = 'as_item_type_rel' + + </querytext> +</fullquery> + </queryset> Index: openacs-4/packages/assessment/www/asm-admin/item-edit-general.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-general.adp,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/www/asm-admin/item-edit-general.adp 15 May 2007 20:14:18 -0000 1.3 +++ openacs-4/packages/assessment/www/asm-admin/item-edit-general.adp 7 Oct 2007 22:36:54 -0000 1.4 @@ -41,9 +41,7 @@ </span> - - <br/> - + <if @formerror.required_p@ not nil> <span class="form-label-error"> </if> @@ -193,8 +191,28 @@ </span> - <br/> + <br /> +<if @item_type@ eq "mc"> + + <br /><formgroup-widget id="display_type" row=1></formgroup-widget> + <br /><formgroup-widget id="display_type" row=2></formgroup-widget> + <if @formerror.display_type@ not nil> + <span class="form-widget-error"> + </if> + <else> + <span class="form-widget"> + </else> + + <formerror id="display_type"> + @formerror.data_type;noquote@ + </formerror> + + <p class="form-help-text"> + + <formhelp id="display_type"> +</if> + <switch @item_type@> <case value="mc"> <formwidget id="num_choices"> @@ -218,11 +236,15 @@ </if> <br /> </multiple> -<formwidget id="add_another_choice"> +<formwidget id="save_answer_set"> <label for="save_answer_set">#assessment.Save_this_set_of_answers_for_reuse_later#</label><br /> +<formwidget id="add_another_choice"><br /> +<if @choice_sets@ not nil><p>#assessment.OrUseChoices#<br /> +<formwidget id="add_existing_mc_id"> +</p></if> </case> <case value="oq"> <label for="reference_answer"> - Reference Answer + #assessment.oq_Reference_Answer# </label> <formwidget id="reference_answer"> <p class="form-help-text"> <formhelp id="reference_answer"></p> Index: openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl 15 May 2007 20:14:18 -0000 1.16 +++ openacs-4/packages/assessment/www/asm-admin/item-edit-general.tcl 7 Oct 2007 22:36:54 -0000 1.17 @@ -36,21 +36,33 @@ set boolean_options [list [list "[_ assessment.yes]" t] [list "[_ assessment.no]" f]] set type $assessment_data(type) +ad_form -name item_edit_general -action item-edit-general -export { assessment_id section_id } -html {enctype multipart/form-data} -form { + {as_item_id:key} + {question_text:richtext,nospell {label "[_ assessment.Question]"} {html {rows 12 cols 80 style {width: 95%}}} {help_text "[_ assessment.item_Question_help]"}} + {required_p:text(select) {label "[_ assessment.Required]"} {options $boolean_options} {help_text "[_ assessment.item_Required_help]"}} +} + set item_type [string range [db_string get_item_type {}] end-1 end] set display_type [string range [db_string get_display_type {}] end-1 end] +if { $item_type == "mc" } { + ad_form -extend -name item_edit_general -form { + {display_type:text(radio),optional + {label "[_ assessment.singleanswermultipleanswer]"} + {options {{"[_ assessment.item_type_mc]" "rb"} {"[_ assessment.item_type_ms]" "cb"}}} + } + } +} else { + ad_form -extend -name item_edit_general -form { + {display_type:text(hidden),optional} + } +} + set display_types [list] foreach display_type [db_list display_types {}] { lappend display_types [list "[_ assessment.item_display_$display_type]" $display_type] } - -ad_form -name item_edit_general -action item-edit-general -export { assessment_id section_id } -html {enctype multipart/form-data} -form { - {as_item_id:key} - {question_text:richtext,nospell {label "[_ assessment.Question]"} {html {rows 12 cols 80 style {width: 95%}}} {help_text "[_ assessment.item_Question_help]"}} - {required_p:text(select) {label "[_ assessment.Required]"} {options $boolean_options} {help_text "[_ assessment.item_Required_help]"}} -} - if { $type ne "survey"} { ad_form -extend -name item_edit_general -form { {points:integer,optional,nospell {label "[_ assessment.points_item]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.points_item_help]"}} @@ -73,22 +85,36 @@ {field_code:text(hidden),optional} {validate_block:text(hidden),optional} {data_type:text(hidden),optional} - {display_type:text(hidden),optional} {max_time_to_complete:text(hidden),optional} {formbutton_ok:text(submit) {label "[_ assessment.Save_and_finish]"}} } switch -- $item_type { "mc" { + set folder_id [as::assessment::folder_id -package_id $package_id] + set choice_sets [list [list "--" ""]] +db_foreach existing_choice_sets {} { + set set_title [string trim [regsub {\[.*?\]} [ad_html_to_text $title] {}]] + lappend choice_sets [list [expr {$set_title eq "" ? $section_title : $set_title}] $revision_id] +} +if {[llength $choice_sets]} { ad_form -extend -name item_edit_general -form { + {add_existing_mc_id:text(select),optional {label "[_ assessment.Choice_Sets]"} {options $choice_sets} {help_text "[_ assessment.Choice_Sets_help]"}} + } +} else { + ad_form -extend -name item_edit_general -form { + {add_existing_mc_id:text(hidden),optional} + } +} + ad_form -extend -name item_edit_general -form { {num_choices:text(hidden)} + {save_answer_set:text(checkbox),optional {label "[_ assessment.Save_this_set_of_answers_for_reuse_later]"} {options {{"" t}}}} {add_another_choice:text(submit) {label "[_ assessment.Add_another_choice]"}} } -ns_log notice "Add Another = '[template::element::get_value item_edit_general add_another_choice]'" +ns_log notice "Add Another = '[template::element::get_value item_edit_general add_another_choice]' == '[_ assessment.Add_another_choice]'" if {[template::form::is_submission item_edit_general] \ - && [template::element::get_value item_edit_general add_another_choice] \ - eq [_ assessment.Add_another_choice]} { + && [template::element::get_value item_edit_general add_another_choice] eq [_ assessment.Add_another_choice]} { set num_choices [element::get_value item_edit_general num_choices] incr num_choices element::set_value item_edit_general num_choices $num_choices @@ -150,7 +176,10 @@ set existing_choices [as::item_type_mc::existing_choices $as_item_id] - + if {[llength $existing_choices] && ![info exists num_choices]} { + set num_choices [llength $existing_choices] + template::element::set_value item_edit_general num_choices $num_choices + } if {![template::form::is_submission item_edit_general] \ && ![info exists num_choices]} { set num_choices 5 @@ -206,7 +235,8 @@ set feedback_right [template::util::richtext::create $feedback_right $mime_type] set feedback_wrong [template::util::richtext::create $feedback_wrong $mime_type] # FIXME fill in reference answer - +} -on_request { + set display_type [string range [db_string get_display_type {}] end-1 end] } -on_submit { set category_ids [category::ad_form::get_categories -container_object_id $package_id] if {[empty_string_p $points]} { @@ -290,63 +320,95 @@ -old_section_id $section_id \ -new_section_id $new_section_id \ -new_assessment_rev_id $new_assessment_rev_id + + ns_log notice "HAM : $old_display_type : $display_type **********" + if { ![string match $old_display_type $display_type] } { + as::item_display_${display_type}::set_item_display_type -assessment_id $assessment_id \ + -section_id $section_id \ + -as_item_id $as_item_id + } set title [string range $question_text 0 999] db_dml update_item_in_section {} switch -- $item_type { mc { - set num_answers 0 - set num_correct_answers 0 - foreach c [array names choice] { - if {$choice($c) ne ""} { - incr num_answers - } - } - foreach c [array names correct] { - if {$correct($c) eq "t"} { - incr num_correct_answers - } - } - set new_item_type_id [as::item_type_mc::edit \ - -as_item_type_id $as_item_type_id \ - -title $title \ - -increasing_p f \ - -allow_negative_p f \ - -num_correct_answers $num_correct_answers \ - -num_answers $num_answers] - db_dml update_item_type {} - # edit existing choices - set count 0 - foreach i [lsort [array names choice]] { - if {[string range $i 0 0] != "_" && ![empty_string_p $choice($i)]} { - incr count - set new_choice_id [as::item_choice::new_revision -choice_id $i -mc_id $new_item_type_id] - set title $choice($i) - set correct_answer_p [ad_decode [info exists correct($i)] 0 f t] - db_dml update_title {} - db_dml update_correct_and_sort_order {} - } - } + if {[info exists add_existing_mc_id] && $add_existing_mc_id ne ""} { + set new_item_type_id [as::item_type_mc::copy -type_id $add_existing_mc_id -copy_correct_answer_p "f" -new_title ""] + if {![db_0or1row get_item_type {}] || $object_type != "as_item_type_mc"} { + if {![info exists object_type]} { + # first item type mapped + as::item_rels::new -item_rev_id $as_item_id -target_rev_id $add_existing_mc_id -type as_item_type_rel + } else { + # old item type existing + db_dml update_item_type {} + } + } else { + # old mc item type existing + db_dml update_item_type {} + } + } else { - # add new choices - foreach i [lsort [array names choice]] { - - if {[string range $i 0 0] == "_" && ![empty_string_p $choice($i)]} { - incr count - set new_choice_id [as::item_choice::new -mc_id $new_item_type_id \ - -title $choice($i) \ - -numeric_value "" \ - -text_value "" \ - -content_value "" \ - -feedback_text "" \ - -selected_p "" \ - -correct_answer_p [ad_decode [info exists correct($i)] 0 f t] \ - -sort_order $count \ - -percent_score ""] - } - } + set num_answers 0 + set num_correct_answers 0 + foreach c [array names choice] { + if {$choice($c) ne ""} { + incr num_answers + } + } + foreach c [array names correct] { + if {$correct($c) eq "t"} { + incr num_correct_answers + } + } + # set title to blank for mc answer set + # if they unchecked save for reuse + # we don't ask for a title, if they did check it + # we set it on save-answer-set + # with each revision of the mc we decide if its + # reusable or not + + set new_item_type_id [as::item_type_mc::edit \ + -as_item_type_id $as_item_type_id \ + -title "" \ + -increasing_p f \ + -allow_negative_p f \ + -num_correct_answers $num_correct_answers \ + -num_answers $num_answers] + db_dml update_item_type {} + # edit existing choices + set count 0 + foreach i [lsort [array names choice]] { + if {[string range $i 0 0] != "_" && ![empty_string_p $choice($i)]} { + incr count + set new_choice_id [as::item_choice::new_revision -choice_id $i -mc_id $new_item_type_id] + set title $choice($i) + set correct_answer_p [ad_decode [info exists correct($i)] 0 f t] + + db_dml update_title {} + db_dml update_correct_and_sort_order {} + } + } + + # add new choices + foreach i [lsort [array names choice]] { + + if {[string range $i 0 0] == "_" && ![empty_string_p $choice($i)]} { + incr count + set new_choice_id [as::item_choice::new -mc_id $new_item_type_id \ + -title $choice($i) \ + -numeric_value "" \ + -text_value "" \ + -content_value "" \ + -feedback_text "" \ + -selected_p "" \ + -correct_answer_p [ad_decode [info exists correct($i)] 0 f t] \ + -sort_order $count \ + -percent_score ""] + } + } + } } "oq" { set new_item_type_id [as::item_type_oq::edit \ @@ -386,7 +448,11 @@ } } -after_submit { if {[exists_and_not_null formbutton_ok]} { - ad_returnredirect [export_vars -base "questions" {assessment_id section_id }]&\#${as_item_id} + set return_url [export_vars -base "questions" {assessment_id section_id }]&\#${as_item_id} + if {[info exists save_answer_set] && $save_answer_set eq "on" && (![info exists add_existing_mc_id] || $add_existing_mc_id eq "")} { + set return_url [export_vars -base save-answer-set {assessment_id as_item_id return_url {mc_id $new_item_type_id}}] + } + ad_returnredirect $return_url ad_script_abort } } Index: openacs-4/packages/assessment/www/asm-admin/item-edit-general.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-general.xql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/assessment/www/asm-admin/item-edit-general.xql 15 May 2007 20:14:18 -0000 1.5 +++ openacs-4/packages/assessment/www/asm-admin/item-edit-general.xql 7 Oct 2007 22:36:54 -0000 1.6 @@ -151,4 +151,41 @@ select sort_order from as_item_choices where choice_id=:n </querytext> </fullquery> + + +<fullquery name="existing_choice_sets_old"> + <querytext> + select substring(title from 1 for 50) as title, revision_id from (select r.title, r.revision_id, case when m.target_rev_id is not null then 0 else 1 end as sort_key + from cr_items i, cr_revisions r + left join + (select r1.target_rev_id from + as_item_section_map m1, as_item_rels r1, as_assessment_section_map m2, + cr_items i2, cr_items i3, cr_items i4 + where m1.as_item_id = r1.item_rev_id and r1.rel_type = 'as_item_type_rel' + and m1.section_id = m2.section_id + and m2.assessment_id = i2.latest_revision + and m1.as_item_id = i3.latest_revision + and m1.section_id = i4.latest_revision + and i2.item_id = :assessment_id) m + on m.target_rev_id = r.revision_id + where + i.parent_id = :folder_id + and r.revision_id = i.latest_revision + and i.content_type like 'as_item_type_mc') q order by sort_key + + </querytext> +</fullquery> + +<fullquery name="existing_choice_sets"> + <querytext> + select distinct title, revision_id from (select substr(title,1,50) as title, revision_id + from cr_items i, cr_revisions r + where + i.parent_id = :folder_id + and r.title is not NULL + and r.revision_id = i.latest_revision + and i.content_type = 'as_item_type_mc') c + </querytext> +</fullquery> + </queryset> Index: openacs-4/packages/assessment/www/asm-admin/item-edit-mc.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/item-edit-mc.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/assessment/www/asm-admin/item-edit-mc.tcl 15 May 2007 20:14:18 -0000 1.10 +++ openacs-4/packages/assessment/www/asm-admin/item-edit-mc.tcl 7 Oct 2007 22:36:54 -0000 1.11 @@ -42,7 +42,7 @@ ad_form -name item_edit_mc -action item-edit-mc -export { assessment_id section_id num_choices } -form { {as_item_id:key} - {title:text {label "[_ assessment.Title]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.mc_Title_help]"}} + {title:text,optional {label "[_ assessment.Title]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.mc_Title_help]"}} } if {$type > 1} { @@ -142,9 +142,9 @@ as::assessment::check::copy_item_checks -assessment_id \$assessment_id -section_id \$new_section_id -as_item_id \$as_item_id -new_item_id \$new_item_id as::section::update_section_in_assessment\ - -old_section_id $section_id \ - -new_section_id $new_section_id \ - -new_assessment_rev_id $new_assessment_rev_id + -old_section_id \$section_id \ + -new_section_id \$new_section_id \ + -new_assessment_rev_id \$new_assessment_rev_id db_dml update_item_in_section {} db_dml update_item_type {} Index: openacs-4/packages/assessment/www/asm-admin/one-a.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/one-a.adp,v diff -u -r1.18 -r1.19 --- openacs-4/packages/assessment/www/asm-admin/one-a.adp 15 May 2007 20:14:18 -0000 1.18 +++ openacs-4/packages/assessment/www/asm-admin/one-a.adp 7 Oct 2007 22:36:54 -0000 1.19 @@ -124,9 +124,3 @@ </table> - -<if @sections:rowcount@ eq 0> -<p> -<font color=red><b>#assessment.add_section_first#</b></font> -</p> -</if> Index: openacs-4/packages/assessment/www/asm-admin/one-a.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/one-a.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/assessment/www/asm-admin/one-a.tcl 15 May 2007 20:14:18 -0000 1.12 +++ openacs-4/packages/assessment/www/asm-admin/one-a.tcl 7 Oct 2007 22:36:54 -0000 1.13 @@ -81,7 +81,7 @@ -type assessment_response_notif \ -object_id $assessment_id \ -pretty_name $title \ - -url [export_vars -base one-a {assessment_id reg_p}] ] + -url [ad_return_url] ] db_multirow -extend { section_url } sections assessment_sections {} { if {[empty_string_p $points]} { Index: openacs-4/packages/assessment/www/asm-admin/results-session.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-session.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/assessment/www/asm-admin/results-session.adp 15 May 2007 20:14:18 -0000 1.7 +++ openacs-4/packages/assessment/www/asm-admin/results-session.adp 7 Oct 2007 22:36:54 -0000 1.8 @@ -9,7 +9,7 @@ <h1>@assessment_data.title@</h1> <p><span><b>#acs-subsite.Name#:</b> <if @show_username_p@><a href="@session_user_url@">@first_names@ @last_name@</a></if><else>#assessment.anonymous_name#</else></span> <span><b>#assessment.Attempt#:</b> @session_attempt@<if @assessment_data.number_tries@ not nil> / @assessment_data.number_tries@</if></span> (<a href="@delete_url@">#assessment.Delete_Attempts#</a>) - <if @assessment_data.type@ ne survey><span><b>#assessment.Percent_Score#:</b> @assessment_score@</span></if> + <if @assessment_data.type@ ne survey><span><b>#assessment.Percent_Score#:</b> @percent_score@%</span></if> <span><b>#assessment.Started#:</b> @session_start@</span> <span><b>#assessment.Finished#:</b> @session_finish@</span> <span><b>#assessment.Time_spent#:</b> @session_time@</span> Index: openacs-4/packages/assessment/www/asm-admin/results-users-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users-oracle.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/www/asm-admin/results-users-oracle.xql 6 Dec 2005 14:24:34 -0000 1.1 +++ openacs-4/packages/assessment/www/asm-admin/results-users-oracle.xql 7 Oct 2007 22:36:54 -0000 1.2 @@ -1,21 +1,55 @@ <?xml version="1.0"?> <queryset> -<rdbms><type>oracle</type><version>8.1.6</version></rdbms> -<partialquery name="restrict_start_date"> - <querytext> +<fullquery name="assessment_results"> + <querytext> + select a.title, + a.user_id, a.first_names, a.last_name, + to_char(cs.completed_datetime, :format) as completed_datetime, + to_char(coalesce(cs.last_mod_datetime, ns.last_mod_datetime), :format) as last_mod_datetime, + coalesce(cs.subject_id, ns.subject_id) as subject_id, + coalesce(cs.session_id, ns.session_id) as session_id, + cs.percent_score, + a.last_name || ', ' || a.first_names as subject_name + + from (select a.assessment_id, cr.title, cr.item_id, cr.revision_id, + u.user_id, u.first_names, u.last_name + + from as_assessments a, cr_revisions cr, cr_items ci, acs_users_all u + where a.assessment_id = cr.revision_id + and cr.revision_id = ci.latest_revision + and ci.parent_id = :folder_id + and u.user_id <> 0 + and exists ( + select 1 from acs_object_party_privilege_map + where object_id = :assessment_id + and party_id = u.user_id + and privilege = 'read')) a + left join (select as_sessions.*, cr.item_id + from as_sessions, cr_revisions cr + where session_id in (select max(session_id) + from as_sessions, acs_objects o + where not completed_datetime is null + and o.object_id = session_id + and o.package_id = :package_id + group by subject_id, assessment_id ) + and revision_id=assessment_id) cs + on (a.user_id = cs.subject_id and a.item_id = cs.item_id) - and s.completed_datetime >= $start_time + left join (select * + from as_sessions + where session_id in (select max(session_id) + from as_sessions, acs_objects o + where completed_datetime is null + and o.object_id = session_id + and o.package_id = :package_id + group by subject_id, assessment_id)) ns + on (a.user_id = ns.subject_id and a.assessment_id = ns.assessment_id) - </querytext> -</partialquery> + where 1=1 + [list::filter_where_clauses -and -name "results"] -<partialquery name="restrict_end_date"> - <querytext> - - and trunc(s.completed_datetime) <= $end_time - - </querytext> -</partialquery> - + order by lower(a.title), lower(a.last_name), lower(a.first_names) + </querytext> +</fullquery> </queryset> Index: openacs-4/packages/assessment/www/asm-admin/results-users-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users-postgresql.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/asm-admin/results-users-postgresql.xql 15 May 2007 20:14:18 -0000 1.2 +++ openacs-4/packages/assessment/www/asm-admin/results-users-postgresql.xql 7 Oct 2007 22:36:54 -0000 1.3 @@ -1,22 +1,56 @@ <?xml version="1.0"?> <queryset> -<rdbms><type>postgresql</type><version>7.1</version></rdbms> -<partialquery name="restrict_start_date"> - <querytext> +<fullquery name="assessment_results"> + <querytext> + select a.title, + a.user_id, a.first_names, a.last_name, + to_char(cs.completed_datetime, :format) as completed_datetime, + to_char(coalesce(cs.last_mod_datetime, ns.last_mod_datetime), :format) as last_mod_datetime, + coalesce(cs.subject_id, ns.subject_id) as subject_id, + coalesce(cs.session_id, ns.session_id) as session_id, + cs.percent_score, + a.last_name || ', ' || a.first_names as subject_name + + from (select a.assessment_id, cr.title, cr.item_id, cr.revision_id, + u.user_id, u.first_names, u.last_name + + from as_assessments a, cr_revisions cr, cr_items ci, acs_users_all u + where a.assessment_id = cr.revision_id + and cr.revision_id = ci.latest_revision + and ci.parent_id = :folder_id + and u.user_id <> 0 + and exists ( + select 1 from acs_object_party_privilege_map + where object_id = :assessment_id + and party_id = u.user_id + and privilege = 'read')) a + left join (select as_sessions.*, cr.item_id + from as_sessions, cr_revisions cr + where session_id in (select max(session_id) + from as_sessions, acs_objects o + where not completed_datetime is null + and o.object_id = session_id + and o.package_id = :package_id + group by subject_id, assessment_id ) + and revision_id=assessment_id) cs + on (a.user_id = cs.subject_id and a.item_id = cs.item_id) - and (s.completed_datetime >= $start_time - or s.completed_datetime is null) - </querytext> -</partialquery> + left join (select * + from as_sessions + where session_id in (select max(session_id) + from as_sessions, acs_objects o + where completed_datetime is null + and o.object_id = session_id + and o.package_id = :package_id + group by subject_id, assessment_id)) ns + on (a.user_id = ns.subject_id and a.assessment_id = ns.assessment_id) -<partialquery name="restrict_end_date"> - <querytext> + where true - and (date_trunc('day', s.completed_datetime) <= $end_time - or $end_time > now ()) + [list::filter_where_clauses -and -name "results"] - </querytext> -</partialquery> - + order by lower(a.title), lower(a.last_name), lower(a.first_names) + </querytext> +</fullquery> </queryset> Index: openacs-4/packages/assessment/www/asm-admin/results-users.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/assessment/www/asm-admin/results-users.adp 15 May 2007 20:14:18 -0000 1.5 +++ openacs-4/packages/assessment/www/asm-admin/results-users.adp 7 Oct 2007 22:36:54 -0000 1.6 @@ -4,9 +4,11 @@ <include src="/packages/assessment/lib/section-links" assessment_id="@assessment_id@" tab="results"> <p>@count_all_users@ users in community, @count_complete@ complete responses, @count_incomplete@ incomplete responses</p> +<listfilters name="results" style="inline-filters"></listfilters> <listtemplate name="results"></listtemplate> <if @assessment_data.anonymous_p@ eq t> <h3>#assessment.Responding_Users#</h3> <listtemplate name="subjects"></listtemplate> </if> + Index: openacs-4/packages/assessment/www/asm-admin/results-users.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/assessment/www/asm-admin/results-users.tcl 15 May 2007 20:14:18 -0000 1.10 +++ openacs-4/packages/assessment/www/asm-admin/results-users.tcl 7 Oct 2007 22:36:54 -0000 1.11 @@ -8,6 +8,7 @@ assessment_id {start_time:optional ""} {end_time:optional ""} + status:optional,notnull } -properties { context:onevalue page_title:onevalue @@ -21,13 +22,15 @@ # Get the assessment data as::assessment::data -assessment_id $assessment_id +set package_id [ad_conn package_id] +set folder_id [as::assessment::folder_id -package_id $package_id] if {![info exists assessment_data(assessment_id)]} { ad_return_complaint 1 "[_ assessment.Requested_assess_does]" ad_script_abort } set user_id [ad_conn user_id] -set assessment_rev_id $assessment_data(assessment_rev_id) + set page_title "[_ assessment.Results_by_user]" set context [list [list index [_ assessment.admin]] [list [export_vars -base one-a {assessment_id}] $assessment_data(title)] $page_title] set format "[lc_get formbuilder_date_format], [lc_get formbuilder_time_format]" @@ -53,19 +56,31 @@ regsub -all -- {to_date} $end_time {to_timestamp} end_time } + if {![empty_string_p $start_time]} { set start_date_sql [db_map restrict_start_date] } if {![empty_string_p $end_time]} { set end_date_sql [db_map restrict_end_date] } - #ad_returnredirect [export_vars -base results-users {assessment_id start_time end_time}] } +if { [exists_and_not_null status] } { + if { $status == "complete" } { + set whereclause "cs.completed_datetime is not null" + } elseif { $status == "incomplete" } { + set whereclause "cs.completed_datetime is null and ns.session_id is not null" + } else { + set whereclause "cs.completed_datetime is null and ns.session_id is null" + } +} else { + set whereclause "cs.completed_datetime is null and ns.session_id is null" +} + template::list::create \ -name results \ -multirow results \ - -key sessions_id \ + -key session_id \ -elements { session_id { label {[_ assessment.View_Results]} @@ -75,7 +90,7 @@ label {[_ assessment.Name]} } status { - label {#assessment.Status#} + label {\#assessment.Status\#} } completed_datetime { label {[_ assessment.Finish_Time]} @@ -86,19 +101,30 @@ html {align right nowrap} display_template {<if @results.result_url@ not nil><a href="@results.result_url@">@results.percent_score@</a></if><else></else>} } - delete { - label {} - display_template {<a href=\"@results.delete_url@">[_ assessment.Delete_Attempts]</a>} - } - } -main_class { - narrow - } + } -filters { + assessment_id { + where_clause { + a.item_id = :assessment_id + } + } + subject_id { + where_clause { + cs.subject_id = :subject_id + } + } + status { + values {{"[_ assessment.Complete]" complete} {"[_ assessment.Incomplete]" incomplete} {"[_ assessment.Not_Taken]" nottaken}} + where_clause { + $whereclause + } + } + } -bulk_actions {"#assessment.Send_Email#" send-mail "#assessment.Send_an_email_to_the_selected users#"} \ + -bulk_action_export_vars {assessment_id} template::multirow create subjects subject_id subject_url subject_name -db_multirow -extend { result_url subject_url status delete_url } results assessment_results { -} { +db_multirow -extend { result_url subject_url status delete_url } results assessment_results {} { # to display list of users who answered the assessment if anonymous template::multirow append subjects $subject_id [acs_community_member_url -user_id $subject_id] $subject_name @@ -133,15 +159,13 @@ } } -# FIXME -set dotlrn_installed_p [apm_package_installed_p dotlrn] -if {$dotlrn_installed_p} { - set count_all_users [llength [dotlrn_community::list_users [dotlrn_community::get_community_id]]] -} else { - # TODO get count from subsite - set count_all_users 0 -} - +set count_all_users [db_string q "select count(*) from users u + where u.user_id <> 0 + and exists (select 1 + from acs_object_party_privilege_map + where party_id = u.user_id + and object_id = :assessment_id + and privilege = 'read')" -default 0] set count_complete [template::multirow size subjects] set count_incomplete [expr {$count_all_users - $count_complete}] ad_return_template Index: openacs-4/packages/assessment/www/asm-admin/results-users.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/results-users.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/www/asm-admin/results-users.xql 15 May 2007 20:14:18 -0000 1.3 +++ openacs-4/packages/assessment/www/asm-admin/results-users.xql 7 Oct 2007 22:36:54 -0000 1.4 @@ -1,7 +1,7 @@ <?xml version="1.0"?> <queryset> -<fullquery name="assessment_results"> +<fullquery name="assessment_results_orig"> <querytext> select s.session_id, s.subject_id, s.percent_score, to_char(s.completed_datetime, :format) as completed_datetime, @@ -21,4 +21,5 @@ order by s.completed_datetime </querytext> </fullquery> + </queryset> Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/assessment/www/asm-admin/save-answer-set.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/assessment/www/asm-admin/save-answer-set.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/assessment/www/asm-admin/save-answer-set.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/assessment/www/asm-admin/section-form.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/section-form.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/assessment/www/asm-admin/section-form.tcl 15 May 2007 20:14:18 -0000 1.7 +++ openacs-4/packages/assessment/www/asm-admin/section-form.tcl 7 Oct 2007 22:36:54 -0000 1.8 @@ -124,7 +124,7 @@ } } } -after_submit { - ad_returnredirect [export_vars -base questions {assessment_id}] + ad_returnredirect [export_vars -base questions {assessment_id}]&\#S${new_section_id} ad_script_abort } Index: openacs-4/packages/assessment/www/asm-admin/send-mail-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/send-mail-oracle.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/www/asm-admin/send-mail-oracle.xql 1 Feb 2005 22:00:10 -0000 1.1 +++ openacs-4/packages/assessment/www/asm-admin/send-mail-oracle.xql 7 Oct 2007 22:36:54 -0000 1.2 @@ -2,45 +2,51 @@ <queryset> <rdbms><type>oracle</type><version>8.1.6</version></rdbms> - <partialquery name="dotlrn_all"> + + <partialquery name="all"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, '[db_quote $sender_last_name]' as sender_last_name, parties.email, - decode(acs_objects.object_type, - 'user', - (select first_names - from persons - where person_id = parties.party_id), - 'group', - (select group_name - from groups - where group_id = parties.party_id), - 'rel_segment', - (select segment_name - from rel_segments - where segment_id = parties.party_id), - '') as first_names, - decode(acs_objects.object_type, - 'user', - (select last_name - from persons - where person_id = parties.party_id), - '') as last_name, - '[db_quote $community_name]' as community_name, - '[db_quote $community_url]' as community_url - from party_approved_member_map, + decode(acs_objects.object_type, + 'user', + (select first_names + from persons + where person_id = parties.party_id), + 'group', + (select group_name + from groups + where group_id = parties.party_id), + 'rel_segment', + (select segment_name + from rel_segments + where segment_id = parties.party_id), + '') as first_names, + decode(acs_objects.object_type, + 'user', + (select last_name + from persons + where person_id = parties.party_id), + '') as last_name + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id <> 0 + and parties.party_id = users.user_id and parties.party_id = acs_objects.object_id + and exists (select 1 from acs_object_party_privilege_map m + where m.object_id = $assessment_id + and m.party_id = parties.party_id + and m.privilege = 'read') + + </querytext> </partialquery> - <partialquery name="dotlrn_responded"> + <partialquery name="responded"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, @@ -65,15 +71,13 @@ (select last_name from persons where person_id = parties.party_id), - '') as last_name, - '[db_quote $community_name]' as community_name, - '[db-quote $community_url]' as community_url - from party_approved_member_map, + '') as last_name + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id = users.user_id and parties.party_id = acs_objects.object_id and parties.party_id in ( select s.subject_id @@ -84,7 +88,7 @@ </querytext> </partialquery> - <partialquery name="dotlrn_not_responded"> + <partialquery name="not_responded"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, @@ -109,22 +113,25 @@ (select last_name from persons where person_id = parties.party_id), - '') as last_name, - '[db_quote $community_name]' as community_name, - '[db_quote $community_url]' as community_url - from party_approved_member_map, + '') as last_name + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id <> 0 + and parties.party_id = users.user_id and parties.party_id = acs_objects.object_id and parties.party_id not in ( select s.subject_id from as_sessions s, cr_revisions r where s.assessment_id = r.revision_id and s.completed_datetime is not null and r.item_id = $assessment_id) + and exists (select 1 from acs_object_party_privilege_map m + where m.object_id = $assessment_id + and m.party_id = parties.party_id + and m.privilege = 'read') </querytext> </partialquery> @@ -133,10 +140,10 @@ select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, '[db_quote $sender_last_name]' as sender_last_name, - parties.email, + parties.email from parties - where parties.party_id = acs_objects.object_id - and parties.party_id in ( + where + parties.party_id in ( select s.subject_id from as_sessions s, cr_revisions r where s.assessment_id = r.revision_id @@ -145,4 +152,15 @@ </querytext> </partialquery> -</queryset> \ No newline at end of file + <partialquery name="list_of_user_ids"> + <querytext> + select '[db_quote $sender_email]' as from_addr, + '[db_quote $sender_first_names]' as sender_first_names, + '[db_quote $sender_last_name]' as sender_last_name, + parties.email + from parties + where + parties.party_id in ([template::util::tcl_to_sql_list $user_ids]) + </querytext> + </partialquery> +</queryset> Index: openacs-4/packages/assessment/www/asm-admin/send-mail-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/send-mail-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/www/asm-admin/send-mail-postgresql.xql 1 Feb 2005 22:00:10 -0000 1.1 +++ openacs-4/packages/assessment/www/asm-admin/send-mail-postgresql.xql 7 Oct 2007 22:36:54 -0000 1.2 @@ -3,7 +3,7 @@ <queryset> <rdbms><type>postgresql</type><version>7.1</version></rdbms> - <partialquery name="dotlrn_all"> + <partialquery name="all"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, @@ -28,20 +28,23 @@ (select last_name from persons where person_id = parties.party_id) - else '' end) as last_name, - '[db_quote $community_name]' as community_name, - '[db_quote $community_url]' as community_url - from party_approved_member_map, + else '' end) as last_name + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id <> 0 + and parties.party_id = users.user_id and parties.party_id = acs_objects.object_id + and exists (select 1 from acs_object_party_privilege_map m + where m.object_id = $assessment_id + and m.party_id = parties.party_id + and m.privilege = 'read') </querytext> </partialquery> - <partialquery name="dotlrn_responded"> + <partialquery name="responded"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, @@ -66,15 +69,13 @@ (select last_name from persons where person_id = parties.party_id) - else '' end) as last_name, - '[db_quote $community_name]' as community_name, - '[db_quote $community_url]' as community_url - from party_approved_member_map, + else '' end) as last_name + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id = users.user_id and parties.party_id = acs_objects.object_id and parties.party_id in ( select s.subject_id @@ -85,7 +86,7 @@ </querytext> </partialquery> - <partialquery name="dotlrn_not_responded"> + <partialquery name="not_responded"> <querytext> select '[db_quote $sender_email]' as from_addr, '[db_quote $sender_first_names]' as sender_first_names, @@ -113,19 +114,24 @@ else '' end) as last_name, '[db_quote $community_name]' as community_name, '[db_quote $community_url]' as community_url - from party_approved_member_map, + from parties, - acs_objects - where party_approved_member_map.party_id = $segment_id - and party_approved_member_map.member_id <> $segment_id - and party_approved_member_map.member_id = parties.party_id + acs_objects, + users + where + parties.party_id <> 0 + and parties.party_id = users.user_id and parties.party_id = acs_objects.object_id and parties.party_id not in ( select s.subject_id from as_sessions s, cr_revisions r where s.assessment_id = r.revision_id and s.completed_datetime is not null and r.item_id = $assessment_id) + and exists (select 1 from acs_object_party_privilege_map m + where m.object_id = $assessment_id + and m.party_id = parties.party_id + and m.privilege = 'read') </querytext> </partialquery> @@ -136,7 +142,8 @@ '[db_quote $sender_last_name]' as sender_last_name, parties.email from parties - where parties.party_id in ( + where + parties.party_id in ( select s.subject_id from as_sessions s, cr_revisions r where s.assessment_id = r.revision_id @@ -145,4 +152,16 @@ </querytext> </partialquery> + <partialquery name="list_of_user_ids"> + <querytext> + select '[db_quote $sender_email]' as from_addr, + '[db_quote $sender_first_names]' as sender_first_names, + '[db_quote $sender_last_name]' as sender_last_name, + parties.email + from parties + where + parties.party_id in ([template::util::tcl_to_sql_list $user_ids]) + </querytext> + </partialquery> + </queryset> Index: openacs-4/packages/assessment/www/asm-admin/send-mail.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/send-mail.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/www/asm-admin/send-mail.tcl 8 Apr 2005 00:50:40 -0000 1.3 +++ openacs-4/packages/assessment/www/asm-admin/send-mail.tcl 7 Oct 2007 22:36:54 -0000 1.4 @@ -1,115 +1,123 @@ -ad_page_contract { +# packages/assessment/www/asm-admin/send-mail-to.tcl - this page offers options for sending email regarding - an assessment to various groups - - @param assessment_id +ad_page_contract { - @author dave@thedesignexperience.org - @date July 29, 2002 - @cvs-id $Id: -} { - assessment_id:integer,notnull - {to "responded"} + Choose who to send mail to + + @author Dave Bauer (dave@thedesignexperience.org) + @creation-date 2007-07-06 + @cvs-id $Id$ + +} -query { + {assessment_id ""} + {session_id:multiple ""} + {return_url ""} } -properties { context:onevalue page_title:onevalue } set package_id [ad_conn package_id] set user_id [ad_conn user_id] -set sender_id [ad_conn user_id] -permission::require_permission -object_id $package_id -privilege create -permission::require_permission -object_id $assessment_id -privilege admin +permission::require_permission \ + -privilege "admin" \ + -party_id $user_id \ + -object_id $package_id -# Get the assessment data as::assessment::data -assessment_id $assessment_id - -if {![info exists assessment_data(assessment_id)]} { - ad_return_complaint 1 "[_ assessment.Requested_assess_does]" - ad_script_abort -} - set page_title "[_ assessment.Send_Mail]" set assessment_name $assessment_data(title) set context [list [list index [_ assessment.admin]] [list [export_vars -base one-a {assessment_id}] $assessment_data(title)] $page_title] -db_1row select_sender_info {} -set dotlrn_installed_p [apm_package_installed_p dotlrn] -if {$dotlrn_installed_p} { - set rel_type "dotlrn_member_rel" - set community_id [dotlrn_community::get_community_id] - set segment_id [db_string select_rel_segment_id {}] - set community_name [dotlrn_community::get_community_name $community_id] - set community_url "[ad_parameter -package_id [ad_acs_kernel_id] SystemURL][dotlrn_community::get_community_url $community_id]" +ad_form -name send-mail -has_submit 1 -form { + {subject:text(text) {value $assessment_name} {label "[_ assessment.Message_Subject]"} {html {size 50}}} + {message:text(textarea) {label "[_ assessment.Enter_Message]"} {html {rows 15 cols 60}}} + {assessment_id:text(hidden) {value $assessment_id}} + {formbutton_ok:text(submit) {label "[_ acs-templating.OK]"}} +} +if {[llength $session_id]} { + if {[llength $session_id] == 1} { + set session_id [split [lindex $session_id 0]] + } + set options [db_list_of_lists get_session_user_options "select u.last_name || ', ' || u.first_names,user_id from acs_users_all u, as_sessions s where s.session_id in ([template::util::tcl_to_sql_list $session_id]) and u.user_id = s.subject_id"] + ad_form -extend -name send-mail -form { + {user_ids:text(checkbox) {label "[_ assessment.Send_mail_to_the_selected_users]"} {options $options}} + {session_id:text(hidden) {value $session_id}} + } +} else { set n_responses [db_string n_responses {}] + if {$n_responses > 0} { - ad_form -name send-mail -form { - {to:text(radio) {options { - {"[_ assessment.lt_Everyone_eligible_to_]" "all"} - {"[_ assessment.lt_Everyone_who_has_alre]" "responded"} - {"[_ assessment.lt_Everyone_who_has_not_]" "not_responded"}}} - {label "[_ assessment.Send_mail_to]"} - {value $to} - } - } + ad_form -extend -name send-mail -form { + {to:text(radio) {options { + {"[_ assessment.lt_Everyone_eligible_to_]" "all"} + {"[_ assessment.lt_Everyone_who_has_alre]" "responded"} + {"[_ assessment.lt_Everyone_who_has_not_]" "not_responded"}}} + {label "[_ assessment.Send_mail_to]"} + } + } } else { - ad_form -name send-mail -form { - {to:text(radio) {options { - {"[_ assessment.lt_Everyone_eligible_to_]" "all"} - {"[_ assessment.lt_Everyone_who_has_not_]" "not_responded"}}} - {label "[_ assessment.Send_mail_to]"} - {value $to} - } - } + ad_form -extend -name send-mail -form { + {to:text(radio) {options { + {"[_ assessment.lt_Everyone_eligible_to_]" "all"} + {"[_ assessment.lt_Everyone_who_has_not_]" "not_responded"}}} + {label "[_ assessment.Send_mail_to]"} + {value $to} + } + } } -} else { - ad_form -name send-mail -form { - {to:text(radio) {options { - {"[_ assessment.lt_Everyone_who_has_alre]" "responded"}}} - {label "[_ assessment.Send_mail_to]"} - {value ""} - } - } } -ad_form -extend -name send-mail -form { - {subject:text(text) {value $assessment_name} {label "[_ assessment.Message_Subject]"} {html {size 50}}} - {message:text(textarea) {label "[_ assessment.Enter_Message]"} {html {rows 15 cols 60}}} - {assessment_id:text(hidden) {value $assessment_id}} +ad_form -extend -name send-mail -on_request { + if {[info exists options]} { + set user_ids [list] + foreach elm $options { + lappend user_ids [lindex $elm 1] + } + } } -on_submit { + acs_user::get -user_id $user_id -array sender + set sender_email $sender(email) + set sender_first_names $sender(first_names) + set sender_last_name $sender(last_name) set query "" - if {$dotlrn_installed_p} { + if {[info exists to] && $to ne ""} { switch $to { all { - set query [db_map dotlrn_all] + set query [db_map all] } responded { - set query [db_map dotlrn_responded] + set query [db_map responded] } not_responded { - set query [db_map dotlrn_not_responded] + set query [db_map not_responded] } } + } elseif {[info exists user_ids] && [llength $user_ids]} { + set query [db_map list_of_user_ids] } else { set query [db_map responded] } - + bulk_mail::new \ -package_id $package_id \ -from_addr $sender_email \ -subject $subject \ -message $message \ -query $query - ad_returnredirect [export_vars -base one-a {assessment_id}] + if {$return_url eq ""} { + set return_url [export_vars -base one-a {assessment_id}] + } + set redirect_message "[_ assessment.Mail_subject_sent]" + ad_returnredirect -message $redirect_message $return_url ad_script_abort -} -ad_return_template + +} \ No newline at end of file Index: openacs-4/packages/assessment/www/asm-admin/send-mail.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/send-mail.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/www/asm-admin/send-mail.xql 1 Feb 2005 22:00:10 -0000 1.1 +++ openacs-4/packages/assessment/www/asm-admin/send-mail.xql 7 Oct 2007 22:36:54 -0000 1.2 @@ -14,15 +14,6 @@ </querytext> </fullquery> - <fullquery name="select_rel_segment_id"> - <querytext> - select rel_segments.segment_id - from rel_segments - where rel_segments.group_id = :community_id - and rel_segments.rel_type = :rel_type - </querytext> - </fullquery> - <fullquery name="n_responses"> <querytext> select count(*) Index: openacs-4/packages/assessment/www/asm-admin/session-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/session-delete.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/assessment/www/asm-admin/session-delete.tcl 15 May 2007 20:14:18 -0000 1.5 +++ openacs-4/packages/assessment/www/asm-admin/session-delete.tcl 7 Oct 2007 22:36:54 -0000 1.6 @@ -9,7 +9,7 @@ permission::require_permission \ -party_id [ad_conn user_id] \ - -object_id [ad_conn package_id] \ + -object_id $assessment_id \ -privilege admin as::assessment::data -assessment_id $assessment_id set assessment_name $assessment_data(name) Index: openacs-4/packages/assessment/www/asm-admin/sessions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/sessions.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/asm-admin/sessions.adp 26 Sep 2006 00:22:46 -0000 1.2 +++ openacs-4/packages/assessment/www/asm-admin/sessions.adp 7 Oct 2007 22:36:54 -0000 1.3 @@ -1,5 +1,6 @@ <master> - <property name="title">#assessment.All_Users#</property> + <property name="title">@page_title@</property> + <property name="context">@context@</property> <if @assessment_data.html_title@ defined><h2>#assessment.lt_Responses_for_assessm#</h2></if> <if @person_name@ defined><h2>#assessment.lt_Responses_of_user_per#</h2></if> <p /> Index: openacs-4/packages/assessment/www/asm-admin/sessions.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/sessions.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/www/asm-admin/sessions.tcl 15 May 2007 20:14:18 -0000 1.3 +++ openacs-4/packages/assessment/www/asm-admin/sessions.tcl 7 Oct 2007 22:36:54 -0000 1.4 @@ -6,6 +6,7 @@ @author Roel Canicula (roel@solutiongrove.com) @creation-date 2006-06-05 + @arch-tag: cdb2d596-15fc-45ba-9ce1-d648a49a20b7 @cvs-id $Id$ } { @@ -21,16 +22,16 @@ permission::require_permission -object_id $package_id -privilege create set folder_id [as::assessment::folder_id -package_id $package_id] set user_id [ad_conn user_id] - -# hack for dotlrn ideally ad_conn subsite_id would pretend dotlrn was a subsite -if {![apm_package_installed_p dotlrn] \ - || [set members_party_id [dotlrn_community::get_community_id]] eq ""} { - set members_party_id [application_group::group_id_from_package_id \ - -package_id [ad_conn subsite_id]] -} - +set context_object_id $package_id set form [rp_getform] ns_set delkey $form status +set page_title [_ assessment.All_Users] +if {[info exists assessment_id]} { + as::assessment::data -assessment_id $assessment_id + set context [list [list index [_ assessment.admin]] [list [export_vars -base one-a {assessment_id}] $assessment_data(title)] $page_title] +} else { + set context [list [list index [_ assessment.admin]] $page_title] +} set base_url [ad_return_url] set actions [list] @@ -48,11 +49,23 @@ if { [info exists assessment_id] } { as::assessment::data -assessment_id $assessment_id - + set context_object_id $assessment_id set actions [linsert $actions 0 "[_ assessment.All_Assessments]" ? "[_ assessment.All_Assessments]"] lappend actions "[_ assessment.Summary]" [export_vars -base item-stats { assessment_id {return_url [ad_return_url]} }] "[_ assessment.Summary]" } +if { [exists_and_not_null status] } { + if { $status == "complete" } { + set whereclause "cs.completed_datetime is not null" + } elseif { $status == "incomplete" } { + set whereclause "cs.completed_datetime is null and ns.session_id is not null" + } else { + set whereclause "cs.completed_datetime is null and ns.session_id is null" + } +} else { + set whereclause "cs.completed_datetime is null and ns.session_id is null" +} + # Check membership template::list::create \ @@ -120,67 +133,9 @@ status { values {{"[_ assessment.Complete]" complete} {"[_ assessment.Incomplete]" incomplete} {"[_ assessment.Not_Taken]" nottaken}} where_clause { - (case when :status = 'complete' - then not cs.completed_datetime is null - when :status = 'incomplete' - then cs.completed_datetime is null and not ns.session_id is null - else cs.completed_datetime is null and ns.session_id is null end) + $whereclause } } } -db_multirow sessions get_sessions [subst { - select a.*, - to_char(cs.completed_datetime, 'YYYY-MM-DD HH24:MI:SS') as completed_datetime, - to_char(coalesce(cs.last_mod_datetime, ns.last_mod_datetime), 'YYYY-MM-DD HH24:MI:SS') as last_mod_datetime, - coalesce(cs.subject_id, ns.subject_id) as subject_id, - coalesce(cs.session_id, ns.session_id) as session_id, - cs.percent_score - - from (select a.assessment_id, cr.title, cr.item_id, cr.revision_id, - u.user_id, u.first_names, u.last_name - - from as_assessments a, cr_revisions cr, cr_items ci, acs_users_all u, - group_member_map g - - where a.assessment_id = cr.revision_id - and cr.revision_id = ci.latest_revision - and ci.parent_id = :folder_id - - and g.group_id = :members_party_id - and g.member_id = u.user_id - and acs_permission__permission_p(cr.item_id, u.user_id, 'read')) a - - left join (select as_sessions.*, cr.item_id - from as_sessions, cr_revisions cr - where session_id in (select max(session_id) - from as_sessions, acs_objects o - where not completed_datetime is null - and o.object_id = session_id - and o.package_id = :package_id - group by subject_id, assessment_id ) - and revision_id=assessment_id) cs - on (a.user_id = cs.subject_id and a.item_id = cs.item_id) - - left join (select * - from as_sessions - where session_id in (select max(session_id) - from as_sessions, acs_objects o - where completed_datetime is null - and o.object_id = session_id - and o.package_id = :package_id - group by subject_id, assessment_id)) ns - on (a.user_id = ns.subject_id and a.assessment_id = ns.assessment_id) - - where true - [list::filter_where_clauses -and -name "sessions"] - - order by lower(a.title), lower(a.last_name), lower(a.first_names) -}] - - - - - - - +db_multirow sessions get_sessions "" Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/assessment/www/asm-admin/sessions.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/assessment/www/asm-admin/toggle-publish.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/toggle-publish.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/asm-admin/toggle-publish.tcl 15 May 2007 20:14:18 -0000 1.2 +++ openacs-4/packages/assessment/www/asm-admin/toggle-publish.tcl 7 Oct 2007 22:36:54 -0000 1.3 @@ -2,6 +2,7 @@ Publish or unpublish an assessment } { assessment_id:integer,notnull + {return_url ""} } permission::require_permission \ @@ -26,4 +27,7 @@ set message "Publish failed. Following section(s) have no questions: ${empty_sections}" } -ad_returnredirect -message $message [export_vars -base one-a {assessment_id}] +if {$return_url eq ""} { + set return_url [export_vars -base one-a {assessment_id}] +} +ad_returnredirect -message $message $return_url Index: openacs-4/packages/assessment/www/asm-admin/unzip-file.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/unzip-file.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/assessment/www/asm-admin/unzip-file.tcl 26 Sep 2006 00:22:46 -0000 1.2 +++ openacs-4/packages/assessment/www/asm-admin/unzip-file.tcl 7 Oct 2007 22:36:54 -0000 1.3 @@ -12,7 +12,7 @@ permission::require_permission \ -object_id [ad_conn package_id] \ -party_id [ad_conn user_id] \ - -privilege "admin" + -privilege "create" set context [list "[_ assessment.Import_Results]"] Index: openacs-4/packages/assessment/www/asm-admin/export/index.vuh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/asm-admin/export/index.vuh,v diff -u -r1.9 -r1.10 --- openacs-4/packages/assessment/www/asm-admin/export/index.vuh 12 Jun 2006 02:49:52 -0000 1.9 +++ openacs-4/packages/assessment/www/asm-admin/export/index.vuh 7 Oct 2007 22:36:54 -0000 1.10 @@ -384,12 +384,12 @@ $presentation appendChild $response_str #get rows and cols for painting a textarea (in abs_size is stored as "rows value cols value", we need to add the symbol =) db_0or1row html_rows_cols "SELECT html_display_options FROM as_item_display_ta WHERE as_item_display_id=:item_display_id" - if {![empty_string_p $html_display_options]} { - set rows "[lindex $html_display_options 3]" - set columns "[lindex $html_display_options 1]" + if {![catch {array set html_array $html_display_options} errMsg] && [info exists html_array(rows)] && [info exists html_array(cols)]} { + set rows $html_array(rows) + set columns $html_array(cols) } else { - set rows 5 - set columns 25 + set rows 15 + set columns 55 } #<render_fib> set render_fib [$doc createElement render_fib] @@ -473,7 +473,7 @@ #<or> set or [$doc createElement or] $conditionvar appendChild $or - set list_choice_title $choice_title + set list_choice_title [list $choice_title] for {set j 0} {$j < [llength $list_choice_title]} {incr j 1} { #<varequal> set varequal [$doc createElement varequal] @@ -564,7 +564,8 @@ #<or> set or [$doc createElement or] $and appendChild $or - set list_choice_title $choice_title + set list_choice_title [list $choice_title] + for {set j 0} {$j < [llength $list_choice_title]} {incr j 1} { #<varequal> set varequal [$doc createElement varequal] @@ -628,7 +629,9 @@ set i 0 # [info exists tb__display_id] because for fib item choice_correct_answer_p is null if { $choice_correct_answer_p == "t" || [info exists tb__display_id] } { - set list_choice_title $choice_title + + set list_choice_title [list $choice_title] + set length_list_choice_title [llength $list_choice_title] if {![info exists tb__display_id]} { Index: openacs-4/packages/assessment-portlet/assessment-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/assessment-portlet.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/assessment-portlet/assessment-portlet.info 15 May 2007 20:14:18 -0000 1.4 +++ openacs-4/packages/assessment-portlet/assessment-portlet.info 7 Oct 2007 22:36:54 -0000 1.5 @@ -7,11 +7,11 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/assessment-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/assessment-portlet-2.3.1.apm"> <owner url="mailto:jopez@galileo.edu">Jose Pablo Escobedo Del Cid</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="assessment-portlet" version="2.3.0"/> + <provides url="assessment-portlet" version="2.3.1"/> <requires url="assessment" version="0.22d3"/> <callbacks> Index: openacs-4/packages/assessment-portlet/www/assessment-portlet-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/www/assessment-portlet-oracle.xql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/assessment-portlet/www/assessment-portlet-oracle.xql 15 May 2007 20:14:19 -0000 1.5 +++ openacs-4/packages/assessment-portlet/www/assessment-portlet-oracle.xql 7 Oct 2007 22:36:55 -0000 1.6 @@ -5,13 +5,27 @@ <fullquery name="open_asssessments"> <querytext> - select cr.item_id as assessment_id, cr.title, cr.description, a.password, + select * from (select cr.item_id as assessment_id, cr.title, cr.description, a.password, to_char(a.start_time, 'YYYY-MM-DD HH24:MI:SS') as start_time, to_char(a.end_time, 'YYYY-MM-DD HH24:MI:SS') as end_time, to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') as cur_time, cf.package_id, p.instance_name as community_name, - sc.node_id as comm_node_id, sa.node_id as as_node_id, - acs_permission__permission_p(a.assessment_id,:user_id,'admin') as admin_p + sc.node_id as comm_node_id, sa.node_id as as_node_id, a.anonymous_p, + acs_permission.permission_p(a.assessment_id,:user_id,'admin') as admin_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id + and cr1.item_id=cr.item_id + and s1.subject_id=:user_id + and completed_datetime is null) as in_progress_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id + and cr1.item_id=cr.item_id + and s1.subject_id=:user_id + and completed_datetime is not null) as completed_p, + a.number_tries + from as_assessments a, cr_revisions cr, cr_items ci, cr_folders cf, site_nodes sa, site_nodes sc, apm_packages p where a.assessment_id = cr.revision_id @@ -31,7 +45,53 @@ and ppm.privilege = 'read' and ppm.party_id = :user_id) order by lower(p.instance_name), lower(cr.title) +) q where (q.completed_p < q.number_tries) or (q.number_tries=0 or q.number_tries is null) </querytext> </fullquery> +<fullquery name="answered_assessments"> + <querytext> +select * from (select ass.*, sc.node_id as comm_node_id, sa.node_id as as_node_id, p.instance_name as community_name, +acs_permission.permission_p(ass.assessment_id,:user_id,'admin') as admin_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id and + cr1.item_id=ass.assessment_id + and s1.subject_id=:user_id + and completed_datetime is null) as in_progress_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id + and cr1.item_id=ass.assessment_id + and s1.subject_id=:user_id + and completed_datetime is not null) as completed_p + + + from + (select cr.item_id as assessment_id, cr.title, cr.description, cf.package_id, + a1.number_tries, a1.end_time + from as_assessments a, cr_revisions cr, cr_items ci, cr_folders cf, + as_assessments a1, + ( select distinct s.assessment_id + from as_sessions s + where s.subject_id = :user_id + and s.completed_datetime is not null) s + where a.assessment_id = cr.revision_id -- + and cf.package_id in ([join $list_of_package_ids ", "]) + and cr.item_id = ci.item_id + and ci.parent_id = cf.folder_id + and s.assessment_id = a.assessment_id + and a1.assessment_id = ci.latest_revision + ) ass, +site_nodes sa, site_nodes sc, apm_packages p +where sa.object_id = ass.package_id +and sc.node_id = sa.parent_id +and p.package_id = sc.object_id +order by lower(p.instance_name), lower(ass.title) +) q + where (q.number_tries is not null and q.number_tries >0 and q.completed_p >= q.number_tries) or (q.end_time is not null and q.end_time < current_timestamp) + </querytext> +</fullquery> + + </queryset> Index: openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql,v diff -u -r1.12 -r1.13 --- openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql 15 May 2007 20:14:19 -0000 1.12 +++ openacs-4/packages/assessment-portlet/www/assessment-portlet-postgresql.xql 7 Oct 2007 22:36:55 -0000 1.13 @@ -51,4 +51,48 @@ </querytext> </fullquery> +<fullquery name="answered_assessments"> + <querytext> +select * from (select ass.*, sc.node_id as comm_node_id, sa.node_id as as_node_id, p.instance_name as community_name, +acs_permission__permission_p(ass.assessment_id,:user_id,'admin') as admin_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id and + cr1.item_id=ass.assessment_id + and s1.subject_id=:user_id + and completed_datetime is null) as in_progress_p, + (select count(*) from as_sessions s1, + cr_revisions cr1 where + s1.assessment_id=cr1.revision_id + and cr1.item_id=ass.assessment_id + and s1.subject_id=:user_id + and completed_datetime is not null) as completed_p + + + from + (select cr.item_id as assessment_id, cr.title, cr.description, cf.package_id, + a1.number_tries, a1.end_time + from as_assessments a, cr_revisions cr, cr_items ci, cr_folders cf, + as_assessments a1, + ( select distinct s.assessment_id + from as_sessions s + where s.subject_id = :user_id + and s.completed_datetime is not null) s + where a.assessment_id = cr.revision_id -- + and cf.package_id in ([join $list_of_package_ids ", "]) + and cr.item_id = ci.item_id + and ci.parent_id = cf.folder_id + and s.assessment_id = a.assessment_id + and a1.assessment_id = ci.latest_revision + ) ass, +site_nodes sa, site_nodes sc, apm_packages p +where sa.object_id = ass.package_id +and sc.node_id = sa.parent_id +and p.package_id = sc.object_id +order by lower(p.instance_name), lower(ass.title) +) q + where (q.number_tries is not null and q.number_tries >0 and q.completed_p >= q.number_tries) or (q.end_time is not null and q.end_time < current_timestamp) + </querytext> +</fullquery> + </queryset> Fisheye: Tag 1.9 refers to a dead (removed) revision in file `openacs-4/packages/assessment-portlet/www/assessment-portlet.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/bm-portlet/bm-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bm-portlet/bm-portlet.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/bm-portlet/bm-portlet.info 15 May 2007 20:14:19 -0000 1.14 +++ openacs-4/packages/bm-portlet/bm-portlet.info 7 Oct 2007 22:36:55 -0000 1.15 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/bm-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/bm-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="bm-portlet" version="2.3.0"/> + <provides url="bm-portlet" version="2.3.1"/> <requires url="bulk-mail" version="0.5.1d7"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <parameters> <parameter datatype="string" min_n_values="1" max_n_values="1" name="pretty_name" default="#bm-portlet.pretty_name#" description="Name of the bulk mail portlet to display everywhere"/> Index: openacs-4/packages/calendar/calendar.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/calendar.info,v diff -u -r1.35 -r1.36 --- openacs-4/packages/calendar/calendar.info 27 Jun 2007 22:50:08 -0000 1.35 +++ openacs-4/packages/calendar/calendar.info 7 Oct 2007 22:36:55 -0000 1.36 @@ -27,6 +27,7 @@ <callback type="after-install" proc="calendar::install::package_install"/> <callback type="before-uninstall" proc="calendar::install::package_uninstall"/> <callback type="before-upgrade" proc="calendar::install::package_upgrade"/> + <callback type="after-upgrade" proc="calendar::apm::package_after_upgrade"/> </callbacks> <parameters> <parameter datatype="number" min_n_values="1" max_n_values="1" name="Attachments" default="0" description="Allow Files to be Uploaded"/> Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/calendar/tcl/apm-callback-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/calendar/tcl/apm-callback-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/calendar/tcl/calendar-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/calendar-procs.tcl,v diff -u -r1.30 -r1.31 --- openacs-4/packages/calendar/tcl/calendar-procs.tcl 15 May 2007 20:14:21 -0000 1.30 +++ openacs-4/packages/calendar/tcl/calendar-procs.tcl 7 Oct 2007 22:36:55 -0000 1.31 @@ -106,6 +106,8 @@ end; } ] + #removing inherited permissions + permission::set_not_inherit -object_id $calendar_id return $calendar_id Index: openacs-4/packages/calendar/www/cal-item-delete-confirm.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-delete-confirm.adp,v diff -u -r1.12 -r1.13 --- openacs-4/packages/calendar/www/cal-item-delete-confirm.adp 15 May 2007 20:14:21 -0000 1.12 +++ openacs-4/packages/calendar/www/cal-item-delete-confirm.adp 7 Oct 2007 22:36:55 -0000 1.13 @@ -4,6 +4,7 @@ <property name="header_stuff"> <link href="/resources/calendar/calendar.css" rel="stylesheet" type="text/css"> </property> + <if @link:rowcount@ not nil><property name="&link">link</property></if> <table> Index: openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl 25 Feb 2004 13:07:08 -0000 1.8 +++ openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl 7 Oct 2007 22:36:55 -0000 1.9 @@ -21,4 +21,17 @@ set cal_item(no_time_p) [dt_no_time_p -start_time $cal_item(start_time) -end_time $cal_item(end_time)] set date $cal_item(start_date) + +# To be replaced by a call to template::head API +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} +template::multirow append link \ + stylesheet \ + "text/css" \ + "/resources/calendar/calendar.css" \ + "" \ + en \ + "all" + ad_return_template Index: openacs-4/packages/calendar/www/cal-item-new.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-new.adp,v diff -u -r1.18 -r1.19 --- openacs-4/packages/calendar/www/cal-item-new.adp 15 May 2007 20:14:21 -0000 1.18 +++ openacs-4/packages/calendar/www/cal-item-new.adp 7 Oct 2007 22:36:55 -0000 1.19 @@ -13,8 +13,8 @@ <property name="header_stuff"> <link href="/resources/calendar/calendar.css" rel="stylesheet" type="text/css"> </property> +<if @link:rowcount@ not nil><property name="&link">link</property></if> - <script type="text/javascript" language="JavaScript"> function disableTime(form_name) { <multiple name="time_format_elms"> @@ -52,7 +52,10 @@ <script type="text/javascript" language="JavaScript"> - // TimePChanged(); - @js;noquote@ + if (document.forms["cal_item"].time_p[0].checked == true ) { + // All day event + disableTime("cal_item"); + } else { + enableTime("cal_item"); + } </script> - Index: openacs-4/packages/calendar/www/cal-item-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-new.tcl,v diff -u -r1.33 -r1.34 --- openacs-4/packages/calendar/www/cal-item-new.tcl 13 Aug 2007 05:11:26 -0000 1.33 +++ openacs-4/packages/calendar/www/cal-item-new.tcl 7 Oct 2007 22:36:55 -0000 1.34 @@ -21,12 +21,7 @@ set package_id [ad_conn package_id] set user_id [ad_conn user_id] -set js "" -if { [ns_queryget time_p] != 1 && [ns_queryget start_time] == "" } { - set js "disableTime('cal_item');" -} - if {![info exists item_type_id]} { set item_type_id "" } @@ -36,6 +31,17 @@ set calendar_list [calendar::calendar_list] set calendar_options [calendar::calendar_list -privilege create] +# To be replaced by a call to template::head API +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} +template::multirow append link \ + stylesheet \ + "text/css" \ + "/resources/calendar/calendar.css" \ + "" \ + en \ + "all" # TODO: Move into ad_form if { ![ad_form_new_p -key cal_item_id] } { @@ -49,10 +55,10 @@ } # TODO: Move into ad_form if { [exists_and_not_null cal_item_id] } { - set page_title "One calendar item" + set page_title [_ calendar.Calendar_Edit_Item] set ad_form_mode display } else { - set page_title "Add a calendar item" + set page_title [_ calendar.Calendar_Add_Item] set ad_form_mode edit } Index: openacs-4/packages/calendar/www/cal-item-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-view.adp,v diff -u -r1.29 -r1.30 --- openacs-4/packages/calendar/www/cal-item-view.adp 15 May 2007 20:14:21 -0000 1.29 +++ openacs-4/packages/calendar/www/cal-item-view.adp 7 Oct 2007 22:36:55 -0000 1.30 @@ -4,6 +4,7 @@ <property name="header_stuff"> <link href="/resources/calendar/calendar.css" rel="stylesheet" type="text/css"> </property> +<if @link:rowcount@ not nil><property name="&link">link</property></if> <property name="displayed_object_id">@cal_item_id@</property> Index: openacs-4/packages/calendar/www/cal-item-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-view.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/calendar/www/cal-item-view.tcl 15 May 2007 20:14:21 -0000 1.19 +++ openacs-4/packages/calendar/www/cal-item-view.tcl 7 Oct 2007 22:36:55 -0000 1.20 @@ -18,10 +18,6 @@ set write_p [permission::write_permission_p -object_id $cal_item_id -creation_user $cal_item(creation_user)] -if {[exists_and_not_null return_url]} { - set return_url [ad_urlencode $return_url] -} - # Attachments? if {$cal_item(n_attachments) > 0} { set item_attachments [attachments::get_attachments -object_id $cal_item(cal_item_id) -return_url [ad_return_url]] @@ -48,5 +44,17 @@ set cal_item_new_url [export_vars -base "cal-item-new" {cal_item_id return_url}] set cal_item_delete_url [export_vars -base "cal-item-delete" {cal_item_id return_url}] +# To be replaced by a call to template::head API +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} +template::multirow append link \ + stylesheet \ + "text/css" \ + "/resources/calendar/calendar.css" \ + "" \ + en \ + "all" + ad_return_template Index: openacs-4/packages/calendar/www/view-month-display.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.adp,v diff -u -r1.18 -r1.19 --- openacs-4/packages/calendar/www/view-month-display.adp 13 Aug 2007 06:37:57 -0000 1.18 +++ openacs-4/packages/calendar/www/view-month-display.adp 7 Oct 2007 22:36:55 -0000 1.19 @@ -48,7 +48,8 @@ <a href="@items.event_url@" title="#calendar.goto_items_event_name#"> <if @items.time_p@ true>@items.start_time@</if> @items.event_name@ - <if @show_calendar_name_p@> + <if @items.num_attachments@ gt 0><img src="/resources/calendar/images/attach.png" alt=""/></if> + <if @show_calendar_name_p@> <span class="cal-text-grey-sml"> [@items.calendar_name@]</span> </if> </a> Index: openacs-4/packages/calendar/www/view-month-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.tcl,v diff -u -r1.21 -r1.22 --- openacs-4/packages/calendar/www/view-month-display.tcl 15 May 2007 20:14:21 -0000 1.21 +++ openacs-4/packages/calendar/www/view-month-display.tcl 7 Oct 2007 22:36:55 -0000 1.22 @@ -22,9 +22,13 @@ set portlet_mode_p 1 } +if {![info exists return_url]} { + set return_url [ad_urlencode "../"] +} + if {[info exists portlet_mode_p] && $portlet_mode_p} { set page_num_urlvar "&page_num=$page_num" - set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=[ad_urlencode "../"]&action=edit&cal_item_id=\$item_id" + set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=$return_url&action=edit&cal_item_id=\$item_id" set prev_month_template "?view=month&date=\[ad_urlencode \$prev_month\]&page_num=$page_num" set next_month_template "?view=month&date=\[ad_urlencode \$next_month\]&page_num=$page_num" set url_stub_callback "calendar_portlet_display::get_url_stub" @@ -117,7 +121,8 @@ time_p \ add_url \ day_url \ - style_class + style_class \ + num_attachments # Calculate number of greyed days and then add them to the calendar mulitrow set greyed_days_before_month [expr [expr [dt_first_day_of_month $this_year $this_month]] -1 ] @@ -151,7 +156,8 @@ "" \ "" \ "" \ - "" + "" \ + "" } } @@ -209,7 +215,8 @@ 0 \ "${base_url}cal-item-new?date=[dt_julian_to_ansi $current_day]&start_time=&end_time" \ "?view=day&date=[dt_julian_to_ansi $current_day]&$page_num_urlvar" \ - "calendar-${system_type}Item" + "calendar-${system_type}Item" \ + $num_attachments } } @@ -251,7 +258,8 @@ $time_p \ "${base_url}cal-item-new?date=[dt_julian_to_ansi $current_day]&start_time=&end_time" \ "?view=day&date=[dt_julian_to_ansi $current_day]&$page_num_urlvar" \ - "calendar-${system_type}Item" + "calendar-${system_type}Item" \ + $num_attachments } if { !$exporting_p } { @@ -285,7 +293,8 @@ 0 \ "${base_url}cal-item-new?date=[dt_julian_to_ansi $current_day]&start_time=&end_time" \ "?view=day&date=[dt_julian_to_ansi $current_day]&$page_num_urlvar" \ - "" + "" \ + "" } # Add cells for remaining days outside the month @@ -312,7 +321,8 @@ "" \ "" \ "" \ - "" + "" \ + "" } } } Index: openacs-4/packages/calendar/www/view-one-day-display.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-one-day-display.adp,v diff -u -r1.20 -r1.21 --- openacs-4/packages/calendar/www/view-one-day-display.adp 15 May 2007 20:14:21 -0000 1.20 +++ openacs-4/packages/calendar/www/view-one-day-display.adp 7 Oct 2007 22:36:55 -0000 1.21 @@ -12,7 +12,7 @@ <td style="vertical-align: top;" class="day-event-1" width="80%" valign="top"> <div id="day-entry-box"> <multiple name="items"> - <div id="day-entry-@items.rownum@" class="day-entry-item @items.style_class@" style="top: @items.top@@hour_height_units@; height: @items.height@@hour_height_units@; @items.style@" onmouseover="showCalItem(this,'@items.height@@hour_height_units@',20);" onmouseout="showCalItem(this,'@items.height@@hour_height_units@',10);"><p><a href="@items.event_url@" title="#calendar.goto_items_event_name#">@items.event_name@</a></p></div> + <div id="day-entry-@items.rownum@" class="day-entry-item @items.style_class@" style="top: @items.top@@hour_height_units@; height: @items.height@@hour_height_units@; @items.style@" onmouseover="showCalItem(this,'@items.height@@hour_height_units@',20);" onmouseout="showCalItem(this,'@items.height@@hour_height_units@',10);"><p><if @items.num_attachments@ gt 0><img src="/resources/calendar/images/attach.png" alt="" /></if><a href="@items.event_url@" title="#calendar.goto_items_event_name#">@items.event_name@</a></p></div> </multiple> </div><!-- day-entry-box --> </td> Index: openacs-4/packages/calendar/www/view-one-day-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-one-day-display.tcl,v diff -u -r1.35 -r1.36 --- openacs-4/packages/calendar/www/view-one-day-display.tcl 15 May 2007 20:14:21 -0000 1.35 +++ openacs-4/packages/calendar/www/view-one-day-display.tcl 7 Oct 2007 22:36:55 -0000 1.36 @@ -16,7 +16,7 @@ set hour_height_sep 3 set hour_height_units px set bump_right_base 0 -set bump_right_delta 35 +set bump_right_delta 155 set bump_right_units px if {[info exists url_stub_callback]} { @@ -83,7 +83,8 @@ end_time \ top \ height \ - style + style \ + num_attachments set previous_intervals [list] @@ -134,7 +135,8 @@ $pretty_end_time \ 0 \ 0 \ - "left: ${bump_right_base}${bump_right_units};" + "left: ${bump_right_base}${bump_right_units};" \ + $num_attachments incr bump_right_base $bump_right_delta } @@ -216,7 +218,8 @@ $pretty_end_time \ $top \ $height \ - "left: ${bump_right}${bump_right_units};" + "left: ${bump_right}${bump_right_units};" \ + $num_attachments lappend previous_intervals $start_seconds $end_seconds } Index: openacs-4/packages/calendar/www/view-week-display.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.adp,v diff -u -r1.15 -r1.16 --- openacs-4/packages/calendar/www/view-week-display.adp 13 Aug 2007 06:37:57 -0000 1.15 +++ openacs-4/packages/calendar/www/view-week-display.adp 7 Oct 2007 22:36:55 -0000 1.16 @@ -33,7 +33,7 @@ <div class="week-entry-box"> <multiple name="items"> <div class="week-entry-item @items.style_class@" style="position: absolute; top:@items.top@@hour_height_units@; left: @items.left@@width_units@; height:@items.height@@hour_height_units@;" onMouseOver="showCalItem(this,'@items.height@@hour_height_units@',20);" onMouseOut="showCalItem(this,'@items.height@@hour_height_units@',10);"> - <p><a href="@items.event_url@" title="#calendar.goto_items_event_name#">@items.event_name@</a></p> + <p><if @items.num_attachments@ gt 0><img src="/resources/calendar/images/attach.png" alt="" /></if><a href="@items.event_url@" title="#calendar.goto_items_event_name#">@items.event_name@</a></p> </div> </multiple> </div> Index: openacs-4/packages/calendar/www/view-week-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.tcl,v diff -u -r1.19 -r1.20 --- openacs-4/packages/calendar/www/view-week-display.tcl 15 May 2007 20:14:21 -0000 1.19 +++ openacs-4/packages/calendar/www/view-week-display.tcl 7 Oct 2007 22:36:55 -0000 1.20 @@ -101,7 +101,8 @@ style_class \ top \ height \ - left + left \ + num_attachments # Convert date from user timezone to system timezone set first_weekday_of_the_week_tz [lc_time_conn_to_system "$first_weekday_of_the_week 00:00:00"] @@ -263,7 +264,8 @@ "calendar-Item" \ $top \ $height \ - $left + $left \ + $num_attachments set current_weekday $day_of_week Index: openacs-4/packages/calendar/www/view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.adp,v diff -u -r1.30 -r1.31 --- openacs-4/packages/calendar/www/view.adp 15 May 2007 20:14:21 -0000 1.30 +++ openacs-4/packages/calendar/www/view.adp 7 Oct 2007 22:36:55 -0000 1.31 @@ -3,6 +3,7 @@ <property name="header_stuff"> <link href="/resources/calendar/calendar.css" rel="stylesheet" type="text/css"> </property> +<if @link:rowcount@ not nil><property name="&link">link</property></if> <include src="/packages/calendar/www/navbar" view="@view@" base_url="@ad_conn_url@" date="@date@"> @@ -18,7 +19,9 @@ </p> <p> - @notification_chunk;noquote@ + <if @calendar_personal_p@ false> + @notification_chunk;noquote@ + </if> </p> <p> <if @admin_p@ true> Index: openacs-4/packages/calendar/www/view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.tcl,v diff -u -r1.24 -r1.25 --- openacs-4/packages/calendar/www/view.tcl 15 May 2007 20:14:21 -0000 1.24 +++ openacs-4/packages/calendar/www/view.tcl 7 Oct 2007 22:36:55 -0000 1.25 @@ -53,6 +53,7 @@ set ansi_day [string trimleft [lindex $ansi_list 2] "0"] set end_date [dt_julian_to_ansi [expr [dt_ansi_to_julian $ansi_year $ansi_month $ansi_day ] + $period_days]] } +set calendar_personal_p [calendar::personal_p -calendar_id [lindex [lindex [calendar::calendar_list -package_id $package_id ] 0] 1] ] set notification_chunk [notification::display::request_widget \ -type calendar_notif \ @@ -61,5 +62,16 @@ -url [ad_conn url] \ ] +# To be replaced by a call to template::head API +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} +template::multirow append link \ + stylesheet \ + "text/css" \ + "/resources/calendar/calendar.css" \ + "" \ + en \ + "all" ad_return_template Index: openacs-4/packages/calendar/www/views-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/views-oracle.xql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/calendar/www/views-oracle.xql 15 May 2007 20:14:21 -0000 1.6 +++ openacs-4/packages/calendar/www/views-oracle.xql 7 Oct 2007 22:36:55 -0000 1.7 @@ -20,7 +20,8 @@ e.event_id as item_id, (select type from cal_item_types where item_type_id= ci.item_type_id) as item_type, cals.calendar_id, - cals.calendar_name + cals.calendar_name, + (select count(1) from attachments where object_id=e.event_id) as num_attachments $additional_select_clause from cal_items ci, acs_events e, @@ -55,7 +56,8 @@ e.event_id as item_id, (select type from cal_item_types where item_type_id= ci.item_type_id) as item_type, cals.calendar_id, - cals.calendar_name + cals.calendar_name, + (select count(1) from attachments where object_id=e.event_id) as num_attachments $additional_select_clause from cal_items ci, acs_events e, Index: openacs-4/packages/calendar/www/views-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/views-postgresql.xql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/calendar/www/views-postgresql.xql 15 May 2007 20:14:21 -0000 1.6 +++ openacs-4/packages/calendar/www/views-postgresql.xql 7 Oct 2007 22:36:55 -0000 1.7 @@ -19,7 +19,8 @@ e.event_id as item_id, cit.type as item_type, cals.calendar_id, - cals.calendar_name + cals.calendar_name, + (select count(1) from attachments where object_id=e.event_id) as num_attachments $additional_select_clause from acs_activities a, acs_events e, @@ -56,7 +57,8 @@ e.event_id as item_id, (select type from cal_item_types where item_type_id= ci.item_type_id) as item_type, cals.calendar_id, - cals.calendar_name + cals.calendar_name, + (select count(1) from attachments where object_id=e.event_id) as num_attachments $additional_select_clause from cal_items ci, acs_events e, Index: openacs-4/packages/calendar/www/resources/images/attach.png =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/resources/images/attach.png,v diff -u -r1.1 -r1.2 Binary files differ Index: openacs-4/packages/calendar-portlet/calendar-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar-portlet/calendar-portlet.info,v diff -u -r1.23 -r1.24 --- openacs-4/packages/calendar-portlet/calendar-portlet.info 15 May 2007 20:14:22 -0000 1.23 +++ openacs-4/packages/calendar-portlet/calendar-portlet.info 7 Oct 2007 22:36:56 -0000 1.24 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/calendar-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/calendar-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="calendar-portlet" version="2.3.0"/> + <provides url="calendar-portlet" version="2.3.1"/> <requires url="calendar" version="2.1.0b7"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> <callback type="after-upgrade" proc="calendar-portlet::after_upgrade"/> Index: openacs-4/packages/categories/tcl/categories-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/categories-procs.tcl,v diff -u -r1.23 -r1.24 --- openacs-4/packages/categories/tcl/categories-procs.tcl 6 Oct 2007 13:51:43 -0000 1.23 +++ openacs-4/packages/categories/tcl/categories-procs.tcl 7 Oct 2007 22:36:56 -0000 1.24 @@ -217,7 +217,22 @@ return $result } +ad_proc -public category::get_mapped_categories_multirow { + {-locale ""} + {-multirow mapped_categories} + object_id +} { + Returns multirow with: tree_id, tree_name, category_id, category_name + @param object_id object of which we want to know the mapped categories. + @return multirow with tree and category information + @author Peter Kreuzinger (peter.kreuzinger@wu-wien.ac.at) +} { + if { $locale == ""} {set locale [ad_conn locale]} + upvar $multirow mapped_categories + db_multirow mapped_categories select {} +} + ad_proc -public category::get_id { name {locale en_US} @@ -339,7 +354,46 @@ } return $result } +ad_proc -public category::get_children { + -category_id:required +} { + Returns the category ids of the direct children of the given category + @param category_id category_id + @return list of category ids of the children of the supplied category_id + @author Peter Kreuzinger (peter.kreuzinger@wu-wien.ac.at) +} { + set result [list] + set child_categories [db_list get_children_ids ""] + foreach category_id $child_categories { + lappend result $category_id + } + if {$result eq ""} {set result 0} + return $result +} + +ad_proc -public category::count_children { + {-category_id:required} +} { + counts all direct sub categories +} { + return [db_string select {}] +} + +ad_proc -public category::get_parent { + -category_id:required +} { + Returns the category id of the parent category + + @param category_id category_id + @return category id of the parent category + @author Peter Kreuzinger (peter.kreuzinger@wu-wien.ac.at) +} { + set result [db_list get_parent_id ""] + if {$result eq "{}"} {set result 0} + return $result +} + ad_proc -public category::get_tree { category_id } { @@ -376,6 +430,48 @@ return [list $category_id [category::get_name $category_id $locale] $tree_id [category_tree::get_name $tree_id $locale]] } +ad_proc -public category::get_objects { + -category_id + {-object_type ""} + {-content_type ""} + {-include_children:boolean} +} { + Returns a list of objects which are mapped to this category_id + + @param category_id CategoryID of the category we want to get the objects for + @param object_type Limit the search for objects of this object type + @param content_type Limit the search for objects of this content_type + @param include_children Include child categories' objects as well. Not yet implemented + + @author malte () + @creation-date Wed May 30 06:28:25 CEST 2007 +} { + set join_clause "" + set where_clause "" + if {$content_type ne ""} { + set join_clause ", cr_items i" + set where_clause "and i.item_id = com.object_id and i.content_type = :content_type" + } elseif {$object_type ne ""} { + set join_clause ", acs_objects o" + set where_clause "and o.object_id = com.object_id and o.object_type = :object_type" + } + return [db_list get_objects {}] +} + +ad_proc -public category::get_id_by_object_title { + title +} { + Gets the id of a category given an object title (object_type=category). + This is highly useful as the category object title will not change if you change the + name (label) of the category, so you can access the category even if the label has changed + + @param title object title of the category to retrieve + @return the category id or empty string it no category was found + @author Peter Kreuzinger (peter.kreuzinger@wu-wien.ac.at) +} { + return [db_string get_category_id {} -default ""] +} + ad_proc -public category::get_object_context { object_id } { Returns the object name and url to be used in a context bar. Index: openacs-4/packages/categories/tcl/categories-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/Attic/categories-procs.xql,v diff -u -r1.8 -r1.9 --- openacs-4/packages/categories/tcl/categories-procs.xql 23 Mar 2005 22:44:56 -0000 1.8 +++ openacs-4/packages/categories/tcl/categories-procs.xql 7 Oct 2007 22:36:56 -0000 1.9 @@ -1,6 +1,35 @@ <?xml version="1.0"?> <queryset> +<fullquery name="category::count_children.select"> + <querytext> + select count(*) + from categories + where parent_id=:category_id + </querytext> +</fullquery> + +<fullquery name="category::get_children.get_children_ids"> + <querytext> + + select category_id + from categories + where parent_id = :category_id + + </querytext> +</fullquery> + +<fullquery name="category::get_parent.get_parent_id"> + <querytext> + + select parent_id + from categories + where category_id = :category_id + limit 1 + + </querytext> +</fullquery> + <fullquery name="category::get_id.get_category_id"> <querytext> @@ -74,6 +103,22 @@ </querytext> </fullquery> +<fullquery name="category::get_mapped_categories_multirow.select"> + <querytext> + + select co.tree_id, aot.title, c.category_id, ao.title + from category_object_map_tree co, categories c, category_translations ct, acs_objects ao, acs_objects aot + where co.object_id = :object_id + and co.category_id = c.category_id + and c.category_id = ao.object_id + and c.category_id = ct.category_id + and aot.object_id = co.tree_id + and ct.locale = :locale + order by aot.title, ao.title + + </querytext> +</fullquery> + <fullquery name="category::get_mapped_categories.get_filtered"> <querytext> SELECT category_object_map.category_id @@ -84,6 +129,24 @@ </querytext> </fullquery> +<fullquery name="category::get_objects.get_objects"> + <querytext> + SELECT com.object_id + FROM category_object_map com $join_clause + WHERE com.category_id = :category_id $where_clause + </querytext> +</fullquery> + +<fullquery name="category::get_id_by_object_title.get_category_id"> + <querytext> + + select object_id + from acs_objects + where title = :title + and object_type = 'category' + + </querytext> +</fullquery> <fullquery name="category::reset_translation_cache.reset_translation_cache"> <querytext> Index: openacs-4/packages/categories/tcl/category-trees-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/category-trees-procs.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/categories/tcl/category-trees-procs.tcl 6 Oct 2007 13:51:43 -0000 1.22 +++ openacs-4/packages/categories/tcl/category-trees-procs.tcl 7 Oct 2007 22:36:56 -0000 1.23 @@ -26,6 +26,21 @@ return [array get tree] } + ad_proc -public get_categories { + {-tree_id:required} + } { + returns the main categories of a given tree + } { + set locale [ad_conn locale] + set result [list] + set categories [db_list get_categories ""] + foreach category_id $categories { + lappend result $category_id + } + return $result + + } + ad_proc -public map { -tree_id:required -object_id:required @@ -216,7 +231,38 @@ return $result } + ad_proc -public get_trees { object_id } { + Get the category trees mapped to an object. + @param object_id object to get the mapped category trees. + @return tcl list of tree_ids + @author Peter Kreuzinger (peter.kreuzinger@wu-wien.ac.at) + } { + set result [list] + + db_foreach get_trees "" { + lappend result $tree_id + } + + return $result + } + + ad_proc -public get_id_by_object_title { + {-title} + } { + Gets the id of a category_tree given an object title (object_type=category). + This is highly useful as the category_tree object title will not change if you change the + name (label) of the category_tree, so you can access the category_tree even if the label has changed. + Why would you want this? E.g. if you have the category widget and want to get only one specific tree + displayed and not all of them. + + @param title object title of the category to retrieve + @return the category_tree_id or empty string it no category was found + @author Malte Sussdorff (malte.sussdorff@cognovis.de) + } { + return [db_string get_tree_id {} -default ""] + } + ad_proc -public get_mapped_trees_from_object_list { object_id_list {locale ""}} { Get the category trees mapped to a list of objects. Index: openacs-4/packages/categories/tcl/category-trees-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/Attic/category-trees-procs.xql,v diff -u -r1.9 -r1.10 --- openacs-4/packages/categories/tcl/category-trees-procs.xql 28 Aug 2007 16:30:03 -0000 1.9 +++ openacs-4/packages/categories/tcl/category-trees-procs.xql 7 Oct 2007 22:36:56 -0000 1.10 @@ -11,7 +11,17 @@ </querytext> </fullquery> - +<fullquery name="category_tree::get_categories.get_categories"> + <querytext> + select c.category_id as category_id from categories c, category_translations ct + where parent_id is null + and tree_id = :tree_id + and c.category_id = ct.category_id + and locale = :locale + order by name + </querytext> +</fullquery> + <fullquery name="category_tree::edit_mapping.edit_mapping"> <querytext> @@ -36,6 +46,16 @@ </querytext> </fullquery> +<fullquery name="category_tree::get_id_by_object_title.get_tree_id"> + <querytext> + + select object_id + from acs_objects + where title = :title + and object_type = 'category_tree' + + </querytext> +</fullquery> <fullquery name="category_tree::update.check_tree_existence"> <querytext> @@ -59,8 +79,16 @@ </querytext> </fullquery> +<fullquery name="category_tree::get_trees.get_trees"> + <querytext> + + select distinct tree_id + from category_object_map_tree + where object_id = :object_id + + </querytext> +</fullquery> - <fullquery name="category_tree::get_mapped_trees_from_object_list.get_mapped_trees_from_object_list"> <querytext> Index: openacs-4/packages/categories/tcl/widget-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/widget-procs.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/categories/tcl/widget-procs.tcl 28 Aug 2007 16:30:03 -0000 1.20 +++ openacs-4/packages/categories/tcl/widget-procs.tcl 7 Oct 2007 22:36:56 -0000 1.21 @@ -14,9 +14,24 @@ namespace eval template::data::transform {} namespace eval template::data::validate {} -ad_proc -public template::widget::category { element_reference tag_attributes } { - # author: Timo Hentschel (timo@timohentschel.de) - +ad_proc -public template::widget::category { + element_reference + tag_attributes +} { + Display the category widget. This has a multitude of options: + <ul> + <li>value: Values should be a list of two items: the object_id being viewed and the object_id which the trees are mapped to. + This will get the mapped trees (if no value provided defaults to package_id) and the mapped categories for the object_id. If you + do not provide a value, the following options are used: + <li>category_application_id></li> + <li>category_object_id</li> + <li>category_tree_id</li> + <li>category_subtree_id</li> + <li>category_assign_single_p</li> + <li>category_require_category_p</li> + </ul> + @author: Timo Hentschel (timo@timohentschel.de) +} { upvar $element_reference element if { [info exists element(html)] } { Index: openacs-4/packages/dotlrn/dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/dotlrn.info,v diff -u -r1.126 -r1.127 --- openacs-4/packages/dotlrn/dotlrn.info 15 May 2007 20:14:24 -0000 1.126 +++ openacs-4/packages/dotlrn/dotlrn.info 7 Oct 2007 22:36:56 -0000 1.127 @@ -7,19 +7,19 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-2.3.1d1.apm"> <owner url="http://openacs.org">OpenACS</owner> <summary>A Course Management System</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> <description format="text/html">Course Management</description> - <provides url="dotlrn" version="2.3.0"/> + <provides url="dotlrn" version="2.3.1d1"/> <requires url="acs-kernel" version="5.3.1a1"/> <requires url="acs-lang" version="5.3.1a1"/> <requires url="attachments" version="0.10"/> - <requires url="new-portal" version="2.3.0"/> - <requires url="user-profile" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> + <requires url="user-profile" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn::apm::after_install"/> @@ -31,6 +31,7 @@ <parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultSiteTemplate" default="#new-portal.sloan_theme_name#" description="The name of the default site template"/> <parameter datatype="number" min_n_values="1" max_n_values="1" name="AdminChangeSiteTemplate_p" default="1" description="desc" section_name=".LRN Portal Types"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="admin_page_name" default="#dotlrn.admin_page_name#" description="The name of the admin page"/> + <parameter datatype="string" min_n_values="1" max_n_values="1" name="admin_layout_name" default="#new-portal.simple_2column_layout_name#" description="The layout of the admin page"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="AutoAddAuthorities" default="*" description="A comma-separated list of short-names of authorities for which users should be automatically added to .LRN, or '*' for all. In order for users to be auto-added, AutoAddUsersP needs to be set to 1, and this needs to be set to * or include the relevant authority short_names. Example: 'local,ldap'." section_name="Auto-Adding Users to .LRN"/> <parameter datatype="number" min_n_values="1" max_n_values="1" name="AutoAddUsersP" default="0" description="Automatically add OpenACS users to .LRN. 1 = yes, 0 = no. In order for users to be auto-added, this needs to be set to 1, and AutoAddAuthorities needs to be set to * or include the relevant authority short_names." section_name="Auto-Adding Users to .LRN"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="auto_dotlrn_user_email_patterns" description="Automatic dotLRN user email patterns"/> @@ -71,6 +72,7 @@ <parameter datatype="string" min_n_values="1" max_n_values="1" name="group_type_key" default="dotlrn_community" description="Class Group Type"/> <parameter datatype="number" min_n_values="1" max_n_values="1" name="hide_personal_portal_p" default="0" description="Some systems may wish to keep the personal portal hidden. Setting this value to 1 will cause dotlrn to exclude navigation to the personal portal from community portals, and disable the entire navbar on non-community portal pages."/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="non_member_page_name" default="#dotlrn.non_member_page_name#" description="The name of the not a member page"/> + <parameter datatype="string" min_n_values="1" max_n_values="1" name="non_member_layout_name" default="#new-portal.simple_2column_layout_name#" description="The name of the not a member page"/> <parameter datatype="number" min_n_values="1" max_n_values="1" name="show_portrait_p" default="1" description="Should we show and solicit user portraits? 1=Yes, 0=No"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="subcomm_pages_csv" default="#dotlrn.subcomm_page_home_title#,#new-portal.simple_2column_layout_name#,#dotlrn.subcomm_page_home_accesskey#;#dotlrn.subcomm_page_info_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_info_accesskey#;#dotlrn.subcomm_page_calendar_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_calendar_accesskey#;#dotlrn.subcomm_page_file_storage_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_file_storage_accesskey#" description="default page names and layouts for subcomms"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="subcommunities_pretty_name" default="#dotlrn.subcommunities_pretty_name#" description="what subcomms are called"/> Index: openacs-4/packages/dotlrn/install.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/install.xml,v diff -u -r1.15 -r1.16 --- openacs-4/packages/dotlrn/install.xml 15 May 2007 20:14:24 -0000 1.15 +++ openacs-4/packages/dotlrn/install.xml 7 Oct 2007 22:36:56 -0000 1.16 @@ -25,9 +25,17 @@ <set-parameter package-key="acs-subsite" name="DefaultMaster" value="/packages/theme-zen/lib/lrn-master"/> <set-parameter-default package-key="dotlrn" name="class_instance_pages_csv" value="#dotlrn.class_page_home_title#,#theme-zen.Zen_2_column#,#dotlrn.class_page_home_accesskey#;#dotlrn.class_page_calendar_title#,#theme-zen.Zen_1_column#,#dotlrn.class_page_calendar_accesskey#;#dotlrn.class_page_file_storage_title#,#theme-zen.Zen_1_column#,#dotlrn.class_page_file_storage_accesskey#"/> + <set-parameter-default package-key="dotlrn" name="club_pages_csv" value="#dotlrn.club_page_home_title#,#theme-zen.Zen_2_column#,#dotlrn.club_page_home_accesskey#;#dotlrn.club_page_calendar_title#,#theme-zen.Zen_1_column#,#dotlrn.club_page_calendar_accesskey#;#dotlrn.club_page_file_storage_title#,#theme-zen.Zen_1_column#,#dotlrn.club_page_file_storage_accesskey#;#dotlrn.club_page_people_title#,#theme-zen.Zen_1_column#,#dotlrn.club_page_people_accesskey#"/> + <set-parameter-default package-key="dotlrn" name="subcomm_pages_csv" value="#dotlrn.subcomm_page_home_title,#theme-zen.Zen_2_column#,#dotlrn.subcomm_page_home_accesskey#;#dotlrn.subcomm_page_info_title#,#theme-zen.Zen_1_column#,#dotlrn.subcomm_page_info_accesskey#;#dotlrn.subcomm_page_calendar_title#,#theme-zen.Zen_1_column#,#dotlrn.subcomm_page_calendar_accesskey#;#dotlrn.subcomm_page_file_storage_title#,#theme-zen.Zen_1_column#,#dotlrn.subcomm_page_file_storage_accesskey#"/> + <set-parameter-default package-key="dotlrn" name="user_portal_pages_csv" value="#dotlrn.user_portal_page_home_title#,#theme-zen.Zen_2_column#,#dotlrn.user_portal_page_home_accesskey#;#dotlrn.user_portal_page_calendar_title#,#theme-zen.Zen_1_column#,#dotlrn.user_portal_page_calendar_accesskey#;#dotlrn.user_portal_page_file_storage_title#,#theme-zen.Zen_1_column#,#dotlrn.user_portal_page_file_storage_accesskey#"/> + + <set-parameter-default package-key="dotlrn" name="admin_layout_name" value="#theme-zen.Zen_2_column#"/> + + <set-parameter-default package-key="dotlrn" name="non_member_layout_name" value="#theme-zen.Zen_2_column#"/> + <set-parameter-default package-key="dotlrn" name="DefaultSiteTemplate" value="#theme-zen.Zen_Theme#"/> <mount package="dotlrn" mount-point="/dotlrn" instance-name="dotLRN"/> Index: openacs-4/packages/dotlrn/lib/member-email-confirm.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/lib/member-email-confirm.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/dotlrn/lib/member-email-confirm.tcl 15 May 2007 20:14:25 -0000 1.2 +++ openacs-4/packages/dotlrn/lib/member-email-confirm.tcl 7 Oct 2007 22:36:56 -0000 1.3 @@ -21,7 +21,7 @@ -form { {from_addr:text {label "\#dotlrn.From\#"}} {subject:text {label "\#dotlrn.Subject\#"}} - {email:richtext {label "\#dotlrn.Email_1\#"}} + {email:richtext {label "\#dotlrn.Email_1\#"} {html {rows 20 cols 80 style width:100%}}} {btn_ok:text(submit) {label "[_ dotlrn.OK_Send_Email]"}} {btn_cancel:text(submit) {label "[_ dotlrn.Cancel_Dont_Send_email]"}} } -on_request { Index: openacs-4/packages/dotlrn/lib/member-email.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/lib/member-email.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/dotlrn/lib/member-email.tcl 15 Dec 2006 22:45:22 -0000 1.3 +++ openacs-4/packages/dotlrn/lib/member-email.tcl 7 Oct 2007 22:36:56 -0000 1.4 @@ -70,7 +70,7 @@ ad_form -extend -name "member_email" -form { {from_addr:text {label "From Address"} {html {size 40}}} {subject:text {label "Subject"} {html {size 40}}} - {email:richtext,optional {label "Message"} {html {rows 30 cols 80 wrap soft}} {htmlarea_p 0}} + {email:richtext,optional {label "Message"} {html {rows 30 cols 80}} {htmlarea_p 0}} {community_id:text(hidden) {value $community_id}} {type:text(hidden) {value $type}} {enabled_p:text(hidden) {value $type}} Index: openacs-4/packages/dotlrn/tcl/community-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/community-procs.tcl,v diff -u -r1.199 -r1.200 --- openacs-4/packages/dotlrn/tcl/community-procs.tcl 21 Jun 2007 19:04:56 -0000 1.199 +++ openacs-4/packages/dotlrn/tcl/community-procs.tcl 7 Oct 2007 22:36:56 -0000 1.200 @@ -231,6 +231,7 @@ set non_member_portal_id [portal::create \ -name "$pretty_name Non-Member Portal" \ -default_page_name [dotlrn::parameter -name non_member_page_name] \ + -layout_name [dotlrn::parameter -name non_member_layout_name] \ -context_id $community_id \ $user_id \ ] @@ -239,6 +240,7 @@ set admin_portal_id [portal::create \ -name "$pretty_name Administration Portal" \ -default_page_name [dotlrn::parameter -name admin_page_name] \ + -layout_name [dotlrn::parameter -name admin_layout_name] \ -context_id $community_id \ $user_id \ ] @@ -1035,13 +1037,22 @@ {-package_id ""} } { Returns the community id depending on the package_id - we're at, or the package_id passed in + we're at, or the package_id passed in. + + If no community_id found, return empty_string + + @param package_id PackageID for which to search the community_id for + @return community_id of the community where the package is mounted, empty string if not found } { if {[empty_string_p $package_id]} { set package_id [site_node_closest_ancestor_package -default [ad_conn package_id] dotlrn] } - return [util_memoize "dotlrn_community::get_community_id_not_cached -package_id $package_id"] + if {$package_id ne ""} { + return [util_memoize "dotlrn_community::get_community_id_not_cached -package_id $package_id"] + } else { + return "" + } } ad_proc -private get_community_id_not_cached { Index: openacs-4/packages/dotlrn/www/clone.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/clone.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/dotlrn/www/clone.tcl 8 Aug 2006 21:26:23 -0000 1.8 +++ openacs-4/packages/dotlrn/www/clone.tcl 7 Oct 2007 22:36:56 -0000 1.9 @@ -75,7 +75,7 @@ -label [_ dotlrn.Description] \ -datatype text \ -widget textarea \ - -html {rows 5 cols 60 wrap soft} \ + -html {rows 5 cols 60} \ -optional \ -value "[_ dotlrn.A_copy_of] $community_name" Index: openacs-4/packages/dotlrn/www/community-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/community-edit.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn/www/community-edit.tcl 15 Dec 2006 22:45:22 -0000 1.14 +++ openacs-4/packages/dotlrn/www/community-edit.tcl 7 Oct 2007 22:36:56 -0000 1.15 @@ -39,7 +39,7 @@ {description:text(textarea),optional {label "#dotlrn.Description#"} - {html {rows 5 cols 60 wrap soft}} + {html {rows 5 cols 60}} {help_text "[_ dotlrn.lt_do_not_use_p_tags]"} } Index: openacs-4/packages/dotlrn/www/member-email.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/member-email.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/dotlrn/www/member-email.tcl 8 Aug 2006 21:26:24 -0000 1.2 +++ openacs-4/packages/dotlrn/www/member-email.tcl 7 Oct 2007 22:36:56 -0000 1.3 @@ -24,7 +24,7 @@ {email_id:key} {from_addr:text {label "From Address"} {html {size 40}}} {subject:text {label "Subject"} {html {size 40}}} - {email:richtext,optional {label "Message"} {html {rows 30 cols 80 wrap soft}} {htmlarea_p 1}} + {email:richtext,optional {label "Message"} {html {rows 30 cols 80}}} } -on_request { set from_addr [cc_email_from_party [ad_conn user_id]] @@ -53,4 +53,4 @@ ad_returnredirect "one-community-admin" ad_script_abort -} \ No newline at end of file +} Index: openacs-4/packages/dotlrn/www/members.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/members.adp,v diff -u -r1.24 -r1.25 --- openacs-4/packages/dotlrn/www/members.adp 8 Aug 2006 21:26:24 -0000 1.24 +++ openacs-4/packages/dotlrn/www/members.adp 7 Oct 2007 22:36:56 -0000 1.25 @@ -42,10 +42,13 @@ <listtemplate name="members"></listtemplate> -<h1>#dotlrn.Membership_Requests#</h1> +<if @admin_p@ eq 1> + <if @pending_users:rowcount@ gt 0 or @approval_policy_p@ eq 1> + <h1>#dotlrn.Membership_Requests#</h1> + <listtemplate name="pending_users"></listtemplate> + </if> +</if> -<listtemplate name="pending_users"></listtemplate> - <if @admin_p@ eq 1 and @subcomm_p@ eq 1 and @n_parent_users@ gt 0> <hr> Index: openacs-4/packages/dotlrn/www/members.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/members.tcl,v diff -u -r1.26 -r1.27 --- openacs-4/packages/dotlrn/www/members.tcl 4 Oct 2007 16:07:05 -0000 1.26 +++ openacs-4/packages/dotlrn/www/members.tcl 7 Oct 2007 22:36:56 -0000 1.27 @@ -31,6 +31,8 @@ set context [list [list "one-community-admin" [_ dotlrn.Admin]] [_ dotlrn.Manage_Members]] set community_id [dotlrn_community::get_community_id] set spam_p [dotlrn::user_can_spam_community_p -user_id [ad_get_user_id] -community_id $community_id] +set approval_policy_p [string eq [group::join_policy -group_id $community_id] "needs approval"] + set referer [ns_conn url] set return_url "[ns_conn url]?[ns_conn query]" @@ -73,23 +75,22 @@ # Actions for Removing Members according to their role set rel_types [dotlrn_community::get_roles -community_id $community_id] +set bulk_actions "" +set bulk_actions_export_vars "" +set actions "" + if {$admin_p} { - set bulk_actions [list "[_ dotlrn.User_Admin_Page]" "member-add-3" "[_ dotlrn.User_Admin_Page]" "[_ dotlrn.Drop_Membership]" "deregister" "[_ dotlrn.Drop_Membership]"] - set bulk_actions_export_vars [list "user_id" "rel_type" "referer" "reset"] + set bulk_actions [list "[_ dotlrn.Drop_Membership]" "deregister" "[_ dotlrn.Drop_Membership]"] + set bulk_actions_export_vars [list "user_id" "referer" "reset"] set actions [list "CSV" "members?csv=yes" "[_ dotlrn.Comma_Separated_Values]"] foreach role $rel_types { # lappend actions "[_ dotlrn.Remove_all] [lang::util::localize [lindex $role 3]]" "members?reset=1&reltype=[lindex $role 0]" "[lang::util::localize [lindex $role 2]]" lappend actions "[_ dotlrn.Remove_all] [lang::util::localize [lindex $role 3]]" "member-confirm?reset=1&reltype=[lindex $role 0]" "[lang::util::localize [lindex $role 2]]" } - -} else { - set bulk_actions "" - set actions "" - set bulk_actions_export_vars "" } -# Build the list-builder list -template::list::create -name members -multirow members -key user_id -actions $actions -bulk_actions $bulk_actions -bulk_action_export_vars $bulk_actions_export_vars -elements { +# Set the elements list +set elm_list { portrait { label "" html "align right" @@ -125,24 +126,31 @@ } role { label "[_ dotlrn.Role]" html "align left" - } action { + } +} + +if {$admin_p} { + lappend elm_list {action} { label "[_ dotlrn.Actions]" html "align left" display_template { - <if @members.user_id@ ne ""> + <if @members.user_id@ ne \"\"> <a href="member-confirm?user_id=@members.user_id@&referer=@members.member_referer@">#dotlrn.Drop_Membership#</a> | <a href="member-add-2?user_id=@members.user_id@&referer=@members.member_referer@">#dotlrn.User_Admin_Page#</a> </if> } } - } -orderby { +} + +# Build the list-builder list +template::list::create -name members -multirow members -key user_id -actions $actions -bulk_actions $bulk_actions -bulk_action_export_vars $bulk_actions_export_vars -elements $elm_list -orderby { last_name {orderby last_name} first_names {orderby first_names} email {orderby email} role {orderby role} - } -selected_format csv -formats { +} -selected_format csv -formats { csv { output csv } - } +} set orderby [template::list::orderby_clause -name "members" -orderby] @@ -160,18 +168,18 @@ template::list::write_output -name members } -# Bulk action User Admin Page -# Depending on the community_type, we have allowable rel_types -set rel_types [dotlrn_community::get_roles -community_id $community_id] -set selection "<select name=\"rel_type\">" -foreach role $rel_types { - append selection "<option value=\"[lindex $role 0]\">[lang::util::localize [lindex $role 2]]</option>" -} -append selection "</select>" -set size [multirow size members] -if { $size > 0 } { - multirow append members "" "" "" "" "" $selection -} +# # Bulk action User Admin Page +# # Depending on the community_type, we have allowable rel_types +# set rel_types [dotlrn_community::get_roles -community_id $community_id] +# set selection "<select name=\"rel_type\">" +# foreach role $rel_types { +# append selection "<option value=\"[lindex $role 0]\">[lang::util::localize [lindex $role 2]]</option>" +# } +# append selection "</select>" +# set size [multirow size members] +# if { $size > 0 } { +# multirow append members "" "" "" "" "" $selection +# } set user_ids "" db_multirow -extend { member_url pending_user_referer } pending_users select_pending_users {} { Index: openacs-4/packages/dotlrn/www/spam.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/spam.tcl,v diff -u -r1.26 -r1.27 --- openacs-4/packages/dotlrn/www/spam.tcl 15 May 2007 20:14:25 -0000 1.26 +++ openacs-4/packages/dotlrn/www/spam.tcl 7 Oct 2007 22:36:56 -0000 1.27 @@ -123,7 +123,7 @@ -label [_ dotlrn.Message] \ -datatype text \ -widget textarea \ - -html {rows 10 cols 80 wrap soft} + -html {rows 10 cols 80} element create spam_message format \ Index: openacs-4/packages/dotlrn/www/admin/class-instance-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/class-instance-new.tcl,v diff -u -r1.30 -r1.31 --- openacs-4/packages/dotlrn/www/admin/class-instance-new.tcl 28 Sep 2007 13:07:32 -0000 1.30 +++ openacs-4/packages/dotlrn/www/admin/class-instance-new.tcl 7 Oct 2007 22:36:56 -0000 1.31 @@ -118,7 +118,7 @@ } if {${add_instructor}} { - set community_id $class_instance_id + set community_id $class_instance_id ad_returnredirect "add-instructor?[export_url_vars community_id referer]" ad_script_abort } Index: openacs-4/packages/dotlrn/www/admin/class-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/class-new.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/dotlrn/www/admin/class-new.tcl 8 Aug 2006 21:26:28 -0000 1.18 +++ openacs-4/packages/dotlrn/www/admin/class-new.tcl 7 Oct 2007 22:36:56 -0000 1.19 @@ -56,7 +56,7 @@ -label [_ dotlrn.Description] \ -datatype text \ -widget textarea \ - -html {rows 5 cols 60 wrap soft} \ + -html {rows 5 cols 60} \ -optional element create add_class subject_key \ Index: openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl 8 Aug 2006 21:26:28 -0000 1.11 +++ openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl 7 Oct 2007 22:36:56 -0000 1.12 @@ -55,7 +55,7 @@ } if {![exists_and_not_null referer]} { - set referer "classes?[export_vars department_key]" + set referer "classes" } set query select_classes @@ -82,7 +82,7 @@ set actions "" if { $can_create } { - set actions [list "[_ dotlrn.new_class_1]" "[export_vars -base "class-new" -url { department_key referer }]"] + set actions [list "[_ dotlrn.new_class_1]" "[export_vars -base "class-new" -url { department_key referer }]" "[_ dotlrn.new_class_1]"] } template::list::create \ @@ -117,18 +117,14 @@ label "[_ dotlrn.Actions]" display_template { <if @can_instantiate@> - <nobr> <small>\[ - <a href="class-instance-new?class_key=@classes.class_key@">[_ dotlrn.new_class_instance]</a> + <a href="class-instance-new?class_key=@classes.class_key@&referer=$referer" title="[_ dotlrn.new_class_instance]">[_ dotlrn.new_class_instance]</a> \]</small> - </nobr> </if> <if @classes.n_instances@ eq 0> - <nobr> <small>\[ - <a href="class-delete?class_key=@classes.class_key@">[_ dotlrn.lt_Delete_class]</a> + <a href="class-delete?class_key=@classes.class_key@" title="[_ dotlrn.lt_Delete_class]">[_ dotlrn.lt_Delete_class]</a> \]</small> - </nobr> </if> } } Index: openacs-4/packages/dotlrn/www/admin/club-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/club-new.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/dotlrn/www/admin/club-new.tcl 8 Aug 2006 21:26:28 -0000 1.20 +++ openacs-4/packages/dotlrn/www/admin/club-new.tcl 7 Oct 2007 22:36:56 -0000 1.21 @@ -42,7 +42,7 @@ {description:text(textarea),optional {label "#dotlrn.Description#"} - {html {rows 5 cols 60 wrap soft}} + {html {rows 5 cols 60}} {help_text "[_ dotlrn.lt_do_not_use_p_tags]"} } Index: openacs-4/packages/dotlrn/www/admin/community-type.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/community-type.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn/www/admin/community-type.tcl 28 Jul 2004 07:24:12 -0000 1.1 +++ openacs-4/packages/dotlrn/www/admin/community-type.tcl 7 Oct 2007 22:36:56 -0000 1.2 @@ -42,7 +42,7 @@ ad_form -extend -name "new_community_type" -form { {pretty_name:text {label "[_ dotlrn.Pretty_Name]"} {html {size 60 maxlength 100}}} - {description:text(textarea),optional {label "[_ dotlrn.Description]"} {html {rows 5 cols 60 wrap soft}}} + {description:text(textarea),optional {label "[_ dotlrn.Description]"} {html {rows 5 cols 60}}} } -validate { {community_type { ![dotlrn_community::type_exists $community_type] || Index: openacs-4/packages/dotlrn/www/admin/department-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/department-edit.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/dotlrn/www/admin/department-edit.tcl 8 Aug 2006 21:26:28 -0000 1.9 +++ openacs-4/packages/dotlrn/www/admin/department-edit.tcl 7 Oct 2007 22:36:56 -0000 1.10 @@ -57,7 +57,7 @@ -label "[_ dotlrn.Description]" \ -datatype text \ -widget textarea \ - -html {rows 5 cols 60 wrap soft} \ + -html {rows 5 cols 60} \ -optional element create edit_department external_url \ Index: openacs-4/packages/dotlrn/www/admin/department-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/department-new.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/dotlrn/www/admin/department-new.tcl 8 Aug 2006 21:26:28 -0000 1.11 +++ openacs-4/packages/dotlrn/www/admin/department-new.tcl 7 Oct 2007 22:36:56 -0000 1.12 @@ -45,7 +45,7 @@ -label "[_ dotlrn.Description]" \ -datatype text \ -widget textarea \ - -html {rows 5 cols 60 wrap soft} \ + -html {rows 5 cols 60} \ -optional element create add_department external_url \ Index: openacs-4/packages/dotlrn/www/admin/users-spam.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-spam.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn/www/admin/users-spam.tcl 8 Aug 2006 21:26:28 -0000 1.6 +++ openacs-4/packages/dotlrn/www/admin/users-spam.tcl 7 Oct 2007 22:36:56 -0000 1.7 @@ -71,7 +71,7 @@ -label [_ dotlrn.Message] \ -datatype text \ -widget textarea \ - -html {rows 10 cols 80 wrap soft} + -html {rows 10 cols 80} element create spam_message referer \ -label [_ dotlrn.Referer] \ Index: openacs-4/packages/dotlrn-assessment/dotlrn-assessment.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-assessment/dotlrn-assessment.info,v diff -u -r1.3 -r1.4 --- openacs-4/packages/dotlrn-assessment/dotlrn-assessment.info 15 May 2007 20:14:26 -0000 1.3 +++ openacs-4/packages/dotlrn-assessment/dotlrn-assessment.info 7 Oct 2007 22:36:57 -0000 1.4 @@ -7,13 +7,13 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-assessment-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-assessment-2.3.1.apm"> <owner url="mailto:jopez@galileo.edu">Jose Pablo Escobedo Del Cid</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="dotlrn-assessment" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="assessment-portlet" version="2.3.0"/> + <provides url="dotlrn-assessment" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="assessment-portlet" version="2.3.1"/> <callbacks> <callback type="before-uninstall" proc="dotlrn_assessment::uninstall"/> Index: openacs-4/packages/dotlrn-bm/dotlrn-bm.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-bm/dotlrn-bm.info,v diff -u -r1.11 -r1.12 --- openacs-4/packages/dotlrn-bm/dotlrn-bm.info 15 May 2007 20:14:26 -0000 1.11 +++ openacs-4/packages/dotlrn-bm/dotlrn-bm.info 7 Oct 2007 22:36:57 -0000 1.12 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-bm-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-bm-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-bm" version="2.3.0"/> - <requires url="bm-portlet" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="dotlrn-bm" version="2.3.1"/> + <requires url="bm-portlet" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info,v diff -u -r1.17 -r1.18 --- openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info 15 May 2007 20:14:26 -0000 1.17 +++ openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info 7 Oct 2007 22:36:57 -0000 1.18 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-calendar-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-calendar-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-calendar" version="2.3.0"/> - <requires url="calendar-portlet" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="dotlrn-fs" version="2.3.0"/> + <provides url="dotlrn-calendar" version="2.3.1"/> + <requires url="calendar-portlet" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="dotlrn-fs" version="2.3.1"/> <parameters> <parameter datatype="string" min_n_values="1" max_n_values="1" name="main_calendar_package_id" description="The package_id of calendar mounted right under dotLRN"/> Index: openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info,v diff -u -r1.18 -r1.19 --- openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 15 May 2007 20:14:27 -0000 1.18 +++ openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 7 Oct 2007 22:36:57 -0000 1.19 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-dotlrn-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-dotlrn-2.3.1.apm"> <owner url="http://openasc.org">OpenACS</owner> <summary>Helper routines for dotLRN applets</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-dotlrn" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="dotlrn-portlet" version="2.3.0"/> + <provides url="dotlrn-dotlrn" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="dotlrn-portlet" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn_dotlrn::apm::after_install"/> Index: openacs-4/packages/dotlrn-evaluation/dotlrn-evaluation.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-evaluation/dotlrn-evaluation.info,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn-evaluation/dotlrn-evaluation.info 15 May 2007 20:14:27 -0000 1.6 +++ openacs-4/packages/dotlrn-evaluation/dotlrn-evaluation.info 7 Oct 2007 22:36:57 -0000 1.7 @@ -7,13 +7,13 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-evaluation-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-evaluation-2.3.1.apm"> <owner url="mailto:jopez@galileo.edu">Jose Pablo Escobedo Del Cid</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="dotlrn-evaluation" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="evaluation-portlet" version="2.3.0"/> + <provides url="dotlrn-evaluation" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="evaluation-portlet" version="2.3.1"/> <callbacks> <callback type="before-uninstall" proc="dotlrn_evaluation::uninstall"/> Index: openacs-4/packages/dotlrn-faq/dotlrn-faq.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-faq/dotlrn-faq.info,v diff -u -r1.17 -r1.18 --- openacs-4/packages/dotlrn-faq/dotlrn-faq.info 15 May 2007 20:14:28 -0000 1.17 +++ openacs-4/packages/dotlrn-faq/dotlrn-faq.info 7 Oct 2007 22:36:57 -0000 1.18 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-faq-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-faq-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-faq" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="faq-portlet" version="2.3.0"/> + <provides url="dotlrn-faq" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="faq-portlet" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/dotlrn-forums/dotlrn-forums.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-forums/dotlrn-forums.info,v diff -u -r1.15 -r1.16 --- openacs-4/packages/dotlrn-forums/dotlrn-forums.info 15 May 2007 20:14:28 -0000 1.15 +++ openacs-4/packages/dotlrn-forums/dotlrn-forums.info 7 Oct 2007 22:36:57 -0000 1.16 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-forums-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-forums-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> <maturity>0</maturity> - <provides url="dotlrn-forums" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="forums-portlet" version="2.3.0"/> + <provides url="dotlrn-forums" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="forums-portlet" version="2.3.1"/> <callbacks> </callbacks> Index: openacs-4/packages/dotlrn-fs/dotlrn-fs.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-fs/dotlrn-fs.info,v diff -u -r1.29 -r1.30 --- openacs-4/packages/dotlrn-fs/dotlrn-fs.info 15 May 2007 20:14:29 -0000 1.29 +++ openacs-4/packages/dotlrn-fs/dotlrn-fs.info 7 Oct 2007 22:36:58 -0000 1.30 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-fs-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-fs-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-fs" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="dotlrn-fs" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <requires url="file-storage" version="5.3.0d1"/> - <requires url="fs-portlet" version="2.3.0"/> + <requires url="fs-portlet" version="2.3.1"/> <callbacks> <callback type="after-upgrade" proc="dotlrn_fs::install::upgrade"/> Index: openacs-4/packages/dotlrn-homework/dotlrn-homework.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/dotlrn-homework.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/dotlrn-homework/dotlrn-homework.info 15 May 2007 20:14:30 -0000 1.10 +++ openacs-4/packages/dotlrn-homework/dotlrn-homework.info 7 Oct 2007 22:36:58 -0000 1.11 @@ -7,16 +7,16 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-homework-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-homework-2.3.1.apm"> <owner url="mailto:dhogaza@pacifier.com">Don Baccus</owner> <summary>Provides a homework assignment dropboxes for dotLRN classes.</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.furfly.net">furfly.net, LLC</vendor> - <provides url="dotlrn-homework" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="dotlrn-fs" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="dotlrn-homework" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="dotlrn-fs" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn_homework::apm_callbacks::package_install"/> Index: openacs-4/packages/dotlrn-homework/www/file-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/file-add.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/dotlrn-homework/www/file-add.tcl 8 Aug 2006 21:26:36 -0000 1.4 +++ openacs-4/packages/dotlrn-homework/www/file-add.tcl 7 Oct 2007 22:36:58 -0000 1.5 @@ -52,7 +52,7 @@ ad_form -extend -name homework_form -form { {description:text(textarea),optional {label "[_ dotlrn-homework.Description]"} - {html {rows 5 cols 50 wrap physical}}} + {html {rows 5 cols 50}}} } -validate { {upload_file { [file size [template::util::file::get_property tmp_filename $upload_file]] <= [ad_parameter "MaximumFileSize"] } Index: openacs-4/packages/dotlrn-homework/www/version-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/version-add.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/dotlrn-homework/www/version-add.tcl 20 Apr 2004 21:13:31 -0000 1.3 +++ openacs-4/packages/dotlrn-homework/www/version-add.tcl 7 Oct 2007 22:36:58 -0000 1.4 @@ -31,7 +31,7 @@ file_id:key {upload_file:file {label "[_ dotlrn-homework.lt_version_filename]"}} {description:text(textarea),optional {label "[_ dotlrn-homework.lt_version_notes]"} - {html {rows 5 cols 50 wrap physical}}} + {html {rows 5 cols 50}}} } -edit_request { } -validate { {upload_file Index: openacs-4/packages/dotlrn-news/dotlrn-news.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-news/dotlrn-news.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/dotlrn-news/dotlrn-news.info 15 May 2007 20:14:30 -0000 1.13 +++ openacs-4/packages/dotlrn-news/dotlrn-news.info 7 Oct 2007 22:36:58 -0000 1.14 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-news-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-news-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-news" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="news-portlet" version="2.3.0"/> + <provides url="dotlrn-news" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="news-portlet" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/dotlrn-photo-album/dotlrn-photo-album.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-photo-album/dotlrn-photo-album.info,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn-photo-album/dotlrn-photo-album.info 15 May 2007 20:14:31 -0000 1.6 +++ openacs-4/packages/dotlrn-photo-album/dotlrn-photo-album.info 7 Oct 2007 22:36:58 -0000 1.7 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-photo-album-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-photo-album-2.3.1.apm"> <owner url="mailto:davis@xarg.net">Jeff Davis</owner> <vendor url="http://xarg.net">Xarg</vendor> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="dotlrn-photo-album" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="dotlrn-photo-album" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <requires url="photo-album" version="5.2.3"/> - <requires url="photo-album-portlet" version="2.3.0"/> + <requires url="photo-album-portlet" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn_photo_album::install"/> Index: openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info,v diff -u -r1.22 -r1.23 --- openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 15 May 2007 20:14:31 -0000 1.22 +++ openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 7 Oct 2007 22:36:58 -0000 1.23 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-portlet" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="dotlrn-portlet" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> <callback type="before-uninstall" proc="dotlrn_portlet::apm::before_uninstall"/> Index: openacs-4/packages/dotlrn-random-photo/dotlrn-random-photo.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-random-photo/dotlrn-random-photo.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/dotlrn-random-photo/dotlrn-random-photo.info 15 May 2007 20:14:32 -0000 1.4 +++ openacs-4/packages/dotlrn-random-photo/dotlrn-random-photo.info 7 Oct 2007 22:36:58 -0000 1.5 @@ -7,12 +7,12 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-random-photo-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-random-photo-2.3.1.apm"> <owner url="mailto:gmorales@galileo.edu">Gerardo Morales</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="dotlrn-random-photo" version="2.3.0"/> - <requires url="random-photo-portlet" version="2.3.0"/> + <provides url="dotlrn-random-photo" version="2.3.1"/> + <requires url="random-photo-portlet" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn_random_photo::install"/> Index: openacs-4/packages/dotlrn-static/dotlrn-static.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-static/dotlrn-static.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn-static/dotlrn-static.info 15 May 2007 20:14:32 -0000 1.14 +++ openacs-4/packages/dotlrn-static/dotlrn-static.info 7 Oct 2007 22:36:58 -0000 1.15 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-static-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-static-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-static" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="static-portlet" version="2.3.0"/> + <provides url="dotlrn-static" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="static-portlet" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/dotlrn-survey/dotlrn-survey.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-survey/dotlrn-survey.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/dotlrn-survey/dotlrn-survey.info 15 May 2007 20:14:32 -0000 1.8 +++ openacs-4/packages/dotlrn-survey/dotlrn-survey.info 7 Oct 2007 22:36:59 -0000 1.9 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-survey-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-survey-2.3.1.apm"> <owner url="mailto:dave@thedesignexperience.org">dave bauer</owner> <summary>dotLRN applet for Survey package</summary> <description format="text/html">dotLRN applet for Survey package</description> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="dotlrn-survey" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="survey-portlet" version="2.3.0"/> + <provides url="dotlrn-survey" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="survey-portlet" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info 15 May 2007 20:14:32 -0000 1.10 +++ openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info 7 Oct 2007 22:36:59 -0000 1.11 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-syllabus-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-syllabus-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="dotlrn-syllabus" version="2.3.0"/> + <provides url="dotlrn-syllabus" version="2.3.1"/> <requires url="acs-service-contract" version="5.3.1a1"/> - <requires url="dotlrn" version="2.3.0"/> + <requires url="dotlrn" version="2.3.1"/> <callbacks> </callbacks> Index: openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info 15 May 2007 20:14:33 -0000 1.9 +++ openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info 7 Oct 2007 22:36:59 -0000 1.10 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/dotlrn-weblogger-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/dotlrn-weblogger-2.3.1.apm"> <owner url="mailto:simon@bcuni.net">Simon Carstensen</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.collaboraid.biz">Collaboraid</vendor> - <provides url="dotlrn-weblogger" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="weblogger-portlet" version="2.3.0"/> + <provides url="dotlrn-weblogger" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="weblogger-portlet" version="2.3.1"/> <callbacks> <callback type="after-install" proc="dotlrn_weblogger::install"/> Index: openacs-4/packages/evaluation/evaluation.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/evaluation.info,v diff -u -r1.28 -r1.29 --- openacs-4/packages/evaluation/evaluation.info 27 Jun 2007 22:56:48 -0000 1.28 +++ openacs-4/packages/evaluation/evaluation.info 7 Oct 2007 22:36:59 -0000 1.29 @@ -10,7 +10,8 @@ <version name="2.3.1" url="http://openacs.org/repository/download/apm/evaluation-2.3.1.apm"> <owner url="mailto:jopez@galileo.edu">Jose Pablo Escobedo Del Cid</owner> <summary>This package allows the users (professors and students) to use the system to submit and grade the tasks.</summary> - <release-date>2007-06-15</release-date> + <release-date>2007-09-08</release-date> + <description format="text/html">This package allows the professors and TAs to assign tasks to the students and to grade them, and to the students to upload their answers and see their grades.</description> <maturity>0</maturity> <package_instance_name>#evaluation.Evaluations#</package_instance_name> Index: openacs-4/packages/evaluation/www/evaluation-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/evaluation-view.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/evaluation/www/evaluation-view.tcl 8 Aug 2006 21:26:41 -0000 1.5 +++ openacs-4/packages/evaluation/www/evaluation-view.tcl 7 Oct 2007 22:36:59 -0000 1.6 @@ -116,7 +116,7 @@ } {comments:text(textarea) {label "[_ evaluation.Comments_1]"} - {html {rows 4 cols 40 wrap soft}} + {html {rows 4 cols 40}} {value $comments} } {evaluation_date:date,to_sql(linear_date),from_sql(sql_date) Index: openacs-4/packages/evaluation/www/task-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/task-view.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/evaluation/www/task-view.tcl 8 Aug 2006 21:26:41 -0000 1.14 +++ openacs-4/packages/evaluation/www/task-view.tcl 7 Oct 2007 22:36:59 -0000 1.15 @@ -79,7 +79,7 @@ {description:richtext,optional {label "[_ evaluation.lt_Assignments_Descripti]"} - {html {rows 4 cols 40 wrap soft}} + {html {rows 4 cols 40}} } {due_date:date,to_sql(linear_date),from_sql(sql_date) Index: openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl 8 Aug 2006 21:26:42 -0000 1.12 +++ openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl 7 Oct 2007 22:36:59 -0000 1.13 @@ -37,7 +37,7 @@ <input type=text name=grades.@evaluated_students.party_id@ value=\"@evaluated_students.grade@\" maxlength=\"6\" size=\"4\"> } ] \ edit_reason \ [list label "[_ evaluation.Edit_Reason_]" \ - display_template { <textarea rows="3" cols="15" wrap name=reasons.@evaluated_students.party_id@></textarea> } \ + display_template { <textarea rows="3" cols="15" name=reasons.@evaluated_students.party_id@></textarea> } \ ] \ show_student_p \ [list label "[_ evaluation.lt_Allow_the_students_br]" \ Index: openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl 8 Aug 2006 21:26:42 -0000 1.22 +++ openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl 7 Oct 2007 22:36:59 -0000 1.23 @@ -257,7 +257,7 @@ display_template {<center> <input type=text name=grades_wa.@not_evaluated_wa.party_id@ maxlength=\"6\" size=\"3\"> <if @simple_p@ eq 1> <br> $max_grade max</if></center>} ] lappend elements comments \ [list label "[_ evaluation.Comments]" \ - display_template { <textarea rows="3" cols="15" wrap name=comments_wa.@not_evaluated_wa.party_id@></textarea> } \ + display_template { <textarea rows="3" cols="15" name=comments_wa.@not_evaluated_wa.party_id@></textarea> } \ ] lappend elements show_answer \ [list label "[_ evaluation.see_grades]" \ @@ -347,7 +347,7 @@ display_template { <center><input type=text name=grades_na.@not_evaluated_na.party_id@ maxlength=\"6\" size=\"3\"> <if @simple_p@ eq 1><br>$max_grade max.</if></center>}] lappend elements comments \ [list label "[_ evaluation.Comments]" \ - display_template { <textarea rows="3" cols="15" wrap name=comments_na.@not_evaluated_na.party_id@></textarea> } \ + display_template { <textarea rows="3" cols="15" name=comments_na.@not_evaluated_na.party_id@></textarea> } \ ] lappend elements show_answer \ [list label "[_ evaluation.see_grades]" \ @@ -447,7 +447,7 @@ display_template {<center> <input type=text name=grades_na.@class_students.party_id@ maxlength=\"6\" size=\"3\"> <if @simple_p@ eq 1><br>$max_grade max.</if></center>}] lappend elements comments \ [list label "[_ evaluation.Comments]" \ - display_template { <textarea rows="3" cols="15" wrap name=comments_na.@class_students.party_id@></textarea> } \ + display_template { <textarea rows="3" cols="15" name=comments_na.@class_students.party_id@></textarea> } \ ] lappend elements show_answer \ [list label "[_ evaluation.see_grades]" \ Index: openacs-4/packages/evaluation/www/admin/tasks/task-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/tasks/task-add-edit.tcl,v diff -u -r1.29 -r1.30 --- openacs-4/packages/evaluation/www/admin/tasks/task-add-edit.tcl 15 Dec 2006 22:45:31 -0000 1.29 +++ openacs-4/packages/evaluation/www/admin/tasks/task-add-edit.tcl 7 Oct 2007 22:36:59 -0000 1.30 @@ -197,7 +197,7 @@ {description:richtext,optional {label "[_ evaluation.lt_Assignments_Descripti]"} - {html {rows 4 cols 40 wrap soft}} + {html {rows 4 cols 40}} } {due_date:date,to_sql(linear_date),from_sql(sql_date),optional Index: openacs-4/packages/evaluation/www/view/evaluation-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/view/evaluation-view.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/evaluation/www/view/evaluation-view.tcl 8 Aug 2006 21:26:43 -0000 1.2 +++ openacs-4/packages/evaluation/www/view/evaluation-view.tcl 7 Oct 2007 22:37:00 -0000 1.3 @@ -113,7 +113,7 @@ } {comments:text(textarea) {label "[_ evaluation.Comments_1]"} - {html {rows 4 cols 40 wrap soft}} + {html {rows 4 cols 40}} {value $comments} } {evaluation_date:date,to_sql(linear_date),from_sql(sql_date) Index: openacs-4/packages/evaluation/www/view/task-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/view/task-view.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/evaluation/www/view/task-view.tcl 8 Aug 2006 21:26:43 -0000 1.2 +++ openacs-4/packages/evaluation/www/view/task-view.tcl 7 Oct 2007 22:37:00 -0000 1.3 @@ -79,7 +79,7 @@ {description:richtext,optional {label "[_ evaluation.lt_Assignments_Descripti]"} - {html {rows 4 cols 40 wrap soft}} + {html {rows 4 cols 40}} } {due_date:date,to_sql(linear_date),from_sql(sql_date) Index: openacs-4/packages/evaluation-portlet/evaluation-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation-portlet/evaluation-portlet.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/evaluation-portlet/evaluation-portlet.info 15 May 2007 20:14:33 -0000 1.9 +++ openacs-4/packages/evaluation-portlet/evaluation-portlet.info 7 Oct 2007 22:37:00 -0000 1.10 @@ -7,12 +7,12 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/evaluation-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/evaluation-portlet-2.3.1.apm"> <owner url="mailto:jopez@galileo.edu">Jose Pablo Escobedo Del Cid</owner> - <release-date>2007-03-27</release-date> + <release-date>2007-09-08</release-date> - <provides url="evaluation-portlet" version="2.3.0"/> - <requires url="evaluation" version="2.3.0"/> + <provides url="evaluation-portlet" version="2.3.1"/> + <requires url="evaluation" version="2.3.1"/> <callbacks> <callback type="after-install" proc="evaluation_portlet::after_install"/> Index: openacs-4/packages/faq/faq.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq/faq.info,v diff -u -r1.21 -r1.22 --- openacs-4/packages/faq/faq.info 27 Jun 2007 22:51:41 -0000 1.21 +++ openacs-4/packages/faq/faq.info 7 Oct 2007 22:37:00 -0000 1.22 @@ -12,14 +12,14 @@ <owner url="mailto:jennie@ybos.net">Jennie Kim Housman</owner> <owner url="mailto:wirth@ybos.net">Elizabeth Wirth</owner> <summary>Manage simple and categorized Question and Answer style FAQs with WYSIWYG and notification functionalities.</summary> - <release-date>2007-06-15</release-date> + <release-date>2007-07-11</release-date> <vendor url="http://ybos.net">Ybos Corporation</vendor> <description format="text/html">Handles frequently asked questions Q&A presentation. Can be one Q&A per page or all presented flat. Straightforward application with room for improvement. Support for notification as well as WYSIQYG Editor and Categories - both optional. Category trees are displayed flat. No multiple filters.</description> <maturity>2</maturity> <package_instance_name>#faq.FAQs#</package_instance_name> <provides url="faq" version="5.2.0d5"/> - <requires url="acs-kernel" version="5.3.1a1"/> + <requires url="acs-kernel" version="5.3.2"/> <requires url="categories" version="1.1"/> <requires url="notifications" version="5.3.0d1"/> Index: openacs-4/packages/faq/sql/postgresql/faq-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq/sql/postgresql/faq-create.sql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/faq/sql/postgresql/faq-create.sql 1 Apr 2004 22:52:46 -0000 1.5 +++ openacs-4/packages/faq/sql/postgresql/faq-create.sql 7 Oct 2007 22:37:00 -0000 1.6 @@ -142,9 +142,4 @@ \i faq-package-create.sql - - - - - - +\i faq-sc-create.sql Index: openacs-4/packages/faq/sql/postgresql/faq-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq/sql/postgresql/faq-drop.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/faq/sql/postgresql/faq-drop.sql 17 May 2003 10:33:37 -0000 1.3 +++ openacs-4/packages/faq/sql/postgresql/faq-drop.sql 7 Oct 2007 22:37:00 -0000 1.4 @@ -2,6 +2,15 @@ -- @author wirth@ybos.net --openacs port @samir.symphinity.com +--drop triggers +drop trigger faq_sc__itrg on faq_q_and_as; +drop trigger faq_sc__dtrg on faq_q_and_as; +drop trigger faq_sc__utrg on faq_q_and_as; + +drop function faq_sc__itrg () +drop function faq_sc__dtrg () +drop function faq_sc__utrg () + --drop functions drop function faq__new_q_and_a (integer,integer,varchar,varchar,integer,varchar,timestamptz,integer,varchar,integer); drop function faq__delete_q_and_a (integer); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/faq/sql/postgresql/faq-sc-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/faq/sql/postgresql/upgrade/upgrade-5.2.0d4-5.2.0d5.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/faq-portlet/faq-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq-portlet/faq-portlet.info,v diff -u -r1.21 -r1.22 --- openacs-4/packages/faq-portlet/faq-portlet.info 15 May 2007 20:14:35 -0000 1.21 +++ openacs-4/packages/faq-portlet/faq-portlet.info 7 Oct 2007 22:37:00 -0000 1.22 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/faq-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/faq-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="faq-portlet" version="2.3.0"/> + <provides url="faq-portlet" version="2.3.1"/> <requires url="faq" version="5.2.0d4"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <parameters> <parameter datatype="number" min_n_values="1" max_n_values="1" name="faq_portlet_force_region" default="1" description="the portal region to put the faq portlet into"/> Index: openacs-4/packages/file-storage/tcl/file-storage-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/tcl/file-storage-callback-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/file-storage/tcl/file-storage-callback-procs.tcl 30 Jan 2007 14:05:24 -0000 1.7 +++ openacs-4/packages/file-storage/tcl/file-storage-callback-procs.tcl 7 Oct 2007 22:37:00 -0000 1.8 @@ -109,6 +109,15 @@ return "/file/$item_id/$name" } +ad_proc -public -callback search::url -impl file_storage_object { + -object_id:required +} { + Return the URL to the file_storage_object +} { + set item_id [content::revision::item_id -revision_id $object_id] + set name [db_string item "select name from cr_items where item_id = :item_id" -default ""] + return "[ad_url]/file/$item_id/$name" +} ad_proc -public -callback datamanager::copy_folder -impl datamanager { -object_id:required Index: openacs-4/packages/forums/lib/message/post.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/post.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/packages/forums/lib/message/post.tcl 6 Jul 2007 12:13:25 -0000 1.16 +++ openacs-4/packages/forums/lib/message/post.tcl 7 Oct 2007 22:37:01 -0000 1.17 @@ -37,7 +37,7 @@ {label "[_ forums.Subject]"} } {message_body:richtext(richtext) - {html {rows 20 cols 60 wrap soft}} + {html {rows 20 cols 60}} {label "[_ forums.Body]"} } {forum_id:integer(hidden) Index: openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql 15 Mar 2005 20:06:45 -0000 1.4 +++ openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql 7 Oct 2007 22:37:01 -0000 1.5 @@ -28,7 +28,7 @@ state, user_id, parent_id - from $table_name + from $table_name t where forum_id = :forum_id and tree_sortkey between tree.left(:tree_sortkey) and tree.right(:tree_sortkey) order by $order_by @@ -48,7 +48,7 @@ state, user_id, parent_id - from $table_name + from $table_name t where forum_id = :forum_id and tree_sortkey between tree.left(:tree_sortkey) and tree.right(:tree_sortkey) order by $order_by Index: openacs-4/packages/forums/lib/message/thread-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/forums/lib/message/thread-chunk.tcl 15 May 2007 20:14:39 -0000 1.6 +++ openacs-4/packages/forums/lib/message/thread-chunk.tcl 7 Oct 2007 22:37:01 -0000 1.7 @@ -90,6 +90,7 @@ db_multirow -extend { posting_date_pretty direct_url number parent_number parent_direct_url reply_p viewed_p open_p} responses $query {} { set open_p t set tree_level [min [expr {$tree_level - $message(tree_level)}] 10] + set posting_date_ansi [lc_time_system_to_conn $posting_date_ansi] set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] set direct_url "$direct_url_base\#$message_id" set number [expr [lsearch $message_id_list $message_id] + 1] Index: openacs-4/packages/forums/tcl/form-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/form-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/forums/tcl/form-procs.tcl 15 May 2007 20:14:40 -0000 1.8 +++ openacs-4/packages/forums/tcl/form-procs.tcl 7 Oct 2007 22:37:01 -0000 1.9 @@ -39,7 +39,7 @@ -label [_ forums.Body] \ -datatype richtext \ -widget richtext \ - -html {rows 20 cols 60 wrap soft style {width:100%}} \ + -html {rows 20 cols 60 style {width:100%}} \ $optional_switch } @@ -102,7 +102,7 @@ } { template::element create $form_name ${prefix}to_email \ -label [_ forums.Email] \ - -datatype text \ + -datatype email \ -widget text \ -html {size 60} @@ -116,7 +116,7 @@ -label [_ forums.Your_Note] \ -datatype text \ -widget textarea \ - -html {cols 80 rows 10 wrap hard} + -html {cols 80 rows 10} } ad_proc -public forums::form::search { @@ -155,7 +155,7 @@ -label [_ forums.Charter] \ -datatype richtext \ -widget richtext \ - -html {cols 60 rows 10 wrap soft} \ + -html {cols 60 rows 10} \ -validate { {expr [string length $value] <= 4000 } {#forums.charter_max_chars#} } \ -optional Index: openacs-4/packages/forums/tcl/forums-callback-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/Attic/forums-callback-procs-oracle.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/forums/tcl/forums-callback-procs-oracle.xql 28 Jan 2006 15:39:03 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-callback-procs-oracle.xql 7 Oct 2007 22:37:01 -0000 1.2 @@ -35,9 +35,8 @@ <querytext> select subject, content, format from forums_messages - where message_id=:message_id --- lets just get the message instead of the whole thread --- replace with a connect by + start with message_id=:message_id + connect by prior message_id = parent_id </querytext> </fullquery> Index: openacs-4/packages/forums/tcl/forums-callback-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/Attic/forums-callback-procs-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/forums/tcl/forums-callback-procs-postgresql.xql 28 Jan 2006 15:39:03 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-callback-procs-postgresql.xql 7 Oct 2007 22:37:01 -0000 1.2 @@ -35,9 +35,9 @@ <querytext> select subject, content, format from forums_messages - where message_id=:message_id --- lets just get the message instead of the whole thread --- replace with a connect by + where message_id=:message_id or (tree_sortkey between tree_left(:tree_sortkey) and tree_right(:tree_sortkey)) + and forum_id=:forum_id + order by tree_sortkey </querytext> </fullquery> Index: openacs-4/packages/forums/www/message-email.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-email.adp,v diff -u -r1.10 -r1.11 --- openacs-4/packages/forums/www/message-email.adp 8 Aug 2006 21:26:53 -0000 1.10 +++ openacs-4/packages/forums/www/message-email.adp 7 Oct 2007 22:37:01 -0000 1.11 @@ -2,13 +2,15 @@ <property name="title">#forums.Email_Message# @message.forum_name;noquote@ - @message.subject;noquote@</property> <property name="context">@context;noquote@</property> <property name="header_stuff"> - <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css" /> + <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css"> </property> + <if @link:rowcount@ not nil><property name="&link">link</property></if> + <p>#forums.lt_Email_a_copy_of_the_f#</p> <div id="forum-thread"> Index: openacs-4/packages/forums/www/message-email.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-email.tcl,v diff -u -r1.13 -r1.14 --- openacs-4/packages/forums/www/message-email.tcl 15 Mar 2005 20:06:45 -0000 1.13 +++ openacs-4/packages/forums/www/message-email.tcl 7 Oct 2007 22:37:01 -0000 1.14 @@ -53,4 +53,48 @@ lappend context [list "./message-view?message_id=$message(message_id)" "$message(subject)"] lappend context [_ forums.Email_to_a_friend] +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} + +template::multirow append link \ + stylesheet \ + text/css \ + /resources/forums/forums.css \ + "" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat.css \ + "flat" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat-collapse.css \ + "flat-collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/collapse.css \ + "collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/expand.css \ + "expand" \ + [ad_conn language] \ + all + ad_return_template Index: openacs-4/packages/forums/www/message-post-confirm.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-post-confirm.adp,v diff -u -r1.15 -r1.16 --- openacs-4/packages/forums/www/message-post-confirm.adp 8 Aug 2006 21:26:53 -0000 1.15 +++ openacs-4/packages/forums/www/message-post-confirm.adp 7 Oct 2007 22:37:01 -0000 1.16 @@ -2,13 +2,15 @@ <property name="title">#forums.Confirm_Post_to_Forum# @forum.name;noquote@</property> <property name="context">@context;noquote@</property> <property name="header_stuff"> - <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css" /> + <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css"> </property> + <if @link:rowcount@ not nil><property name="&link">link</property></if> + <include src="/packages/forums/lib/message/post" forum_id="@forum_id@" &parent_message="parent_message" anonymous_allowed_p="@anonymous_allowed_p@" Index: openacs-4/packages/forums/www/message-post.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-post.adp,v diff -u -r1.11 -r1.12 --- openacs-4/packages/forums/www/message-post.adp 8 Aug 2006 21:26:53 -0000 1.11 +++ openacs-4/packages/forums/www/message-post.adp 7 Oct 2007 22:37:01 -0000 1.12 @@ -3,13 +3,15 @@ <property name="context">@context;noquote@</property> <property name="focus">message.subject</property> <property name="header_stuff"> - <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css" /> + <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css"> </property> + <if @link:rowcount@ not nil><property name="&link">link</property></if> + <include src="/packages/forums/lib/message/post" forum_id="@forum_id@" &parent_message="parent_message" anonymous_allowed_p="@anonymous_allowed_p@" Index: openacs-4/packages/forums/www/message-post.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-post.tcl,v diff -u -r1.34 -r1.35 --- openacs-4/packages/forums/www/message-post.tcl 15 Mar 2005 20:06:45 -0000 1.34 +++ openacs-4/packages/forums/www/message-post.tcl 7 Oct 2007 22:37:01 -0000 1.35 @@ -66,6 +66,50 @@ # Template variables # +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} + +template::multirow append link \ + stylesheet \ + text/css \ + /resources/forums/forums.css \ + "" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat.css \ + "flat" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat-collapse.css \ + "flat-collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/collapse.css \ + "collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/expand.css \ + "expand" \ + [ad_conn language] \ + all + if {![string equal [template::form::get_button message] "preview"]} { set context [list [list "./forum-view?forum_id=$forum_id" [ad_quotehtml $forum(name)]]] Index: openacs-4/packages/forums/www/message-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-view.adp,v diff -u -r1.32 -r1.33 --- openacs-4/packages/forums/www/message-view.adp 5 Jun 2007 17:33:50 -0000 1.32 +++ openacs-4/packages/forums/www/message-view.adp 7 Oct 2007 22:37:01 -0000 1.33 @@ -4,16 +4,21 @@ <property name="displayed_object_id">@message_id@</property> <property name="header_stuff"> - <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css" /> - <link rel="stylesheet" type="text/css" media="print" href="/resources/forums/print.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css" /> - <link rel="alternate stylesheet" type="text/css" media="all" title="print" href="/resources/forums/print.css" /> + <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css"> + <link rel="stylesheet" type="text/css" media="print" href="/resources/forums/print.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat" href="/resources/forums/flat.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="flat-collapse" href="/resources/forums/flat-collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="collapse" href="/resources/forums/collapse.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="expand" href="/resources/forums/expand.css"> + <link rel="alternate stylesheet" type="text/css" media="all" title="print" href="/resources/forums/print.css"> <script type="text/javascript" src="/resources/forums/forums.js"></script> - @dynamic_script;noquote@ + <script type="text/javascript" src="/resources/forums/dynamic-comments.js"></script> + <script type="text/javascript">@dynamic_script;noquote@</script> </property> + +<if @link:rowcount@ not nil><property name="&link">link</property></if> +<if @script:rowcount@ not nil><property name="&script">script</property></if> + <h1>@page_title;noquote@</h1> <iframe width="0" height="0" border="0" style="width:0; height:0; border:0;" id="dynamic" name="dynamic" src="about:blank" title=""></iframe> Index: openacs-4/packages/forums/www/message-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-view.tcl,v diff -u -r1.37 -r1.38 --- openacs-4/packages/forums/www/message-view.tcl 15 Jun 2007 11:53:51 -0000 1.37 +++ openacs-4/packages/forums/www/message-view.tcl 7 Oct 2007 22:37:01 -0000 1.38 @@ -101,8 +101,6 @@ set thread_url [export_vars -base forum-view { { forum_id $message(forum_id) } }] set dynamic_script " - <script type=\"text/javascript\" src=\"/resources/forums/dynamic-comments.js\"></script> - <script type=\"text/javascript\"> <!-- collapse_symbol = '<img src=\"/resources/forums/Collapse16.gif\" width=\"16\" height=\"16\" ALT=\"collapse message\" border=\"0\" title=\"collapse message\">'; expand_symbol = '<img src=\"/resources/forums/Expand16.gif\" width=\"16\" height=\"16\" ALT=\"expand message\" border=\"0\" title=\"expand message\">'; @@ -111,11 +109,83 @@ rootdir = 'messages-get'; sid = '$message(root_message_id)'; //--> - </script> " if {$forum(presentation_type) eq "flat"} { set display_mode flat } -set page_title "#forums.Thread_title#" \ No newline at end of file +# stylesheets +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} + +template::multirow append link \ + stylesheet \ + text/css \ + /resources/forums/forums.css \ + "" \ + [ad_conn language] \ + all + +template::multirow append link \ + stylesheet \ + text/css \ + /resources/forums/print.css \ + "" \ + [ad_conn language] \ + print + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat.css \ + "flat" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/flat-collapse.css \ + "flat-collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/collapse.css \ + "collapse" \ + [ad_conn language] \ + all + +template::multirow append link \ + "alternate stylesheet" \ + text/css \ + /resources/forums/expand.css \ + "expand" \ + [ad_conn language] \ + all + +# js scripts +if {![template::multirow exists script]} { + template::multirow create script type src charset defer content +} + +template::multirow append script \ + "text/javascript" \ + "/resources/forums/forums.js" + +template::multirow append script \ + "text/javascript" \ + "/resources/forums/dynamic-comments.js" + +template::multirow append script \ + "text/javascript" \ + "" \ + "" \ + "" \ + $dynamic_script + +set page_title "#forums.Thread_title#" Index: openacs-4/packages/forums/www/moderate/message-delete.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/message-delete.adp,v diff -u -r1.10 -r1.11 --- openacs-4/packages/forums/www/moderate/message-delete.adp 8 Aug 2006 21:26:53 -0000 1.10 +++ openacs-4/packages/forums/www/moderate/message-delete.adp 7 Oct 2007 22:37:01 -0000 1.11 @@ -2,16 +2,12 @@ <property name="title">#forums.Confirm_Delete# @message.subject;noquote@</property> <property name="context">#forums.delete#</property> <property name="header_stuff"> - <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css" /> + <link rel="stylesheet" type="text/css" media="all" href="/resources/forums/forums.css"> <script language="JavaScript" type="text/javascript" src="/resources/forums/forums.js"></script> - <script type="text/javascript"><!-- - collapse_symbol = '<img src="/resources/forums/Collapse16.gif" width="16" height="16" ALT="-" border="0" title="collapse message">'; - expand_symbol = '<img src="/resources/forums/Expand16.gif" width="16" height="16" ALT="+" border="0" title="expand message">'; - loading_symbol = '<img src="/resources/forums/dyn_wait.gif" width="12" height="16" ALT="x" border="0">'; - loading_message = '<i>Loading...</i>'; - rootdir = 'messages-get'; - sid = '5999'; - //--> - </script></property> + <script type="text/javascript">@dynamic_script;noquote@</script> + </property> +<if @link:rowcount@ not nil><property name="&link">link</property></if> +<if @script:rowcount@ not nil><property name="&script">script</property></if> + <include src="/packages/forums/lib/message/delete" &message="message" confirm_p="@confirm_p@" return_url="@return_url@" /> Index: openacs-4/packages/forums/www/moderate/message-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/message-delete.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/forums/www/moderate/message-delete.tcl 17 Dec 2003 15:45:31 -0000 1.10 +++ openacs-4/packages/forums/www/moderate/message-delete.tcl 7 Oct 2007 22:37:01 -0000 1.11 @@ -18,4 +18,43 @@ # Select the stuff forum::message::get -message_id $message_id -array message +set dynamic_script " + <!-- + collapse_symbol = '<img src=\"/resources/forums/Collapse16.gif\" width=\"16\" height=\"16\" ALT=\"collapse message\" border=\"0\" title=\"collapse message\">'; + expand_symbol = '<img src=\"/resources/forums/Expand16.gif\" width=\"16\" height=\"16\" ALT=\"expand message\" border=\"0\" title=\"expand message\">'; + loading_symbol = '<img src=\"/resources/forums/dyn_wait.gif\" width=\"12\" height=\"16\" ALT=\"x\" border=\"0\">'; + loading_message = '<i>Loading...</i>'; + rootdir = 'messages-get'; + sid = '$message(root_message_id)'; + //--> +" +# stylesheets +if {![template::multirow exists link]} { + template::multirow create link rel type href title lang media +} + +template::multirow append link \ + stylesheet \ + text/css \ + /resources/forums/forums.css \ + "" \ + [ad_conn language] \ + all + +# js scripts +if {![template::multirow exists script]} { + template::multirow create script type src charset defer content +} + +template::multirow append script \ + "text/javascript" \ + "/resources/forums/forums.js" + +template::multirow append script \ + "text/javascript" \ + "" \ + "" \ + "" \ + $dynamic_script + ad_return_template Index: openacs-4/packages/forums-portlet/forums-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums-portlet/forums-portlet.info,v diff -u -r1.12 -r1.13 --- openacs-4/packages/forums-portlet/forums-portlet.info 15 May 2007 20:14:41 -0000 1.12 +++ openacs-4/packages/forums-portlet/forums-portlet.info 7 Oct 2007 22:37:01 -0000 1.13 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/forums-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/forums-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> <maturity>0</maturity> - <provides url="forums-portlet" version="2.3.0"/> + <provides url="forums-portlet" version="2.3.1"/> <requires url="forums" version="1.3d5"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> </callbacks> Index: openacs-4/packages/fs-portlet/fs-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/fs-portlet.info,v diff -u -r1.21 -r1.22 --- openacs-4/packages/fs-portlet/fs-portlet.info 15 May 2007 20:14:41 -0000 1.21 +++ openacs-4/packages/fs-portlet/fs-portlet.info 7 Oct 2007 22:37:01 -0000 1.22 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/fs-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/fs-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="fs-portlet" version="2.3.0"/> + <provides url="fs-portlet" version="2.3.1"/> <requires url="file-storage" version="5.3.0d1"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <parameters> <parameter datatype="number" min_n_values="1" max_n_values="1" name="ShowParametersLinkP" default="1" description="Should we link to the file-storage instance's parameter settings page?"/> Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/catalog/imsld.es_GT.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/lib/choice-select.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/lib/imsld-master.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/lib/imsld-master.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/sql/postgresql/upgrade/upgrade-1.1d-1.2d.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/www/admin/monitor/properties-frame.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/www/resources/imsld.css'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/imsld/www/resources/imsld.js'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/imsld/www/resources/viewed.ico =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/resources/viewed.ico,v diff -u -r1.1 -r1.2 Binary files differ Index: openacs-4/packages/lars-blogger/lars-blogger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/lars-blogger.info,v diff -u -r1.43 -r1.44 --- openacs-4/packages/lars-blogger/lars-blogger.info 15 May 2007 20:14:42 -0000 1.43 +++ openacs-4/packages/lars-blogger/lars-blogger.info 7 Oct 2007 22:37:02 -0000 1.44 @@ -7,15 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/lars-blogger-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/lars-blogger-2.3.1.apm"> <owner url="mailto:lars@pinds.com">Lars Pind</owner> <summary>Individual or collaborative web logs.</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.openacs.org">OpenACS</vendor> <description format="text/html">Weblog creation and management with notifications, RSS, trackpack, technorati, blogroll, pings, archives, draft and published entries, includable templates for presenting on other pages, and permissioning for multiple users.</description> <maturity>0</maturity> - <provides url="lars-blogger" version="2.3.0"/> + <provides url="lars-blogger" version="2.3.1"/> <requires url="acs-datetime" version="5.2.2"/> <requires url="acs-tcl" version="5.3.1a1"/> <requires url="categories" version="1.1"/> Index: openacs-4/packages/new-portal/new-portal.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/new-portal.info,v diff -u -r1.30 -r1.31 --- openacs-4/packages/new-portal/new-portal.info 15 May 2007 20:14:46 -0000 1.30 +++ openacs-4/packages/new-portal/new-portal.info 7 Oct 2007 22:37:02 -0000 1.31 @@ -8,14 +8,14 @@ <singleton-p>t</singleton-p> <auto-mount>portal</auto-mount> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/new-portal-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/new-portal-2.3.d2.apm"> <owner url="http://openacs.org">OpenACS</owner> <summary>Portals.</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> <description format="text/plain">New Portal Package aka NPP. Portals are used to aggregate content from different sources within a single page. Props to Ian Baker for "Portal".</description> - <provides url="new-portal" version="2.3.0"/> + <provides url="new-portal" version="2.3.d21"/> <requires url="acs-kernel" version="5.3.1a1"/> <callbacks> Index: openacs-4/packages/new-portal/sql/oracle/api-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/api-create.sql,v diff -u -r1.43 -r1.44 --- openacs-4/packages/new-portal/sql/oracle/api-create.sql 15 May 2007 20:14:47 -0000 1.43 +++ openacs-4/packages/new-portal/sql/oracle/api-create.sql 7 Oct 2007 22:37:02 -0000 1.44 @@ -267,7 +267,8 @@ -- now insert the pages from the portal template for page in (select * from portal_pages - where portal_id = portal.new.template_id) + where portal_id = portal.new.template_id + order by sort_key) loop v_page_id := portal_page.new( Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/new-portal/sql/oracle/upgrade/upgrade-2.3.1d1-2.3.1d2.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/new-portal/sql/postgresql/api-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/postgresql/api-create.sql,v diff -u -r1.15 -r1.16 --- openacs-4/packages/new-portal/sql/postgresql/api-create.sql 15 May 2007 20:14:47 -0000 1.15 +++ openacs-4/packages/new-portal/sql/postgresql/api-create.sql 7 Oct 2007 22:37:03 -0000 1.16 @@ -132,7 +132,7 @@ select define_function_args('portal__new','portal_id,name,theme_id,layout_id,template_id,default_page_name,default_accesskey,object_type;portal,creation_date,creation_user,creation_ip,context_id'); -create function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,varchar,timestamptz,integer,varchar,integer) +create or replace function portal__new (integer,varchar,integer,integer,integer,varchar,varchar,varchar,timestamptz,integer,varchar,integer) returns integer as ' declare p_portal_id alias for $1; @@ -226,6 +226,7 @@ for v_page in select * from portal_pages where portal_id = p_template_id + order by sort_key loop v_page_id := portal_page__new( Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/new-portal/sql/postgresql/upgrade/upgrade-2.3.1d1-2.3.1d2.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/new-portal/tcl/portal-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs.tcl,v diff -u -r1.182 -r1.183 --- openacs-4/packages/new-portal/tcl/portal-procs.tcl 13 Aug 2007 06:10:27 -0000 1.182 +++ openacs-4/packages/new-portal/tcl/portal-procs.tcl 7 Oct 2007 22:37:03 -0000 1.183 @@ -145,7 +145,11 @@ set page_name_list [list $default_page_name] set page_accesskey_list [list $default_accesskey] - set layout_name_list [list "#new-portal.simple_2column_layout_name#"] + if { [string eq $layout_name ""] } { + set layout_name_list [list "#new-portal.simple_2column_layout_name#"] + } else { + set layout_name_list [list $layout_name] + } if {![empty_string_p $csv_list]} { set page_name_and_layout_list [split [string trimright $csv_list ";"] ";"] Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/new-portal/tcl/test/new-portal-test-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-portlet/news-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-portlet/news-portlet.info,v diff -u -r1.19 -r1.20 --- openacs-4/packages/news-portlet/news-portlet.info 15 May 2007 20:14:50 -0000 1.19 +++ openacs-4/packages/news-portlet/news-portlet.info 7 Oct 2007 22:37:03 -0000 1.20 @@ -7,13 +7,13 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/news-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/news-portlet-2.3.1.apm"> <owner url="http://opeancs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="news-portlet" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="news-portlet" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <requires url="news" version="5.2.0d6"/> <callbacks> Index: openacs-4/packages/photo-album/www/album-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album/www/album-add.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/photo-album/www/album-add.tcl 18 Nov 2003 22:59:03 -0000 1.4 +++ openacs-4/packages/photo-album/www/album-add.tcl 7 Oct 2007 22:37:03 -0000 1.5 @@ -40,7 +40,7 @@ template::element create album_add description -html { size 50 } \ -label "[_ photo-album._Album]" -datatype text -optional -template::element create album_add story -html {cols 50 rows 4 wrap soft} \ +template::element create album_add story -html {cols 50 rows 4} \ -label "[_ photo-album._Album_1]" -datatype text -widget textarea -optional if { [template::form is_request album_add] } { Index: openacs-4/packages/photo-album/www/album-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album/www/album-edit.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/photo-album/www/album-edit.tcl 18 Nov 2003 22:59:03 -0000 1.4 +++ openacs-4/packages/photo-album/www/album-edit.tcl 7 Oct 2007 22:37:03 -0000 1.5 @@ -47,7 +47,7 @@ template::element create edit_album description -html { size 50} \ -label "[_ photo-album._Album]" -datatype text -optional -template::element create edit_album story -html { cols 50 rows 4 wrap soft } \ +template::element create edit_album story -html { cols 50 rows 4 } \ -label "[_ photo-album._Album_1]" -datatype text -widget textarea -optional Index: openacs-4/packages/photo-album/www/photo-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album/www/photo-add.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/photo-album/www/photo-add.tcl 29 Jun 2004 10:18:45 -0000 1.6 +++ openacs-4/packages/photo-album/www/photo-add.tcl 7 Oct 2007 22:37:03 -0000 1.7 @@ -44,7 +44,7 @@ element create photo_upload description -html { size 50} \ -label "[_ photo-album._Photo]" -optional -help_text "[_ photo-album.lt_OPTIONAL_Displayed_wh]" -datatype text -element create photo_upload story -html { cols 50 rows 4 wrap soft } \ +element create photo_upload story -html { cols 50 rows 4 } \ -label "[_ photo-album._Photo_1]" -optional -help_text "[_ photo-album.OPTIONAL]" -datatype text -widget textarea element set_properties photo_upload album_id -value $album_id Index: openacs-4/packages/photo-album/www/photo-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album/www/photo-edit.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/photo-album/www/photo-edit.tcl 18 Nov 2003 22:59:03 -0000 1.4 +++ openacs-4/packages/photo-album/www/photo-edit.tcl 7 Oct 2007 22:37:03 -0000 1.5 @@ -59,7 +59,7 @@ template::element create edit_photo description -html { size 50} \ -label "<#_Description#>" -help_text "Displayed when viewing the photo" -optional -datatype text -template::element create edit_photo story -html { cols 50 rows 4 wrap soft } \ +template::element create edit_photo story -html { cols 50 rows 4 } \ -label "<#_Story#>" -optional -datatype text -help_text "Displayed when viewing the photo" -widget textarea template::element create edit_photo submit_b -widget submit \ Index: openacs-4/packages/photo-album-portlet/photo-album-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album-portlet/photo-album-portlet.info,v diff -u -r1.7 -r1.8 --- openacs-4/packages/photo-album-portlet/photo-album-portlet.info 15 May 2007 20:14:52 -0000 1.7 +++ openacs-4/packages/photo-album-portlet/photo-album-portlet.info 7 Oct 2007 22:37:04 -0000 1.8 @@ -7,13 +7,13 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/photo-album-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/photo-album-portlet-2.3.1.apm"> <owner url="mailto:davis@xarg.net">Jeff Davis</owner> <vendor url="http://xarg.net">Xarg</vendor> - <release-date>2007-04-22</release-date> - <provides url="photo-album-portlet" version="2.3.0"/> + <release-date>2007-09-08</release-date> + <provides url="photo-album-portlet" version="2.3.1"/> <requires url="photo-album" version="5.2.3"/> - <requires url="new-portal" version="2.3.0"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> <callback type="after-install" proc="photo_album_portlet::after_install"/> Index: openacs-4/packages/profile-provider/profile-provider.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/profile-provider/profile-provider.info,v diff -u -r1.11 -r1.12 --- openacs-4/packages/profile-provider/profile-provider.info 15 May 2007 20:14:52 -0000 1.11 +++ openacs-4/packages/profile-provider/profile-provider.info 7 Oct 2007 22:37:04 -0000 1.12 @@ -7,12 +7,12 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/profile-provider-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/profile-provider-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> <vendor url="http://openacs.org">OpenACS</vendor> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="profile-provider" version="2.3.0"/> + <provides url="profile-provider" version="2.3.1"/> <requires url="acs-service-contract" version="5.3.1a1"/> <callbacks> Index: openacs-4/packages/random-photo-portlet/random-photo-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/random-photo-portlet/random-photo-portlet.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/random-photo-portlet/random-photo-portlet.info 15 May 2007 20:14:52 -0000 1.5 +++ openacs-4/packages/random-photo-portlet/random-photo-portlet.info 7 Oct 2007 22:37:04 -0000 1.6 @@ -7,12 +7,12 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/random-photo-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/random-photo-portlet-2.3.1.apm"> <owner url="mailto:gmorales@galileo.edu">Gerardo Morales</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> - <provides url="random-photo-portlet" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="random-photo-portlet" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <callbacks> <callback type="after-install" proc="rphoto_portlet::after_install"/> Index: openacs-4/packages/static-portlet/static-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/static-portlet/static-portlet.info,v diff -u -r1.20 -r1.21 --- openacs-4/packages/static-portlet/static-portlet.info 15 May 2007 20:14:53 -0000 1.20 +++ openacs-4/packages/static-portlet/static-portlet.info 7 Oct 2007 22:37:04 -0000 1.21 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/static-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/static-portlet-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="static-portlet" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="static-portlet" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <parameters> <parameter datatype="string" min_n_values="1" max_n_values="1" name="static_admin_portlet_pretty_name" default="#static-portlet.admin_portlet_pretty_name#" description="the name for the static admin portlet in the UI"/> Index: openacs-4/packages/static-portlet/www/element.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/static-portlet/www/element.tcl,v diff -u -r1.15 -r1.16 --- openacs-4/packages/static-portlet/www/element.tcl 15 Dec 2006 22:45:43 -0000 1.15 +++ openacs-4/packages/static-portlet/www/element.tcl 7 Oct 2007 22:37:04 -0000 1.16 @@ -53,7 +53,7 @@ ad_form -name static_element -form { element_content_id:key {pretty_name:text(text) {label "[_ static-portlet.Name]"} {html {size 60}}} - {content:richtext(richtext) {label "[_ static-portlet.Content]"} {html {rows 15 cols 80 wrap soft}}} + {content:richtext(richtext) {label "[_ static-portlet.Content]"} {html {rows 15 cols 80}}} } if {[lsearch $templates $type] >= 0} { Index: openacs-4/packages/survey-portlet/survey-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/survey-portlet/survey-portlet.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/survey-portlet/survey-portlet.info 15 May 2007 20:14:54 -0000 1.8 +++ openacs-4/packages/survey-portlet/survey-portlet.info 7 Oct 2007 22:37:04 -0000 1.9 @@ -7,14 +7,14 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/survey-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/survey-portlet-2.3.1.apm"> <owner url="mailto:dave@thedesignexperience.org">dave bauer</owner> <summary>Survey package portlet for new-portal</summary> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <description format="text/html">Survey package portlet for new-portal</description> - <provides url="survey-portlet" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="survey-portlet" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <requires url="survey" version="5.0.1"/> <parameters> Index: openacs-4/packages/theme-selva/theme-selva.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-selva/theme-selva.info,v diff -u -r1.18 -r1.19 --- openacs-4/packages/theme-selva/theme-selva.info 15 May 2007 20:14:54 -0000 1.18 +++ openacs-4/packages/theme-selva/theme-selva.info 7 Oct 2007 22:37:04 -0000 1.19 @@ -8,14 +8,14 @@ <singleton-p>f</singleton-p> <auto-mount>theme-selva</auto-mount> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/theme-selva-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/theme-selva-2.3.1.apm"> <owner url="http:/www.weg.ee.usyd.edu.au">Rafael Calvo</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.weg.usyd.edu.au"></vendor> <maturity>0</maturity> - <provides url="theme-selva" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="theme-selva" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <callbacks> <callback type="after-upgrade" proc="theme_selva::apm::after_upgrade"/> Index: openacs-4/packages/theme-zen/theme-zen.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/theme-zen.info,v diff -u -r1.2 -r1.3 --- openacs-4/packages/theme-zen/theme-zen.info 15 May 2007 20:14:55 -0000 1.2 +++ openacs-4/packages/theme-zen/theme-zen.info 7 Oct 2007 22:37:05 -0000 1.3 @@ -8,14 +8,14 @@ <singleton-p>t</singleton-p> <auto-mount>theme-zen</auto-mount> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/theme-zen-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/theme-zen-2.3.1.apm"> <owner url="http:/www.weg.ee.usyd.edu.au">Rafael Calvo</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.weg.usyd.edu.au"></vendor> <maturity>0</maturity> - <provides url="theme-zen" version="2.3.0"/> - <requires url="dotlrn" version="2.3.0"/> + <provides url="theme-zen" version="2.3.1"/> + <requires url="dotlrn" version="2.3.1"/> <callbacks> <callback type="after-install" proc="theme_zen::apm::after_install"/> @@ -28,6 +28,7 @@ <parameter datatype="string" min_n_values="1" max_n_values="1" name="CssUrl" default="/resources/theme-zen/css/color/blue.css" description="default css_url"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="dotLRNToZenMap" default="#new-portal.simple_1column_layout_name# #theme-zen.Zen_1_column# #new-portal.simple_2column_layout_name# #theme-zen.Zen_2_column# #new-portal.simple_3column_layout_name# #theme-zen.Zen_3_column#" description="list of old layout/new layout names used to update and existing .LRN site"/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="GenericCommunityTab" default="0" description="Use a generic name for the community tab"/> + <parameter datatype="string" min_n_values="1" max_n_values="1" name="logoImageAttributes" default="src /resources/theme-zen/images/global/dotLRN-logo.gif alt .LRN width 82 height 45" description="List of name value pairs for HTML attributes for the image tag of the logo"/> </parameters> </version> Index: openacs-4/packages/theme-zen/lib/lrn-master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/lib/lrn-master.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/theme-zen/lib/lrn-master.adp 15 May 2007 20:14:55 -0000 1.2 +++ openacs-4/packages/theme-zen/lib/lrn-master.adp 7 Oct 2007 22:37:05 -0000 1.3 @@ -16,7 +16,9 @@ <div id="skiptocontent"><a href="#content-wrapper" title="#theme-zen.skip_to_main_content#" accesskey="k">#theme-zen.skip_to_main_content#</a></div> <div id="header"> <div id="logo"> - <img src="/resources/theme-zen/images/global/dotLRN-logo.gif" alt=".LRN" width="82" height="45" /> + <if @img_attrib@ not nil> + <img @img_attrib;noquote@> + </if> </div> <div id="header-navigation"> <ul class="compact"> Index: openacs-4/packages/theme-zen/lib/lrn-master.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/lib/lrn-master.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/theme-zen/lib/lrn-master.tcl 7 Jun 2007 14:26:33 -0000 1.3 +++ openacs-4/packages/theme-zen/lib/lrn-master.tcl 7 Oct 2007 22:37:05 -0000 1.4 @@ -18,6 +18,14 @@ set system_url "" } +# Logo +array set attributes [parameter::get_from_package_key -package_key "theme-zen" -parameter logoImageAttributes] +set img_attrib "" +foreach name [array names attributes] { + append img_attrib " $name=\"$attributes($name)\"" +} + + # Get user information set sw_admin_p [acs_user::site_wide_admin_p -user_id $untrusted_user_id] if { $untrusted_user_id != 0 } { Index: openacs-4/packages/theme-zen/tcl/navigation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/tcl/navigation-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/theme-zen/tcl/navigation-procs.tcl 15 May 2007 20:14:56 -0000 1.2 +++ openacs-4/packages/theme-zen/tcl/navigation-procs.tcl 7 Oct 2007 22:37:05 -0000 1.3 @@ -30,60 +30,68 @@ namespace eval zen { ad_proc -public portal_navbar { - + } { - A helper procedure that generates the Navbar, ie the tabs, - for dotlrn. It is called from the zen-master template. + A helper procedure that generates the Navbar, ie the tabs, + for dotlrn. It is called from the zen-master template. } { - set current_url [ad_conn url] + set current_url [ad_conn url] set dotlrn_url [dotlrn::get_url] - # Set up some basic stuff - set community_id [dotlrn_community::get_community_id] + # Set up some basic stuff + set community_id [dotlrn_community::get_community_id] - # Get user information - set sw_admin_p 0 - set user_id [ad_conn user_id] - set untrusted_user_id [ad_conn untrusted_user_id] - if { $untrusted_user_id != 0 } { - set user_name [person::name -person_id $untrusted_user_id] - set pvt_home_url [ad_pvt_home] - set pvt_home_name [_ acs-subsite.Your_Account] - set logout_url [ad_get_logout_url] - - # Site-wide admin link - set admin_url {} - - set sw_admin_p [acs_user::site_wide_admin_p -user_id $untrusted_user_id] - - if { $sw_admin_p } { - set admin_url "/acs-admin/" - set locale_admin_url "/acs-lang/admin" - set dotlrn_admin_url "${dotlrn_url}/admin/" - } else { - set subsite_admin_p [permission::permission_p \ - -object_id [subsite::get_element -element object_id] \ - -privilege admin \ - -party_id $untrusted_user_id] - - if { $subsite_admin_p } { - set admin_url "[subsite::get_element -element url]admin/" - } - } - } else { - set login_url [ad_get_login_url -return] - set user_name {} - } - - set navbar "<ul>" + # Get user information + set sw_admin_p 0 + set dotlrn_admin_p 0 + set user_id [ad_conn user_id] + set untrusted_user_id [ad_conn untrusted_user_id] + if { $untrusted_user_id != 0 } { + set user_name [person::name -person_id $untrusted_user_id] + set pvt_home_url [ad_pvt_home] + set pvt_home_name [_ acs-subsite.Your_Account] + set logout_url [ad_get_logout_url] + + # Site-wide admin link + set admin_url {} + set dotlrn_admin_url "" + + set sw_admin_p [acs_user::site_wide_admin_p -user_id $untrusted_user_id] + set dotlrn_admin_p [permission::permission_p \ + -party_id $user_id \ + -object_id [dotlrn::get_package_id] \ + -privilege admin] + if { $dotlrn_admin_p } { + set dotlrn_admin_url "${dotlrn_url}/admin/" + } + + if { $sw_admin_p } { + set admin_url "/acs-admin/" + set locale_admin_url "/acs-lang/admin" + } else { + set subsite_admin_p [permission::permission_p \ + -object_id [subsite::get_element -element object_id] \ + -privilege admin \ + -party_id $untrusted_user_id] + + if { $subsite_admin_p } { + set admin_url "[subsite::get_element -element url]admin/" + } + } + } else { + set login_url [ad_get_login_url -return] + set user_name {} + } + + set navbar "<ul>" - set tabs_list [list] + set tabs_list [list] set which_tab_selected -1 set which_tab 0 set home_tab -1 - foreach {url name accesskey} [parameter::get_from_package_key -package_key "theme-zen" -parameter "AdditionalNavbarTabs" -default ""] { - lappend tabs_list [list $url $name $accesskey] + foreach {url name accesskey} [parameter::get_from_package_key -package_key "theme-zen" -parameter "AdditionalNavbarTabs" -default ""] { + lappend tabs_list [list $url $name $accesskey] if { $current_url == $url || $current_url == "$dotlrn_url/index" && $name eq "#dotlrn.Home#" } { set which_tab_selected $which_tab @@ -92,17 +100,17 @@ set home_tab $which_tab } incr which_tab - } + } - if { $sw_admin_p } { - lappend tabs_list [list $dotlrn_admin_url #dotlrn.Administration# #dotlrn.Administration_Accesskey#] + if { $dotlrn_admin_p } { + lappend tabs_list [list $dotlrn_admin_url #dotlrn.Administration# #dotlrn.Administration_Accesskey#] if { [string first $dotlrn_admin_url $current_url] != -1 } { set which_tab_selected $which_tab } incr which_tab - } + } - if { [exists_and_not_null community_id] } { + if { [exists_and_not_null community_id] } { set type [dotlrn_community::get_community_type_from_community_id $community_id] if { $type eq "dotlrn_community" || $type eq "dotlrn_pers_community" } { set community_message_key "#dotlrn.subcommunities_pretty_name#" @@ -115,16 +123,16 @@ set community_access_key #dotlrn.dotlrn_class_instance_access_key# } - if { ![parameter::get_from_package_key -package_key "theme-zen" -parameter "GenericCommunityTab" -default "0"] } { - # show title of the community instead of community type - # pretty name - set community_message_key [dotlrn_community::get_community_name $community_id] - } + if { ![parameter::get_from_package_key -package_key "theme-zen" -parameter "GenericCommunityTab" -default "0"] } { + # show title of the community instead of community type + # pretty name + set community_message_key [dotlrn_community::get_community_name $community_id] + } - lappend tabs_list [list [dotlrn_community::get_community_url $community_id] $community_message_key $community_access_key] + lappend tabs_list [list [dotlrn_community::get_community_url $community_id] $community_message_key $community_access_key] set which_tab_selected $which_tab incr which_tab - } + } # DRB: If we haven't found a tab to select, use the previous value if one # exists, otherwise don't select any tab. Don't write to the database for @@ -133,37 +141,37 @@ if { $which_tab_selected == -1 } { set which_tab_selected [ad_get_client_property dotlrn which_tab_selected] } else { - ad_set_client_property -persistent f dotlrn which_tab_selected $which_tab_selected + ad_set_client_property -persistent f dotlrn which_tab_selected $which_tab_selected } # DRB: Let the subnavbar proc know whether or not the home tab has been selected. - ad_set_client_property -persistent f dotlrn home_tab_selected_p \ + ad_set_client_property -persistent f dotlrn home_tab_selected_p \ [expr { $which_tab_selected == $home_tab }] - ns_log Debug "TABS" $tabs_list + ns_log Debug "TABS" $tabs_list # DRB: don't understand how the access keys were named in mark's template... set which_tab 0 - foreach tab_entry $tabs_list { + foreach tab_entry $tabs_list { foreach {url name accesskey} $tab_entry {} - if { $which_tab == $which_tab_selected } { - append navbar "\n<li id=\"main-navigation-active\"><a href=\"$url\" title=\"[_ theme-zen.goto_tab_name]\" accesskey=\"$accesskey\">[lang::util::localize $name]</a></li>" - } else { - append navbar "\n<li><a href=\"$url\" title=\"[_ theme-zen.goto_tab_name]\" accesskey=\"$accesskey\">[lang::util::localize $name]</a></li>" - } - incr which_tab - } - - append navbar "\n</ul>" + if { $which_tab == $which_tab_selected } { + append navbar "\n<li id=\"main-navigation-active\"><a href=\"$url\" title=\"[_ theme-zen.goto_tab_name]\" accesskey=\"$accesskey\">[lang::util::localize $name]</a></li>" + } else { + append navbar "\n<li><a href=\"$url\" title=\"[_ theme-zen.goto_tab_name]\" accesskey=\"$accesskey\">[lang::util::localize $name]</a></li>" + } + incr which_tab + } + + append navbar "\n</ul>" } ad_proc -public portal_subnavbar { {-user_id:required} {-control_panel_text:required} - {-link_all 0} + {-link_all 0} {-pre_html ""} {-post_html ""} } { @@ -175,7 +183,7 @@ set dotlrn_url [dotlrn::get_url] set community_id [dotlrn_community::get_community_id] set control_panel_name control-panel - set control_panel_url "$dotlrn_url/$control_panel_name" + set control_panel_url "$dotlrn_url/$control_panel_name" if { $community_id eq "" } { # We are not under a dotlrn community. However we could be @@ -184,7 +192,7 @@ set link "[dotlrn::get_url]/" if {[dotlrn::user_p -user_id $user_id] && - [ad_get_client_property dotlrn home_tab_selected_p] } { + [ad_get_client_property dotlrn home_tab_selected_p] } { # this user is a dotlrn user, we've selected the home tab, # show their personal portal subnavbar, including the control panel link set portal_id [dotlrn::get_portal_id -user_id $user_id] @@ -203,9 +211,9 @@ # some defaults set text [dotlrn_community::get_community_header_name $community_id] set control_panel_name one-community-admin - # link is important : it sets the options_set value, which will be used later to select the current page + # link is important : it sets the options_set value, which will be used later to select the current page set link [dotlrn_community::get_community_url $community_id] - set control_panel_url "$link/$control_panel_name" + set control_panel_url "$link/$control_panel_name" # figure out what this privs this user has on the community set admin_p [dotlrn::user_can_admin_community_p \ @@ -238,37 +246,37 @@ } #AG: This code belongs in the portal package, near portal::subnavbar. For display reasons we need to do this - #as a ul instead of a table, which portal::subnavbar returns. Obviously we shouldn't be letting display-level - #stuff decide where we put our code, but first we'll need to mod the portal package accordingly. + #as a ul instead of a table, which portal::subnavbar returns. Obviously we shouldn't be letting display-level + #stuff decide where we put our code, but first we'll need to mod the portal package accordingly. # DRB: the portal navbar stuff should return multirows which are then formatted by # the appropriate template, rather than include HTML as it does now. - if { [catch {set page_num [ad_get_client_property dotlrn page_num]}] || $page_num eq "" || ![string is integer $page_num] } { - set page_num [ns_queryget page_num] - #Strip out extra anchors and other crud. - #page_num will be empty_string for special pages like - #My Space and Control Panel - regsub -all {[^0-9]} $page_num {} page_num - } - - + if { [catch {set page_num [ad_get_client_property dotlrn page_num]}] || $page_num eq "" || ![string is integer $page_num] } { + set page_num [ns_queryget page_num] + #Strip out extra anchors and other crud. + #page_num will be empty_string for special pages like + #My Space and Control Panel + regsub -all {[^0-9]} $page_num {} page_num + } + + set subnavbar "" - db_foreach list_page_nums_select {} { - if {[string equal $page_num $sort_key]} { - append subnavbar "\n<li id=\"sub-navigation-active\"><a href=\"$link?page_num=$sort_key\" title=\"[_ theme-zen.goto_portal_page_pretty_name]\" accesskey=\"$accesskey\">$pretty_name</a> </li>" - } else { - append subnavbar "\n<li><a href=\"$link?page_num=$sort_key\" title=\"[_ theme-zen.goto_portal_page_pretty_name]\" accesskey=\"$accesskey\">$pretty_name</a> </li>" - } - } + db_foreach list_page_nums_select {} { + if {[string equal $page_num $sort_key]} { + append subnavbar "\n<li id=\"sub-navigation-active\"><a href=\"$link?page_num=$sort_key\" title=\"[_ theme-zen.goto_portal_page_pretty_name]\" accesskey=\"$accesskey\">$pretty_name</a> </li>" + } else { + append subnavbar "\n<li><a href=\"$link?page_num=$sort_key\" title=\"[_ theme-zen.goto_portal_page_pretty_name]\" accesskey=\"$accesskey\">$pretty_name</a> </li>" + } + } - if { $community_id ne "" && $admin_p } { - if {[string match "*/one-community-admin*" [ad_conn url]]} { - append subnavbar "\n<li id=\"sub-navigation-active\"><a href=\"${link}one-community-admin\" title=\"[_ theme-zen.goto_admin_page]\" accesskey=\"[_ theme-zen.goto_admin_page_accesskey]\">[_ theme-zen.admin]</a></li>" - } else { - append subnavbar "\n<li><a href=\"${link}one-community-admin\" title=\"[_ theme-zen.goto_admin_page]\" accesskey=\"[_ theme-zen.goto_admin_page_accesskey]\">[_ theme-zen.admin]</a></li>" - } - } + if { $community_id ne "" && $admin_p } { + if {[string match "*/one-community-admin*" [ad_conn url]]} { + append subnavbar "\n<li id=\"sub-navigation-active\"><a href=\"${link}one-community-admin\" title=\"[_ theme-zen.goto_admin_page]\" accesskey=\"[_ theme-zen.goto_admin_page_accesskey]\">[_ theme-zen.admin]</a></li>" + } else { + append subnavbar "\n<li><a href=\"${link}one-community-admin\" title=\"[_ theme-zen.goto_admin_page]\" accesskey=\"[_ theme-zen.goto_admin_page_accesskey]\">[_ theme-zen.admin]</a></li>" + } + } if { $subnavbar eq "" } { return "" Index: openacs-4/packages/theme-zen/www/admin/upgrade.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/theme-zen/www/admin/upgrade.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/theme-zen/www/admin/upgrade.tcl 15 May 2007 20:14:56 -0000 1.2 +++ openacs-4/packages/theme-zen/www/admin/upgrade.tcl 7 Oct 2007 22:37:05 -0000 1.3 @@ -41,6 +41,16 @@ -parameter DefaultMaster_p \ -value "/packages/theme-zen/lib/lrn-master" + parameter::set_default \ + -package_key dotlrn \ + -parameter non_member_layout_name \ + -value "#theme-zen.Zen_2_column#" + + parameter::set_default \ + -package_key dotlrn \ + -parameter admin_layout_name \ + -value "#theme-zen.Zen_2_column#" + # Poached from dotlrn's package instantiate callback. set site_template_id [db_string select_st_id {}] Index: openacs-4/packages/user-profile/user-profile.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/user-profile/user-profile.info,v diff -u -r1.11 -r1.12 --- openacs-4/packages/user-profile/user-profile.info 15 May 2007 20:15:01 -0000 1.11 +++ openacs-4/packages/user-profile/user-profile.info 7 Oct 2007 22:37:05 -0000 1.12 @@ -7,13 +7,13 @@ <initial-install-p>f</initial-install-p> <singleton-p>t</singleton-p> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/user-profile-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/user-profile-2.3.1.apm"> <owner url="http://openacs.org">OpenACS</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://openacs.org">OpenACS</vendor> - <provides url="user-profile" version="2.3.0"/> - <requires url="profile-provider" version="2.3.0"/> + <provides url="user-profile" version="2.3.1"/> + <requires url="profile-provider" version="2.3.1"/> <parameters> <!-- No version parameters --> Index: openacs-4/packages/weblogger-portlet/weblogger-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/weblogger-portlet.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/weblogger-portlet/weblogger-portlet.info 15 May 2007 20:15:01 -0000 1.8 +++ openacs-4/packages/weblogger-portlet/weblogger-portlet.info 7 Oct 2007 22:37:05 -0000 1.9 @@ -8,14 +8,14 @@ <singleton-p>t</singleton-p> <auto-mount>weblogger-portlet</auto-mount> - <version name="2.3.0" url="http://openacs.org/repository/download/apm/weblogger-portlet-2.3.0.apm"> + <version name="2.3.1" url="http://openacs.org/repository/download/apm/weblogger-portlet-2.3.1.apm"> <owner url="mailto:simon@bcuni.net">Simon Carstensen</owner> - <release-date>2007-04-22</release-date> + <release-date>2007-09-08</release-date> <vendor url="http://www.collaboraid.biz">Collaboraid</vendor> - <provides url="weblogger-portlet" version="2.3.0"/> - <requires url="lars-blogger" version="2.3.0"/> - <requires url="new-portal" version="2.3.0"/> + <provides url="weblogger-portlet" version="2.3.1"/> + <requires url="lars-blogger" version="2.3.1"/> + <requires url="new-portal" version="2.3.1"/> <callbacks> <callback type="after-install" proc="weblogger_portlet::after_install"/>