[Checkins] SVN: Sandbox/ulif/grok-adminui-experimental/ Renamed Macros-view, because it could easily interefere

Uli Fouquet uli at gnufix.de
Thu Aug 30 23:14:44 EDT 2007


Log message for revision 79391:
  Renamed Macros-view, because it could easily interefere
  with other macro views from other apps.
  

Changed:
  U   Sandbox/ulif/grok-adminui-experimental/CHANGES.txt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view.py
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/applications.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokclassview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokgrokapplicationview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokinterfaceview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokmoduleview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokpackageview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgroktextfileview.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokview.pt
  A   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/grokadminmacros.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/index.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/inspect.pt
  D   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/macros.pt
  U   Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/server.pt
  A   Sandbox/ulif/grok-adminui-experimental/src/grok/ftests/admin/macros.py

-=-
Modified: Sandbox/ulif/grok-adminui-experimental/CHANGES.txt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/CHANGES.txt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/CHANGES.txt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -12,6 +12,13 @@
 
 * Add the grok.Role component base class.
 
+* The admin UI now displays and offers deletion of broken objects.
+
+Bug fixes
+---------
+
+* The admin UI now shows interfaces in modules.
+
 Restructuring
 -------------
 

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view.py
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view.py	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view.py	2007-08-31 03:14:42 UTC (rev 79391)
@@ -157,7 +157,7 @@
         return not IUnauthenticatedPrincipal.providedBy(self.request.principal)
 
 
-class Macros(GAIAView):
+class GrokAdminMacros(GAIAView):
     """Provides the o-wrap layout."""
 
     grok.context(Interface)

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/applications.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/applications.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/applications.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="context/@@macros/gaia-page">
+<html metal:use-macro="context/@@grokadminmacros/gaia-page">
   <div metal:fill-slot="content">
 
     <form tal:define="apps context/values"

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokclassview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokclassview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokclassview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokgrokapplicationview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokgrokapplicationview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokgrokapplicationview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokinterfaceview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokinterfaceview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokinterfaceview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokmoduleview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokmoduleview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokmoduleview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokpackageview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokpackageview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokpackageview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrokPackage page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgroktextfileview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgroktextfileview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgroktextfileview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokview.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokview.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/docgrokview.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="view/app_root/@@macros/gaia-page">
+<html metal:use-macro="view/app_root/@@grokadminmacros/gaia-page">
   <head>
     <title>DocGrok page title</title>
   </head>

Copied: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/grokadminmacros.pt (from rev 79388, Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/macros.pt)
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/grokadminmacros.pt	                        (rev 0)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/grokadminmacros.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      i18n:domain="zope"
+      metal:define-macro="gaia-page">
+  <head>
+    <title
+      metal:define-slot="title"
+      >grok administration interface</title>
+    <link metal:define-slot="header"
+      rel="stylesheet" type="text/css" href="static/grok.css"
+      tal:on-error="nothing"
+      tal:attributes="href view/static/grok.css" />
+    <metal:block define-slot="extrahead">
+    </metal:block>
+  </head>
+
+  <body>
+    <div tal:condition="not:exists: view/root_urls">
+      This template (grokadminmacros.pt in grok.admin) must be called
+      from a view with defined root_url.
+    </div>
+    <div tal:condition="exists: view/root_url">
+      <div id="banner">
+        <a href="/" id="logo">
+          <img alt="Grok" src="images/grok-admin.jpg" height="40"
+            tal:attributes="src view/static/grok-admin.jpg" />
+        </a>
+      </div>
+
+      <div id="logout" metal:define-macro="logged_user">
+	<span tal:condition="view/is_authenticated">
+	  <span i18n:translate="">User:
+	  <span tal:replace="request/principal/title"
+		i18n:name="user_title">User</span>
+	  </span>
+	</span>
+      </div>
+
+      <div id="breadcrumbs">
+        <div id="banner-shadow">
+          &nbsp;
+        </div>
+      </div>
+      <div id="fireplace">
+        <img alt="grok_relax_image" src="images/grok-relax5.gif"
+          tal:attributes="src view/static/grok-relax5.gif" />
+      </div>
+      <div id="menu-links" 
+	   metal:define-slot="menu-links"
+	   tal:define="currview python:view.url()">
+        <span class="menu-link-inactive"
+          tal:define="target string:${view/root_url}/applications">
+          <a href="applications"
+            tal:condition="python: target != currview"
+            tal:attributes="href target"
+            >Applications</a>
+          <span class="emph"
+            tal:condition="python: target == currview">
+            Applications
+          </span>
+        </span>
+        &nbsp;&nbsp;
+        <span class="menu-link-inactive"
+          tal:define="target string:${view/root_url}/server"
+          >
+          <a href="z3index"
+            tal:condition="python: target != currview"
+            tal:attributes="href target"
+            >Server Control</a>
+          <span class="emph"
+            tal:condition="python: target == currview">
+            Server Control
+          </span>
+        </span>
+<!--
+        &nbsp;&nbsp;
+        <a href=""
+          tal:attributes="href view/root_url">Debug</a>
+-->
+        &nbsp;&nbsp;
+        <a href=""
+          tal:attributes="href string:${view/root_url}/docgrok/">
+          <span tal:attributes="class python:view.in_docgrok() and 'emph'"
+            >Documentation</span>
+        </a>
+      </div>
+
+        <div id="content">
+
+          <div id="messages" tal:content="structure context/@@messages" />
+
+          <div metal:define-slot="content">
+
+            <h1>Welcome to Grok!</h1>
+
+            <div>
+              Your friendly and easy way to Zope 3.
+            </div>
+
+          </div>
+          <div>
+            <p id="footer-copyright">&copy; Copyright 2007, The Zope Foundation<br />Design inspired by Sebastian Ware</p>
+          </div>
+        </div>
+
+    </div>
+  </body>
+</html>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/index.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/index.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/index.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="context/@@macros/gaia-page">
+<html metal:use-macro="context/@@grokadminmacros/gaia-page">
   <div metal:fill-slot="content">
     <h1></h1>
     <div class="logo">

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/inspect.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/inspect.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/inspect.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="context/@@macros/gaia-page">
+<html metal:use-macro="context/@@grokadminmacros/gaia-page">
   <div metal:fill-slot="content">
     <h1>
       <span tal:content="view/info/name" />

Deleted: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/macros.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/macros.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/macros.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,102 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
-      i18n:domain="zope"
-      metal:define-macro="gaia-page">
-  <head>
-    <title
-      metal:define-slot="title"
-      >grok administration interface</title>
-    <link metal:define-slot="header"
-      rel="stylesheet" type="text/css" href="static/grok.css"
-      tal:attributes="href view/static/grok.css" />
-    <metal:block define-slot="extrahead">
-    </metal:block>
-  </head>
-
-  <body>
-    <div>
-      <div id="banner">
-        <a href="/" id="logo">
-          <img alt="Grok" src="images/grok-admin.jpg" height="40"
-            tal:attributes="src view/static/grok-admin.jpg" />
-        </a>
-      </div>
-
-      <div id="logout" metal:define-macro="logged_user">
-	<span tal:condition="view/is_authenticated">
-	  <span i18n:translate="">User:
-	  <span tal:replace="request/principal/title"
-		i18n:name="user_title">User</span>
-	  </span>
-	</span>
-      </div>
-
-      <div id="breadcrumbs">
-        <div id="banner-shadow">
-          &nbsp;
-        </div>
-      </div>
-      <div id="fireplace">
-        <img alt="grok_relax_image" src="images/grok-relax5.gif"
-          tal:attributes="src view/static/grok-relax5.gif" />
-      </div>
-      <div id="menu-links" 
-	   metal:define-slot="menu-links"
-	   tal:define="currview python:view.url()">
-        <span class="menu-link-inactive"
-          tal:define="target string:${view/root_url}/applications">
-          <a href="applications"
-            tal:condition="python: target != currview"
-            tal:attributes="href target"
-            >Applications</a>
-          <span class="emph"
-            tal:condition="python: target == currview">
-            Applications
-          </span>
-        </span>
-        &nbsp;&nbsp;
-        <span class="menu-link-inactive"
-          tal:define="target string:${view/root_url}/server"
-          >
-          <a href="z3index"
-            tal:condition="python: target != currview"
-            tal:attributes="href target"
-            >Server Control</a>
-          <span class="emph"
-            tal:condition="python: target == currview">
-            Server Control
-          </span>
-        </span>
-<!--
-        &nbsp;&nbsp;
-        <a href=""
-          tal:attributes="href view/root_url">Debug</a>
--->
-        &nbsp;&nbsp;
-        <a href=""
-          tal:attributes="href string:${view/root_url}/docgrok/">
-          <span tal:attributes="class python:view.in_docgrok() and 'emph'"
-            >Documentation</span>
-        </a>
-      </div>
-
-        <div id="content">
-
-          <div id="messages" tal:content="structure context/@@messages" />
-
-          <div metal:define-slot="content">
-
-            <h1>Welcome to Grok!</h1>
-
-            <div>
-              Your friendly and easy way to Zope 3.
-            </div>
-
-          </div>
-          <div>
-            <p id="footer-copyright">&copy; Copyright 2007, The Zope Foundation<br />Design inspired by Sebastian Ware</p>
-          </div>
-        </div>
-
-    </div>
-  </body>
-</html>

Modified: Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/server.pt
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/server.pt	2007-08-31 03:02:13 UTC (rev 79390)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/admin/view_templates/server.pt	2007-08-31 03:14:42 UTC (rev 79391)
@@ -1,4 +1,4 @@
-<html metal:use-macro="context/@@macros/gaia-page">
+<html metal:use-macro="context/@@grokadminmacros/gaia-page">
   <div metal:fill-slot="content">
     <h1>Manage your Zope 3 instance</h1>
 

Added: Sandbox/ulif/grok-adminui-experimental/src/grok/ftests/admin/macros.py
===================================================================
--- Sandbox/ulif/grok-adminui-experimental/src/grok/ftests/admin/macros.py	                        (rev 0)
+++ Sandbox/ulif/grok-adminui-experimental/src/grok/ftests/admin/macros.py	2007-08-31 03:14:42 UTC (rev 79391)
@@ -0,0 +1,53 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""
+Macros for the grok admin UI
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+  >>> browser.open('http://localhost/applications')
+
+Check, that the macros template renders correctly, even if not called
+with context of a GAIA object. This is important, because the macro
+view is bound to ``Interface`` and can therefore be called with nearly
+every object as context.
+
+We create a non-GAIA object, a mammoth called 'manfred', which is hopefully defined in ftests/admin/apps.py.
+
+  >>> browser.getControl('Name your new app:',
+  ...    index=2).value = 'manfred'
+  >>> browser.getControl('Create', index=2).click()
+
+and call the macroview with it:
+
+  >>> browser.open('http://localhost/manfred/@@grokadminmacros')
+  >>> print browser.contents
+  <html xmlns="http://www.w3.org/1999/xhtml">
+  ...
+     This template (grokadminmacros.pt in grok.admin) must be called
+     from a view with defined root_url.
+  ...
+
+So developers get informed, that they called the wrong macro view.
+
+Let's clean up.
+
+  >>> browser.open('http://localhost/applications')
+  >>> ctrl = browser.getControl(name='items')
+  >>> ctrl.getControl(value='manfred').selected = True
+  >>> browser.getControl('Delete Selected').click()
+
+
+"""



More information about the Checkins mailing list