Revert "move SiteText.{head,bottom} to SiteCustomization and remove redundant SiteText.top"

This reverts commit 6ee2849df6.
This commit is contained in:
Robin Ward 2015-01-12 20:18:52 -05:00
parent 962eb78104
commit f3b72f5d96
14 changed files with 43 additions and 63 deletions

View File

@ -7,12 +7,7 @@
@module Discourse
**/
Discourse.SiteCustomization = Discourse.Model.extend({
trackedProperties: [
'enabled', 'name',
'stylesheet', 'header', 'footer',
'mobile_stylesheet', 'mobile_header', 'mobile_footer',
'head_tag', 'body_tag'
],
trackedProperties: ['enabled', 'name', 'stylesheet', 'header', 'footer', 'mobile_stylesheet', 'mobile_header', 'mobile_footer'],
description: function() {
return "" + this.name + (this.enabled ? ' (*)' : '');
@ -30,10 +25,8 @@ Discourse.SiteCustomization = Discourse.Model.extend({
if (changed) { this.set('savingStatus', ''); }
return changed;
}.property('enabled', 'name', 'originals',
'stylesheet', 'header', 'footer',
'mobile_stylesheet', 'mobile_header', 'mobile_footer',
'head_tag', 'body_tag'),
}.property('enabled', 'name', 'stylesheet', 'header', 'footer', 'mobile_stylesheet', 'mobile_header', 'mobile_footer', 'originals'),
startTrackingChanges: function() {
var self = this;
@ -50,7 +43,6 @@ Discourse.SiteCustomization = Discourse.Model.extend({
save: function() {
this.set('savingStatus', I18n.t('saving'));
this.set('saving',true);
var data = {
name: this.name,
enabled: this.enabled,
@ -59,9 +51,7 @@ Discourse.SiteCustomization = Discourse.Model.extend({
footer: this.footer,
mobile_stylesheet: this.mobile_stylesheet,
mobile_header: this.mobile_header,
mobile_footer: this.mobile_footer,
head_tag: this.head_tag,
body_tag: this.body_tag
mobile_footer: this.mobile_footer
};
var siteCustomization = this;

View File

@ -20,8 +20,6 @@
<li><a {{bind-attr class="view.stylesheetActive:active"}} {{action "selectStylesheet" target="view"}}>{{i18n 'admin.customize.css'}}</a></li>
<li><a {{bind-attr class="view.headerActive:active"}} {{action "selectHeader" target="view"}}>{{i18n 'admin.customize.header'}}</a></li>
<li><a {{bind-attr class="view.footerActive:active"}} {{action "selectFooter" target="view"}}>{{i18n 'admin.customize.footer'}}</a></li>
<li><a {{bind-attr class="view.headTagActive:active"}} {{action "selectHeadTag" target="view"}} title="{{i18n 'admin.customize.head_tag.title'}}">{{fa-icon "file-text-o"}}&nbsp;{{i18n 'admin.customize.head_tag.text'}}</a></li>
<li><a {{bind-attr class="view.bodyTagActive:active"}} {{action "selectBodyTag" target="view"}} title="{{i18n 'admin.customize.body_tag.title'}}">{{fa-icon "file-text-o"}}&nbsp;{{i18n 'admin.customize.body_tag.text'}}</a></li>
<li><a {{bind-attr class="view.mobileStylesheetActive:active"}} {{action "selectMobileStylesheet" target="view"}}>{{fa-icon "mobile"}}&nbsp;{{i18n 'admin.customize.css'}}</a></li>
<li><a {{bind-attr class="view.mobileHeaderActive:active"}} {{action "selectMobileHeader" target="view"}}>{{fa-icon "mobile"}}&nbsp;{{i18n 'admin.customize.header'}}</a></li>
<li><a {{bind-attr class="view.mobileFooterActive:active"}} {{action "selectMobileFooter" target="view"}}>{{fa-icon "mobile"}}&nbsp;{{i18n 'admin.customize.footer'}}</a></li>
@ -39,8 +37,6 @@
{{#if view.stylesheetActive}}{{aceEditor content=selectedItem.stylesheet mode="scss"}}{{/if}}
{{#if view.headerActive}}{{aceEditor content=selectedItem.header mode="html"}}{{/if}}
{{#if view.footerActive}}{{aceEditor content=selectedItem.footer mode="html"}}{{/if}}
{{#if view.headTagActive}}{{aceEditor content=selectedItem.head_tag mode="html"}}{{/if}}
{{#if view.bodyTagActive}}{{aceEditor content=selectedItem.body_tag mode="html"}}{{/if}}
{{#if view.mobileStylesheetActive}}{{aceEditor content=selectedItem.mobile_stylesheet mode="scss"}}{{/if}}
{{#if view.mobileHeaderActive}}{{aceEditor content=selectedItem.mobile_header mode="html"}}{{/if}}
{{#if view.mobileFooterActive}}{{aceEditor content=selectedItem.mobile_footer mode="html"}}{{/if}}

View File

@ -15,8 +15,6 @@ Discourse.AdminCustomizeView = Discourse.View.extend({
headerActive: Em.computed.equal('selected', 'header'),
footerActive: Em.computed.equal('selected', 'footer'),
headTagActive: Em.computed.equal('selected', 'head_tag'),
bodyTagActive: Em.computed.equal('selected', 'body_tag'),
stylesheetActive: Em.computed.equal('selected', 'stylesheet'),
mobileHeaderActive: Em.computed.equal('selected', 'mobileHeader'),
mobileFooterActive: Em.computed.equal('selected', 'mobileFooter'),
@ -25,13 +23,10 @@ Discourse.AdminCustomizeView = Discourse.View.extend({
actions: {
selectHeader: function() { this.set('selected', 'header'); },
selectFooter: function() { this.set('selected', 'footer'); },
selectHeadTag: function() { this.set('selected', 'head_tag'); },
selectBodyTag: function() { this.set('selected', 'body_tag'); },
selectStylesheet: function() { this.set('selected', 'stylesheet'); },
selectMobileHeader: function() { this.set('selected', 'mobileHeader'); },
selectMobileFooter: function() { this.set('selected', 'mobileFooter'); },
selectMobileStylesheet: function() { this.set('selected', 'mobileStylesheet'); },
toggleMaximize: function() {
this.set("maximized", !this.get("maximized"));
@ -44,16 +39,16 @@ Discourse.AdminCustomizeView = Discourse.View.extend({
},
},
_init: function() {
didInsertElement: function() {
var controller = this.get('controller');
Mousetrap.bindGlobal('mod+s', function() {
controller.send("save");
return false;
});
}.on("didInsertElement"),
},
_cleanUp: function() {
willDestroyElement: function() {
Mousetrap.unbindGlobal('mod+s');
}.on("willDestroyElement")
}
});

View File

@ -1,4 +1,5 @@
<div class='container'>
{{custom-html "top"}}
{{global-notice}}
{{discourse-banner user=currentUser banner=site.banner}}
</div>

View File

@ -1,4 +1,5 @@
<div class='container'>
{{custom-html "top"}}
{{global-notice}}
{{discourse-banner user=currentUser banner=site.banner overlay=view.hasScrolled hide=errorLoading}}
</div>

View File

@ -1,4 +1,5 @@
<div class='container'>
{{custom-html "top"}}
{{global-notice}}
</div>

View File

@ -54,7 +54,6 @@ class Admin::SiteCustomizationsController < Admin::AdminController
params.require(:site_customization)
.permit(:name, :stylesheet, :header, :footer,
:mobile_stylesheet, :mobile_header, :mobile_footer,
:head_tag, :body_tag,
:position, :enabled, :key,
:stylesheet_baked)
end

View File

@ -274,7 +274,10 @@ class ApplicationController < ActionController::Base
end
def custom_html_json
data = { footer: SiteCustomization.custom_footer(session[:preview_style]) }
data = {
top: SiteText.text_for(:top),
footer: SiteCustomization.custom_footer(session[:preview_style])
}
if DiscoursePluginRegistry.custom_html
data.merge! DiscoursePluginRegistry.custom_html

View File

@ -77,11 +77,14 @@ class SiteCustomization < ActiveRecord::Base
end
end
%i{header footer head_tag body_tag}.each do |name|
define_singleton_method("custom_#{name}") do |preview_style=nil, target=:desktop|
preview_style ||= ENABLED_KEY
lookup_field(preview_style, target, name)
end
def self.custom_header(preview_style=nil, target=:desktop)
preview_style ||= ENABLED_KEY
lookup_field(preview_style, target, :header)
end
def self.custom_footer(preview_style=nil, target=:dekstop)
preview_style ||= ENABLED_KEY
lookup_field(preview_style,target,:footer)
end
def self.lookup_field(key, target, field)
@ -92,18 +95,20 @@ class SiteCustomization < ActiveRecord::Base
lookup = @cache[cache_key]
return lookup.html_safe if lookup
styles = if key == ENABLED_KEY
order(:name).where(enabled:true).to_a
else
[find_by(key: key)].compact
end
styles =
if key == ENABLED_KEY
order(:name).where(enabled:true).to_a
else
[find_by(key: key)].compact
end
val = if styles.present?
styles.map do |style|
lookup = target == :mobile ? "mobile_#{field}" : field
style.send(lookup)
end.compact.join("\n")
end
val =
if styles.present?
styles.map do |style|
lookup = target == :mobile ? "mobile_#{field}" : field
style.send(lookup)
end.compact.join("\n")
end
(@cache[cache_key] = val || "").html_safe
end

View File

@ -25,6 +25,9 @@ class SiteText < ActiveRecord::Base
add_text_type :education_new_topic, default_18n_key: 'education.new-topic'
add_text_type :education_new_reply, default_18n_key: 'education.new-reply'
add_text_type :login_required_welcome_message, default_18n_key: 'login_required.welcome_message'
add_text_type :top, allow_blank: true, format: :html
add_text_type :bottom, allow_blank: true, format: :html
add_text_type :head, allow_blank: true, format: :html
def site_text_type
@site_text_type ||= SiteText.find_text_type(text_type)

View File

@ -22,9 +22,7 @@
<%= script "admin"%>
<%- end %>
<%- unless customization_disabled? %>
<%= raw SiteCustomization.custom_head_tag(session[:preview_style]) %>
<%- end %>
<%= raw SiteText.text_for(:head) %>
<%= render_google_universal_analytics_code %>
@ -89,8 +87,6 @@
<%= render_google_analytics_code %>
<%- unless customization_disabled? %>
<%= raw SiteCustomization.custom_body_tag(session[:preview_style]) %>
<%- end %>
<%= raw SiteText.text_for(:bottom) %>
</body>
</html>

View File

@ -5,9 +5,7 @@
<title><%= content_for?(:title) ? yield(:title) + ' - ' + SiteSetting.title : SiteSetting.title %></title>
<meta name="description" content="<%= @description_meta || SiteSetting.site_description %>">
<%= render partial: "layouts/head" %>
<%- unless customization_disabled? %>
<%= raw SiteCustomization.custom_head_tag(session[:preview_style]) %>
<%- end %>
<%= raw SiteText.text_for(:head) %>
<%= yield :head %>
</head>
<body>

View File

@ -5,9 +5,7 @@
<title><%=SiteSetting.title%></title>
<meta name="description" content="">
<%= render partial: "layouts/head" %>
<%- unless customization_disabled? %>
<%= raw SiteCustomization.custom_head_tag(session[:preview_style]) %>
<%- end %>
<%= raw SiteText.text_for(:head) %>
<%= yield(:no_js_head) %>
</head>
<body>

View File

@ -1716,12 +1716,6 @@ en:
css: "CSS"
header: "Header"
footer: "Footer"
head_tag:
text: "</head>"
title: "HTML that will be inserted before the </head> tag"
body_tag:
text: "</body>"
title: "HTML that will be inserted before the </body> tag"
override_default: "Do not include standard style sheet"
enabled: "Enabled?"
preview: "preview"