Author: jmorliaguet Date: Mon May 15 21:10:28 2006 New Revision: 3138 Modified: cpsskins/branches/paris-sprint-2006/setup/README.txt cpsskins/branches/paris-sprint-2006/setup/manager.py
Log: - we register global settings in the settings folder of the global theme management folder. Modified: cpsskins/branches/paris-sprint-2006/setup/README.txt ============================================================================== --- cpsskins/branches/paris-sprint-2006/setup/README.txt (original) +++ cpsskins/branches/paris-sprint-2006/setup/README.txt Mon May 15 21:10:28 2006 @@ -88,6 +88,7 @@ >>> resources.register(name=u'setting1', title=u'Setting 1', ... resource=resource1) + <Setting: cpsskins://[EMAIL PROTECTED]> we can look up the setting: @@ -109,6 +110,7 @@ >>> resources.register(name=u'setting2', title=u'Setting 2', ... resource=resource2) + <Setting: cpsskins://[EMAIL PROTECTED]> and look it up in the registry: @@ -130,6 +132,7 @@ >>> resources.register(name=u'setting3', title=u'Setting 3', ... resource=resource3, context=root) + <Setting: cpsskins://[EMAIL PROTECTED]> We now have a local resource in the context of the root folder: @@ -510,6 +513,7 @@ >>> style = Style() >>> resources.register(name=u'style1', title=u'Style 1', resource=style) + <Setting: cpsskins://[EMAIL PROTECTED]> >>> setting = resources.lookup(u'style1') >>> print toXML(setting, u'settings') @@ -744,6 +748,7 @@ #ff0000 >>> resources.register(name=u'red', title=u'Color red', resource=color) + <Setting: cpsskins://[EMAIL PROTECTED]> >>> IType(color).getTypeName() u'field-color' Modified: cpsskins/branches/paris-sprint-2006/setup/manager.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/setup/manager.py (original) +++ cpsskins/branches/paris-sprint-2006/setup/manager.py Mon May 15 21:10:28 2006 @@ -46,16 +46,16 @@ custom=False, context=None): """Register the setting as a utility. """ + settings = getThemeManager(context).getSettings() # register as a global utility if context is None: setting = GlobalSetting(name=name, title=title, resource=resource, filename=filename) uri = IIdentifiable(setting).getURI() - self.gsm.registerUtility(setting, ISetting, uri) + settings.registerUtility(setting, ISetting, uri) # register as a local utility else: - settings = getThemeManager(context).getSettings() chooser = INameChooser(settings) name = name or chooser.chooseName(title, context) setting = LocalSetting(name=name, title=title, resource=resource) @@ -90,12 +90,12 @@ setting = None - if context is not None: - settings = getThemeManager(context).getSettings() - setting = settings.queryUtility(ISetting, uri) + settings = getThemeManager(context).getSettings() + setting = settings.queryUtility(ISetting, uri) - if context is None or setting is None: - setting = self.gsm.queryUtility(ISetting, uri) + if setting is None and context is not None: + global_settings = getThemeManager().getSettings() + setting = global_settings.queryUtility(ISetting, uri) if setting is None: return default @@ -103,7 +103,8 @@ return setting def list(self, type=None, context=None): - entries = list(self.gsm.getUtilitiesFor(ISetting)) + global_settings = getThemeManager().getSettings() + entries = list(global_settings.getUtilitiesFor(ISetting)) if context is not None: settings = getThemeManager(context).getSettings() entries.extend(list(settings.getUtilitiesFor(ISetting))) @@ -159,7 +160,8 @@ ### Customization ################################################ def isGlobal(self, uri=u''): - setting = self.gsm.queryUtility(ISetting, uri) + global_settings = getThemeManager().getSettings() + setting = global_settings.queryUtility(ISetting, uri) if setting is None: raise ValueError("No such setting: '%s'." % uri) return IGlobalSetting.providedBy(setting) @@ -183,7 +185,8 @@ if context is None: raise ValueError("Must specify a context.") - setting = self.gsm.queryUtility(ISetting, uri) + global_settings = getThemeManager().getSettings() + setting = global_settings.queryUtility(ISetting, uri) if setting is None: raise ValueError("No such setting: '%s'." % uri) @@ -203,7 +206,8 @@ if context is None: raise ValueError("Must specify a context.") - if self.gsm.queryUtility(ISetting, uri) is None: + global_settings = getThemeManager().getSettings() + if global_settings.queryUtility(ISetting, uri) is None: raise ValueError("No such customized setting.") self.unregister(uri, context) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins