[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - moved form layout to separate formlib_macros view

Yvo Schubbe cvs-admin at zope.org
Mon Jul 9 05:56:33 UTC 2012


Log message for revision 127284:
  - moved form layout to separate formlib_macros view

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder_contents.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/configure.zcml
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/formlib_macros.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/formlib/editform.pt

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2012-07-09 05:56:30 UTC (rev 127284)
@@ -317,7 +317,13 @@
     actions = object_actions + delta_actions + absolute_actions + sort_actions
     form_fields = form.FormFields()
     delta_field = form.FormFields(IDeltaItem)
+    description = u''
 
+    @property
+    def label(self):
+        return _(u'Folder Contents: ${obj_title}',
+                 mapping={'obj_title': self.title()})
+
     def content_fields(self):
         """Create content field objects only for batched items"""
         show_widgets = self._checkPermission(ViewManagementScreens)

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder_contents.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder_contents.pt	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder_contents.pt	2012-07-09 05:56:30 UTC (rev 127284)
@@ -2,9 +2,10 @@
 <body>
 
 <metal:slot metal:fill-slot="body" i18n:domain="cmf_default">
-<h1 i18n:translate="">Folder Contents: <tal:span
-    tal:content="view/title" i18n:name="obj_title">Title</tal:span></h1>
+<metal:macro metal:use-macro="context/@@formlib_macros/errors" />
 
+<metal:macro metal:use-macro="context/@@formlib_macros/header" />
+
 <p tal:define="up_info view/up_info" tal:condition="up_info"
 ><tal:case tal:condition="up_info/url"
  ><a href="" tal:attributes="href up_info/url"
@@ -16,19 +17,10 @@
 ><tal:case tal:condition="not: up_info/url"
  ><span class="mild" i18n:translate="">Root</span></tal:case></p>
 
-<ul class="errors" tal:condition="view/errors">
- <li tal:repeat="error view/error_views"><tal:span
-     tal:replace="structure error" /></li>
-</ul>
-
-<p class="status"
-  tal:condition="exists: request/portal_status_message"
-  tal:content="request/portal_status_message"></p>
-
-<form class="form" action="." method="post" enctype="multipart/form-data"
-   tal:attributes="action request/ACTUAL_URL">
-   <tal:block repeat="widget view/hidden_widgets"
-              replace="structure widget/hidden" />
+<form action="." method="post" tal:attributes="action request/ACTUAL_URL">
+<div class="form">
+  <tal:block repeat="widget view/hidden_widgets"
+             replace="structure widget/hidden" />
    <table class="BatchTable" tal:condition="view/listBatchItems">
      <tr>
        <th tal:repeat="column view/column_headings"
@@ -51,9 +43,10 @@
     <td tal:content="item/position"></td>
    </tr>
    </table>
+
 <div class="buttons">
-  <tal:loop tal:repeat="action view/object_actions"
-   tal:replace="structure action/render" />
+ <tal:loop tal:repeat="action view/object_actions"
+    tal:replace="structure action/render" />
 </div>
 <div class="buttons">
   <tal:loop tal:repeat="action view/delta_actions"
@@ -65,15 +58,12 @@
        tal:content="widget/label">Move By</label>
      <tal:block tal:replace="structure view/widgets/delta" />
    </div>
-</div>
-<div class="buttons">
   <tal:loop tal:repeat="action view/absolute_actions"
    tal:replace="structure action/render" />
-</div>
-<div class="buttons">
   <tal:loop tal:repeat="action view/sort_actions"
    tal:replace="structure action/render" />
 </div>
+</div>
 </form>
 <metal:macro metal:use-macro="context/@@batch_widget/navigation" />
 <metal:macro metal:use-macro="context/@@batch_widget/pagination" />

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.pt	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.pt	2012-07-09 05:56:30 UTC (rev 127284)
@@ -1,21 +1,15 @@
 <html metal:use-macro="context/@@standard_macros/page">
-
 <body>
 
 <metal:slot metal:fill-slot="body" i18n:domain="cmf_default">
+<metal:macro metal:use-macro="context/@@formlib_macros/errors" />
 
-<p class="errors" tal:condition="view/errors"
-                  tal:repeat="error view/errors" 
-                  tal:content="error">Error Message</p>
+<metal:macro metal:use-macro="context/@@formlib_macros/header" />
 
-<h1 i18n:translate="">Manage Members</h1>
-
-<form action="." method="post" 
-      tal:attributes="action request/ACTUAL_URL">
-  
+<form action="." method="post" tal:attributes="action request/ACTUAL_URL">
+<div class="form">
   <tal:block repeat="widget view/hidden_widgets"
              replace="structure widget/hidden" />
-
  <table class="BatchTable" tal:condition="view/listBatchItems">
   <thead>
    <tr class="list-header">
@@ -42,20 +36,16 @@
 
      </tbody>
      </table>
-  
- <p tal:condition="not: view/listBatchItems" i18n:translate="">Currently there
-  are no members registered.</p>
+<div class="clear"></div>
 
-  <div class="buttons">
-    <tal:loop tal:repeat="action view/manage_actions"
-     tal:replace="structure action/render" />
-  </div>
-
+<div class="buttons">
+ <tal:loop tal:repeat="action view/manage_actions"
+    tal:replace="structure action/render" />
+</div>
+</div>
 </form>
-
-  <metal:macro metal:use-macro="context/@@batch_widget/navigation" />
-  <metal:macro metal:use-macro="context/@@batch_widget/pagination" />
-
+<metal:macro metal:use-macro="context/@@batch_widget/navigation" />
+<metal:macro metal:use-macro="context/@@batch_widget/pagination" />
 </metal:slot>
 
 </body>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/members.py	2012-07-09 05:56:30 UTC (rev 127284)
@@ -75,7 +75,6 @@
 
 class Manage(BatchViewBase, EditFormBase):
 
-    label = _(u"Manage Members")
     template = ViewPageTemplateFile("members.pt")
     delete_template = ViewPageTemplateFile("members_delete.pt")
     guillotine = None
@@ -112,12 +111,20 @@
                 )
             )
     actions = manage_actions + delete_actions
+    label = _(u'Manage Members')
 
+    @property
+    def description(self):
+        if not self.members_exist():
+            return _(u'Currently there are no members registered.')
+        return u''
+
     @memoize
     def _get_items(self):
         mtool = getUtility(IMembershipTool)
         return mtool.listMembers()
 
+    @memoize
     def members_exist(self, action=None):
         return len(self._getBatchObj()) > 0
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/configure.zcml	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/configure.zcml	2012-07-09 05:56:30 UTC (rev 127284)
@@ -18,4 +18,12 @@
       permission="zope2.View"
       />
 
+  <browser:page
+      for="*"
+      layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
+      name="formlib_macros"
+      template="formlib_macros.pt"
+      permission="zope2.View"
+      />
+
 </configure>

Copied: Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/formlib_macros.pt (from rev 127281, Products.CMFDefault/trunk/Products/CMFDefault/formlib/editform.pt)
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/formlib_macros.pt	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/widgets/formlib_macros.pt	2012-07-09 05:56:30 UTC (rev 127284)
@@ -0,0 +1,43 @@
+<html>
+<body>
+
+<ul class="errors" metal:define-macro="errors"
+   tal:condition="view/errors">
+ <li tal:repeat="error view/error_views"><tal:span
+     tal:replace="structure error" /></li>
+</ul>
+
+<metal:macro metal:define-macro="header"
+><h1 tal:content="view/label">FORM LABEL</h1>
+
+<p tal:condition="view/description|nothing"
+   tal:content="view/description">DESCRIPTION OF THE FORM.</p
+></metal:macro>
+
+<div class="form" metal:define-macro="form">
+<div class="widgets">
+ <tal:loop tal:repeat="widget view/widgets"
+><div class="widget" tal:condition="not: widget/hide|nothing"
+    tal:define="split widget/split|nothing; hint widget/hint|nothing"
+    tal:attributes="class python: split and 'widget split' or 'widget'">
+  <label tal:attributes="for widget/name; title python: hint or None"
+  ><span class="required" tal:condition="widget/required">*</span
+  ><tal:span tal:content="widget/label" /></label>
+  <div class="field">
+   <div class="data"><tal:span tal:replace="structure widget" /></div
+  ><tal:case tal:condition="widget/error"
+      tal:replace="structure widget/error" /></div>
+ </div
+><tal:span tal:condition="widget/hide|nothing"
+    tal:replace="structure widget/hidden" /></tal:loop>
+</div>
+<div class="clear"></div>
+
+<div class="buttons">
+ <tal:loop tal:repeat="action view/actions"
+    tal:replace="structure action/render" />
+</div>
+</div>
+
+</body>
+</html>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/formlib/editform.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/formlib/editform.pt	2012-07-09 05:45:44 UTC (rev 127283)
+++ Products.CMFDefault/trunk/Products/CMFDefault/formlib/editform.pt	2012-07-09 05:56:30 UTC (rev 127284)
@@ -3,39 +3,13 @@
 
 <metal:slot metal:fill-slot="body" i18n:domain="cmf_default">
 <metal:macro metal:define-macro="form"
-><ul class="errors" tal:condition="view/errors">
- <li tal:repeat="error view/error_views"><tal:span
-     tal:replace="structure error" /></li>
-</ul>
+><metal:macro metal:use-macro="context/@@formlib_macros/errors" />
 
-<h1 tal:content="view/label">EDIT: OBJECT</h1>
+<metal:macro metal:use-macro="context/@@formlib_macros/header" />
 
-<p tal:content="view/description|nothing">DESCRIPTION OF THE FORM.</p>
-
-<form class="form" action="." method="post" enctype="multipart/form-data"
+<form action="." method="post" enctype="multipart/form-data"
    tal:attributes="action request/ACTUAL_URL">
-<div class="widgets">
- <tal:loop tal:repeat="widget view/widgets"
-><div class="widget" tal:condition="not: widget/hide|nothing"
-    tal:define="split widget/split|nothing; hint widget/hint|nothing"
-    tal:attributes="class python: split and 'widget split' or 'widget'">
-  <label tal:attributes="for widget/name; title python: hint or None"
-  ><span class="required" tal:condition="widget/required">*</span
-  ><tal:span tal:content="widget/label" /></label>
-  <div class="field">
-   <div class="data"><tal:span tal:replace="structure widget" /></div
-  ><tal:case tal:condition="widget/error"
-      tal:replace="structure widget/error" /></div>
- </div
-><tal:span tal:condition="widget/hide|nothing"
-    tal:replace="structure widget/hidden" /></tal:loop>
-</div>
-<div class="clear"></div>
-
-<div class="buttons">
- <tal:loop tal:repeat="action view/actions"
-    tal:replace="structure action/render" />
-</div>
+<metal:macro metal:use-macro="context/@@formlib_macros/form" />
 </form>
 </metal:macro
 ></metal:slot>



More information about the checkins mailing list