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.191.2.24 -r1.191.2.25 --- openacs-4/packages/dotlrn/tcl/community-procs.tcl 4 Mar 2006 19:56:47 -0000 1.191.2.24 +++ openacs-4/packages/dotlrn/tcl/community-procs.tcl 7 Mar 2006 05:39:34 -0000 1.191.2.25 @@ -2377,7 +2377,7 @@ set dotlrn_package_id [dotlrn::get_package_id] set comm_site_template_id [db_string select_site_template_id {} -default "0"] if {[parameter::get -package_id $dotlrn_package_id -parameter AdminChangeSiteTemplate_p]} { - set site_template_id $comm_site_template_id + set site_template_id $comm_site_template_id } else { set site_template_id [parameter::get -package_id $dotlrn_package_id -parameter CommDefaultSiteTemplate_p] if {$site_template_id != $comm_site_template_id} { @@ -2386,6 +2386,20 @@ } return $site_template_id } + + ad_proc -public assign_default_sitetemplate { + {-site_template_id:required} + } { + } { + + # We need to update the portal theme before the first hit! + set new_theme_id [db_string select_portal_theme {}] + db_dml update_portal_themes {} + db_dml update_portal_admin_themes {} + + util_memoize_flush_regexp "dotlrn_community::get_site_template_id_not_cached *" + } + } Index: openacs-4/packages/dotlrn/tcl/community-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/community-procs.xql,v diff -u -r1.87.2.2 -r1.87.2.3 --- openacs-4/packages/dotlrn/tcl/community-procs.xql 13 Dec 2005 15:32:35 -0000 1.87.2.2 +++ openacs-4/packages/dotlrn/tcl/community-procs.xql 7 Mar 2006 05:39:34 -0000 1.87.2.3 @@ -625,6 +625,15 @@ + + + select portal_theme_id + from dotlrn_site_templates + where site_template_id = :site_template_id + + + + update portals @@ -633,6 +642,23 @@ + + + update portals + set theme_id = :new_theme_id + where portal_id in (select portal_id from dotlrn_communities_all ) + + + + + + update portals + set theme_id = :new_theme_id + where portal_id in (select admin_portal_id from dotlrn_communities_all ) + + + + select site_template_id Index: openacs-4/packages/dotlrn/tcl/dotlrn-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/dotlrn-procs.tcl,v diff -u -r1.74.8.5 -r1.74.8.6 --- openacs-4/packages/dotlrn/tcl/dotlrn-procs.tcl 13 Dec 2005 17:04:07 -0000 1.74.8.5 +++ openacs-4/packages/dotlrn/tcl/dotlrn-procs.tcl 7 Mar 2006 05:39:34 -0000 1.74.8.6 @@ -474,5 +474,17 @@ -default [parameter::get -package_id [dotlrn::get_package_id] \ -parameter DefaultMaster_p]] } + + ad_proc -public assign_default_sitetemplate { + {-site_template_id:required} + } { + } { + + # We need to update the portal theme before the first hit! + set new_theme_id [db_string select_portal_theme {}] + db_dml update_portal_themes {update } + util_memoize_flush_regexp "dotlrn::get_site_template_id_not_cached *" + } + } Index: openacs-4/packages/dotlrn/tcl/dotlrn-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/dotlrn-procs.xql,v diff -u -r1.17.8.3 -r1.17.8.4 --- openacs-4/packages/dotlrn/tcl/dotlrn-procs.xql 13 Dec 2005 15:32:35 -0000 1.17.8.3 +++ openacs-4/packages/dotlrn/tcl/dotlrn-procs.xql 7 Mar 2006 05:39:34 -0000 1.17.8.4 @@ -73,6 +73,22 @@ + + + select portal_theme_id + from dotlrn_site_templates + where site_template_id = :site_template_id + + + + + + update portals + set theme_id = :new_theme_id + where portal_id in ( select portal_id from dotlrn_users ) + + + update portals Index: openacs-4/packages/dotlrn/www/change-site-template.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/change-site-template.tcl,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/dotlrn/www/change-site-template.tcl 13 Dec 2005 15:32:35 -0000 1.1.2.1 +++ openacs-4/packages/dotlrn/www/change-site-template.tcl 7 Mar 2006 05:39:35 -0000 1.1.2.2 @@ -57,6 +57,6 @@ ad_returnredirect $referer ad_script_abort } else { - template::form::set_error site_templates site_templates "Debe seleccionar un Template!!" + template::form::set_error site_templates site_templates "You must select a Site Template!!" } } \ No newline at end of file Index: openacs-4/packages/dotlrn/www/admin/admin-params-site-templates.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/admin-params-site-templates.tcl,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/dotlrn/www/admin/admin-params-site-templates.tcl 14 Dec 2005 17:32:46 -0000 1.1.2.3 +++ openacs-4/packages/dotlrn/www/admin/admin-params-site-templates.tcl 7 Mar 2006 05:39:35 -0000 1.1.2.4 @@ -24,38 +24,49 @@ set template_options [db_list_of_lists select_templates {select pretty_name, site_template_id from dotlrn_site_templates}] set template_options [lang::util::localize_list_of_lists -list $template_options] -set user_change_p_old [parameter::get -package_id $dotlrn_package_id -parameter UserChangeSiteTemplate_p] -set user_default_p_old [parameter::get -package_id $dotlrn_package_id -parameter UserDefaultSiteTemplate_p] -set comm_change_p_old [parameter::get -package_id $dotlrn_package_id -parameter AdminChangeSiteTemplate_p] -set comm_default_p_old [parameter::get -package_id $dotlrn_package_id -parameter CommDefaultSiteTemplate_p] - -ad_form -cancel_url $return_url -export { dotlrn_package_id return_url user_change_p_old user_default_p_old comm_change_p_old comm_default_p_old} -name admin-params -form { +ad_form -cancel_url $return_url -export { dotlrn_package_id return_url } -name admin-params -form { {user_change_p:text(radio) {label "[_ dotlrn.Site_Template_Userchange]"} {options { {"[_ dotlrn.Yes]" 1 } { "[_ dotlrn.No]" 0} } } - {value $user_change_p_old} } - {user_default_p:text(select) + {user_default_sitetemplate:text(select) {label "[_ dotlrn.Site_Template_Userdefault]"} {options $template_options} - {value $user_default_p_old} } {comm_change_p:text(radio) {label "[_ dotlrn.Site_Template_Commchange]"} {options { {"[_ dotlrn.Yes]" 1 } { "[_ dotlrn.No]" 0} } } - {value $comm_change_p_old} } - {comm_default_p:text(select) + {comm_default_sitetemplate:text(select) {label "[_ dotlrn.Site_Template_Commdefault]"} {options $template_options} - {value $comm_default_p_old} } - {none_default_p:text(text) + {none_default_sitetemplate:text(text) {label "[_ dotlrn.Site_Template_Nonedefault]"} - {value "[parameter::get -package_id $dotlrn_package_id -parameter DefaultMaster_p]"} {html {size 50}} } +} -on_request { + + set user_change_p [parameter::get -package_id $dotlrn_package_id -parameter UserChangeSiteTemplate_p] + set user_default_sitetemplate [parameter::get -package_id $dotlrn_package_id -parameter UserDefaultSiteTemplate_p] + set comm_change_p [parameter::get -package_id $dotlrn_package_id -parameter AdminChangeSiteTemplate_p] + set comm_default_sitetemplate [parameter::get -package_id $dotlrn_package_id -parameter CommDefaultSiteTemplate_p] + set none_default_sitetemplate [parameter::get -package_id $dotlrn_package_id -parameter DefaultMaster_p] + } -on_submit { + + set user_change_p_old [parameter::get -package_id $dotlrn_package_id -parameter UserChangeSiteTemplate_p] + set comm_change_p_old [parameter::get -package_id $dotlrn_package_id -parameter AdminChangeSiteTemplate_p] + + if { (!$user_change_p && $user_change_p_old) || (!$user_change_p && $user_default_sitetemplate != [parameter::get -package_id $dotlrn_package_id -parameter UserDefaultSiteTemplate_p]) } { + ns_log Warning "Flush for users" + dotlrn::assign_default_sitetemplate -site_template_id $user_default_sitetemplate + } + + if { (!$comm_change_p && $comm_change_p_old) || (!$comm_change_p && $comm_default_sitetemplate != [parameter::get -package_id $dotlrn_package_id -parameter CommDefaultSiteTemplate_p]) } { + dotlrn_community::assign_default_sitetemplate -site_template_id $comm_default_sitetemplate + } + parameter::set_value -package_id $dotlrn_package_id \ -parameter "UserChangeSiteTemplate_p" \ -value $user_change_p @@ -64,23 +75,17 @@ -parameter "AdminChangeSiteTemplate_p" \ -value $comm_change_p - if {$user_default_p != $user_default_p_old} { - parameter::set_value -package_id $dotlrn_package_id \ - -parameter "UserDefaultSiteTemplate_p" \ - -value $user_default_p - util_memoize_flush_regexp "get_site_template_id_not_cached *" - } + parameter::set_value -package_id $dotlrn_package_id \ + -parameter "UserDefaultSiteTemplate_p" \ + -value $user_default_sitetemplate - if {$comm_default_p != $comm_default_p_old} { - parameter::set_value -package_id $dotlrn_package_id \ - -parameter "CommDefaultSiteTemplate_p" \ - -value $comm_default_p - util_memoize_flush_regexp "get_site_template_id_not_cached *" - } + parameter::set_value -package_id $dotlrn_package_id \ + -parameter "CommDefaultSiteTemplate_p" \ + -value $comm_default_sitetemplate parameter::set_value -package_id $dotlrn_package_id \ -parameter "DefaultMaster_p" \ - -value $none_default_p + -value $none_default_sitetemplate } -after_submit { ad_returnredirect $return_url