Skip to content

Commit

Permalink
Fix failing lookup for ILinkSchema, rename base settings variable
Browse files Browse the repository at this point in the history
  • Loading branch information
esteele authored and pbauer committed Sep 19, 2015
1 parent 3cef6af commit 3045b46
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 31 deletions.
14 changes: 7 additions & 7 deletions src/plone/app/theming/browser/controlpanel.pt
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@

<div
class="field"
tal:define="selected python:request.get('themeEnabled', view.settings.enabled)">
tal:define="selected python:request.get('themeEnabled', view.theme_settings.enabled)">

<input type="hidden" value="" name="themeEnabled:boolean:default" />
<input type="checkbox" value="1" name="themeEnabled:boolean" id="themeEnabled"
Expand All @@ -368,7 +368,7 @@

<div
tal:define="error errors/rules | nothing;
rules python:request.get('rules', view.settings.rules)"
rules python:request.get('rules', view.theme_settings.rules)"
tal:attributes="class python:'field error' if error else 'field'">

<label for="rules" i18n:translate="label_rules">Rules file</label>
Expand All @@ -390,7 +390,7 @@

<div
tal:define="error errors/absolutePrefix | nothing;
absolutePrefix python:request.get('absolutePrefix', view.settings.absolutePrefix)"
absolutePrefix python:request.get('absolutePrefix', view.theme_settings.absolutePrefix)"
tal:attributes="class python:'field error' if error else 'field'">

<label for="absolutePrefix" i18n:translate="label_absolute_prefix">Absolute path prefix</label>
Expand All @@ -415,7 +415,7 @@

<div
tal:define="error errors/doctype | nothing;
doctype python:request.get('doctype', view.settings.doctype)"
doctype python:request.get('doctype', view.theme_settings.doctype)"
tal:attributes="class python:'field error' if error else 'field'">

<label for="doctype" i18n:translate="label_doctype">Doctype</label>
Expand All @@ -440,7 +440,7 @@

<div
class="field"
tal:define="selected python:request.get('readNetwork', view.settings.readNetwork)">
tal:define="selected python:request.get('readNetwork', view.theme_settings.readNetwork)">

<input type="hidden" value="" name="readNetwork:boolean:default" />
<input type="checkbox" value="1" name="readNetwork:boolean" id="readNetwork"
Expand All @@ -455,7 +455,7 @@

<div
tal:define="error errors/hostnameBlacklist | nothing;
hostnameBlacklist view/settings/hostnameBlacklist | python:[];
hostnameBlacklist view/theme_settings/hostnameBlacklist | python:[];
hostnameBlacklist python:request.get('hostnameBlacklist', hostnameBlacklist)"
tal:attributes="class python:'field error' if error else 'field'">

Expand Down Expand Up @@ -484,7 +484,7 @@

<div
tal:define="error errors/parameterExpressions | nothing;
parameterExpressions python:view.settings.parameterExpressions or {};
parameterExpressions python:view.theme_settings.parameterExpressions or {};
parameterExpressions python:['%s = %s' % (k,v) for k,v in parameterExpressions.items()];
parameterExpressions python:request.get('parameterExpressions', parameterExpressions)"
tal:attributes="class python:'field error' if error else 'field'">
Expand Down
46 changes: 22 additions & 24 deletions src/plone/app/theming/browser/controlpanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,22 @@ class ThemingControlpanel(BrowserView):

def __call__(self):
self.pskin = getToolByName(self.context, 'portal_skins')
registry = getUtility(IRegistry)
self.settings = registry.forInterface(
ILinkSchema, prefix="plone", check=False)

if self.update():
return self.index()
return ''

def _setup(self):
self.settings = getUtility(IRegistry).forInterface(
IThemeSettings,
False
)
registry = getUtility(IRegistry)
self.theme_settings = registry.forInterface(IThemeSettings, False)
self.link_settings = registry.forInterface(ILinkSchema,
prefix="plone",
check=False)
self.zodbThemes = getZODBThemes()
self.availableThemes = getAvailableThemes()
self.selectedTheme = self.getSelectedTheme(
self.availableThemes,
self.settings.rules
self.theme_settings.rules
)
self.overlay = ''

Expand All @@ -77,19 +75,19 @@ def redirect(self, url):
self.request.response.redirect(url)

def get_mark_special_links(self):
return self.settings.mark_special_links
return self.link_settings.mark_special_links

def set_mark_special_links(self, value):
self.settings.mark_special_links = value
self.link_settings.mark_special_links = value

mark_special_links = property(get_mark_special_links,
set_mark_special_links)

def get_ext_links_open_new_window(self):
return self.settings.external_links_open_new_window
return self.link_settings.external_links_open_new_window

def set_ext_links_open_new_window(self, value):
self.settings.external_links_open_new_window = value
self.link_settings.external_links_open_new_window = value

ext_links_open_new_window = property(get_ext_links_open_new_window,
set_ext_links_open_new_window)
Expand Down Expand Up @@ -120,7 +118,7 @@ def update(self):
themeSelection
)
applyTheme(themeData)
self.settings.enabled = True
self.theme_settings.enabled = True

IStatusMessage(
self.request
Expand All @@ -143,7 +141,7 @@ def update(self):
self.authorize()

applyTheme(None)
self.settings.enabled = False
self.theme_settings.enabled = False

IStatusMessage(self.request).add(_(u"Theme disabled."))
self._setup()
Expand All @@ -152,7 +150,7 @@ def update(self):
if 'form.button.AdvancedSave' in form:
self.authorize()

self.settings.readNetwork = form.get('readNetwork', False)
self.theme_settings.readNetwork = form.get('readNetwork', False)

themeEnabled = form.get('themeEnabled', False)
rules = form.get('rules', None)
Expand Down Expand Up @@ -185,15 +183,15 @@ def update(self):
if not self.errors:
# Trigger onDisabled() on plugins if theme was active
# previously and rules were changed
if self.settings.rules != rules:
if self.theme_settings.rules != rules:
applyTheme(None)

self.settings.enabled = themeEnabled
self.settings.rules = rules
self.settings.absolutePrefix = prefix
self.settings.parameterExpressions = parameterExpressions
self.settings.hostnameBlacklist = hostnameBlacklist
self.settings.doctype = doctype
self.theme_settings.enabled = themeEnabled
self.theme_settings.rules = rules
self.theme_settings.absolutePrefix = prefix
self.theme_settings.parameterExpressions = parameterExpressions
self.theme_settings.hostnameBlacklist = hostnameBlacklist
self.theme_settings.doctype = doctype

# Theme base settings
if themeBase is not None:
Expand Down Expand Up @@ -308,7 +306,7 @@ def update(self):

if enableNewTheme:
applyTheme(themeData)
self.settings.enabled = True
self.theme_settings.enabled = True

if not self.errors:
portalUrl = getToolByName(self.context, 'portal_url')()
Expand Down Expand Up @@ -365,7 +363,7 @@ def update(self):
if enableImmediately:
themeData = self.getThemeData(self.availableThemes, name)
applyTheme(themeData)
self.settings.enabled = True
self.theme_settings.enabled = True

portalUrl = getToolByName(self.context, 'portal_url')()
self.redirect(
Expand Down

0 comments on commit 3045b46

Please sign in to comment.