Author: jmorliaguet Date: Sun May 14 15:51:43 2006 New Revision: 3131 Modified: cpsskins/branches/paris-sprint-2006/ui/editing/views.py cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt
Log: - better interface for managing settings 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 Sun May 14 15:51:43 2006 @@ -140,31 +140,37 @@ display = displayable.getEffectiveDisplay(perspective) formattable = IFormattable(display) - edited = context - - display_name = IType(display).getTypeName() - if tab == display_name: - edited = display - # Element + edited = context element_info = { 'name': IType(context).getTypeName(), 'id': context.identifier, } + # Display + display_name = IType(display).getTypeName() + if tab == display_name: + edited = display + # Formats - format = None - formats_info = [] + formats = [] + setting = None + for f in formattable.getFormats(resolve=False): + format = f is_setting = ISetting.providedBy(f) if is_setting: f = IResource(f).getResource() format_name = IType(f).getTypeName() - if tab == format_name: + selected = tab == format_name + + if selected: edited = f + if is_setting: + setting = format - formats_info.append({'name': format_name, 'id': f.identifier}) + formats.append({'name': format_name, 'id': f.identifier}) viewer = getMultiAdapter((context, request), IViewer) preview = viewer() @@ -173,10 +179,10 @@ 'negotiation': negotiation, 'perspective': perspective, 'display': display, - 'format_name': format_name, 'element': element_info, - 'formats': formats_info, + 'formats': formats, 'edited': edited, + 'setting': setting, 'preview': preview, } 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 Sun May 14 15:51:43 2006 @@ -7,7 +7,9 @@ info element/@@editpanel/getInfo; display nocall:info/display; display_id display/identifier; - edited nocall:info/edited"> + setting nocall:info/setting; + edited nocall:info/edited; + setting_info edited/@@getSettingInfo"> <a class="back" href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">Back to the editor</a> @@ -46,9 +48,12 @@ </div> <tal:block condition="python: mode == 'edit'"> + <span style="float:right; padding: 0.3em; background-color: #ffc; margin: 2px; border: 1px solid #fc0" tal:condition="setting"> + Warning: this is a site setting. Changes made to it may affect several site elements. + </span> <div class="form" tal:content="structure edited/@@edit.html" /> - <div class="form"> + <div class="form" tal:condition="not:setting"> <h3>Create a setting</h3> <form tal:attributes="action string:${edited/@@absolute_url}/@@createSetting" enctype="multipart/form-data" method="post"> @@ -59,10 +64,11 @@ i18n:translate="create-button" value="Create" /> </p> </form> + </div> + <div class="form"> <h3>Use a setting</h3> - <ul tal:define="setting_info edited/@@getSettingInfo; - format_type edited/type:resourcename"> + <ul tal:define="format_type edited/type:resourcename"> <li tal:condition="python: format_type in setting_info" tal:repeat="setting setting_info/?format_type"> <a href="" -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins