Author: jmorliaguet Date: Tue May 23 20:05:17 2006 New Revision: 3197 Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py cpsskins/branches/paris-sprint-2006/ui/authoring/authoring.js cpsskins/branches/paris-sprint-2006/ui/editing/views.py cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt cpsskins/branches/paris-sprint-2006/ui/panels/settings.pt cpsskins/branches/paris-sprint-2006/ui/panels/settings_section.pt cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/site_manager.css cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py
Log: - updated the UI to redirect the user to the settings panel when creating a setting from a given format. Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py Tue May 23 20:05:17 2006 @@ -22,6 +22,7 @@ from zope.app.session.interfaces import ISession from zope.component import getUtility, getUtilitiesFor +from cpsskins import configuration from cpsskins import minjson as json from cpsskins import utils from cpsskins.elements.interfaces import IFormattable Modified: cpsskins/branches/paris-sprint-2006/ui/authoring/authoring.js ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/authoring/authoring.js (original) +++ cpsskins/branches/paris-sprint-2006/ui/authoring/authoring.js Tue May 23 20:05:17 2006 @@ -2,7 +2,16 @@ function editSetting(uri) { CPSSkins.getModelById('setting-editor').updateData({'form': {'uri': uri} }); CPSSkins.getControllerById('site-manager-perspectives').switchTo( - 'setting-editor') + 'setting-editor'); +} + +function createSetting(section, uri) { + CPSSkins.getModelById('settings-section').setData( + {form: {section: section, uri: uri, create: 1}}); + CPSSkins.getControllerById('main-editor-perspectives').switchTo( + 'site-manager'); + CPSSkins.getControllerById('site-manager-perspectives').switchTo( + 'settings'); } function insertPortlet(info) { Modified: cpsskins/branches/paris-sprint-2006/ui/editing/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/editing/views.py (original) +++ cpsskins/branches/paris-sprint-2006/ui/editing/views.py Tue May 23 20:05:17 2006 @@ -177,6 +177,7 @@ viewer = getMultiAdapter((context, request), IViewer) preview = viewer() + uri = IIdentifiable(edited).getURI() return { 'negotiation': negotiation, 'perspective': perspective, @@ -184,6 +185,7 @@ 'element': element_info, 'formats': formats, 'edited': edited, + 'uri': uri, 'setting': setting, 'preview': preview, } @@ -212,18 +214,20 @@ self.context = context self.request = request - def createSetting(self, title=u''): + def createSetting(self, title=u'', uri=u''): """Create a setting from the context. """ - context = self.context - container = getParent(context) + resources = getUtility(IResourceManager) + element = resources.resolve(uri, context) + if element is None: + raise ValueError("no such element: %s" % uri) + container = getParent(element) if not IStorage.providedBy(container): raise TypeError("The element is not located in a storage.") - resource = locationCopy(removeSecurityProxy(context)) + resource = locationCopy(removeSecurityProxy(element)) getThemeManager(context).registerElement(resource) - resources = getUtility(IResourceManager) resources.register(title=title, resource=resource, context=context) def useSettingAsFormat(self, uri=u''): Modified: cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt Tue May 23 20:05:17 2006 @@ -9,6 +9,7 @@ setting nocall:info/setting; edited nocall:info/edited; edited_type edited/type:resourcename; + format request/form/format|nothing; setting_info edited/@@getSettingsInfo"> <a href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">< back to the editor</a> @@ -43,9 +44,10 @@ <div class="form" tal:condition="python: mode == 'preview'" tal:content="structure info/preview" /> - <div style="float:right" tal:condition="request/form/format|nothing"> + <div style="float:right" tal:define="tab request/form/tab|nothing" + tal:condition="tab"> <p tal:condition="not:setting"> - create a setting + <a tal:attributes="href string:javascript:createSetting('$tab', '${info/uri}')">create a setting</a> </p> <!-- Modified: cpsskins/branches/paris-sprint-2006/ui/panels/settings.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/panels/settings.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/panels/settings.pt Tue May 23 20:05:17 2006 @@ -13,8 +13,10 @@ <td class="section"> <div class="sections"> <ul class="items"> - <li tal:repeat="section python: ['perspective', 'widget', 'style', 'color', 'image']"> - <a tal:attributes="href string:javascript:CPSSkins.getModelById('settings-section').setData({'form': {'section': '$section'}})" tal:content="section">SECTION</a></li> + <li tal:repeat="section python: ['perspective', 'format-widget', 'format-style', 'field-color', 'field-image']"> + <a i18n:translate="" + tal:attributes="href string:javascript:CPSSkins.getModelById('settings-section').setData({'form': {'section': '$section'}})" + tal:content="section">SECTION</a></li> </ul> <br style="clear:both"/> </div> Modified: cpsskins/branches/paris-sprint-2006/ui/panels/settings_section.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/panels/settings_section.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/panels/settings_section.pt Tue May 23 20:05:17 2006 @@ -1,6 +1,7 @@ -<div class="sections" tal:define="section request/form/section|nothing"> - <div tal:condition="section"> - <ul style="height: 100px; overflow: auto;" class="items" +<div class="sections" i18n:domain="cpsskins" + tal:define="section request/form/section|nothing"> + <form tal:condition="section" action="@@createSetting"> + <ul style="height: 120px; overflow: auto;" class="items" tal:define="setting_info context/@@getSettingsInfo"> <li tal:repeat="info setting_info/?section|nothing"> <span tal:content="info/setting/title" /> @@ -19,8 +20,14 @@ tal:condition="not:readonly">[edit]</a> </tal:block> </li> + <li tal:condition="request/form/create|nothing"> + <input type="text" class="text" name="title" /> + <input type="hidden" name="uri" + tal:attributes="value request/form/uri" /> + <input type="submit" class="submit" value="create" /> + </li> </ul> - </div> + </form> <div tal:condition="not:section"> </div> </div> Modified: cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css Tue May 23 20:05:17 2006 @@ -58,7 +58,7 @@ div.inlineTabs a { margin-left: 0.2em; background-color: #efc; - border: 1px solid #eee; + border: 1px solid #ccc; color: #060; padding: 0 0.4em } Modified: cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/site_manager.css ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/site_manager.css (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/site_manager.css Tue May 23 20:05:17 2006 @@ -114,3 +114,15 @@ padding: 0.15em; } +input.text { + border: 1px dotted #999; + padding: 0 +} + +input.submit { + border: none; + padding: 0; + background-color: #fff; + font-size: 12px; + color: #006; +} Modified: cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py Tue May 23 20:05:17 2006 @@ -54,7 +54,7 @@ # get all settings for setting in resources.list(context=self.context): resource = IResource(setting).getResource() - info.setdefault(IType(resource).resourcename, []).append({ + info.setdefault(IType(resource).getTypeName(), []).append({ 'name': setting.name, 'uri': IIdentifiable(setting).getURI(), 'setting': setting, -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins