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

Reply via email to