[Checkins] SVN: z3c.reference/branches/flash/src/z3c/reference/browser/ Implemented view and target strings in editor opener url

Roger Ineichen roger at projekt01.ch
Wed Sep 5 11:07:30 EDT 2007


Log message for revision 79481:
  Implemented view and target strings in editor opener url

Changed:
  U   z3c.reference/branches/flash/src/z3c/reference/browser/README.txt
  U   z3c.reference/branches/flash/src/z3c/reference/browser/widget.py

-=-
Modified: z3c.reference/branches/flash/src/z3c/reference/browser/README.txt
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/README.txt	2007-09-05 14:20:46 UTC (rev 79480)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/README.txt	2007-09-05 15:07:29 UTC (rev 79481)
@@ -48,13 +48,14 @@
 
 Now let's see how such a widget looks like if we render them::
 
-  >>> print widget()
-  <a class="popupwindow" href="http://127.0.0.1/viewReferenceEditor.html"
-     id="field.intro.tag" name="field.intro" onclick="" title="Undefined"
-     rel="window">Undefined</a><input class="hiddenType" id="field.intro.setting"
-     name="field.intro.setting" type="hidden" value="" rel="window"
-     /><input class="hiddenType" id="field.intro.intid"
-     name="field.intro.intid" type="hidden" value="" rel="window" />
+  >>> print widget() # doctest: +NORMALIZE_WHITESPACE
+  <a class="popupwindow"
+  href="http://127.0.0.1/viewReferenceEditor.html?target=&amp;settingName=&amp;view="
+  id="field.intro.tag" name="field.intro" onclick="" title="Undefined"
+  rel="window">Undefined</a><input class="hiddenType" id="field.intro.view"
+  name="field.intro.view" type="hidden" value="" rel="window" /><input
+  class="hiddenType" id="field.intro.target" name="field.intro.target"
+  type="hidden" value="" rel="window" />
 
 If we store a empty request/form we will get the following error::
 

Modified: z3c.reference/branches/flash/src/z3c/reference/browser/widget.py
===================================================================
--- z3c.reference/branches/flash/src/z3c/reference/browser/widget.py	2007-09-05 14:20:46 UTC (rev 79480)
+++ z3c.reference/branches/flash/src/z3c/reference/browser/widget.py	2007-09-05 15:07:29 UTC (rev 79481)
@@ -23,6 +23,7 @@
 from zope.traversing.interfaces import TraversalError
 from zope.cachedescriptors.property import Lazy
 
+from zope.app.intid.interfaces import IIntIds
 from zope.app.form.browser.widget import SimpleInputWidget
 from zope.app.form.browser.textwidgets import TextWidget
 from zope.app.component import hooks
@@ -96,15 +97,28 @@
         """Returns the refrence explorer url."""
         return absoluteURL(self.context.context, self.request) + '/%s?%s' % (
             self.referenceExplorerViewName, 
-            urllib.urlencode({'settingName': self.context.settingName}))
+            urllib.urlencode({'settingName': self.context.settingName,
+                             'target': self.targetValue,
+                             'view': self.viewValue}))
 
-    def getTargetString(self):
+    @property
+    def targetValue(self):
         """Returns the target intid."""
-        return u''
+        current = self._getCurrentValue()
+        if current and current.view:
+            return view or u''
+        else:
+            return u''
 
-    def getViewString(self):
+    @property
+    def viewValue(self):
         """Returns the view string."""
-        return u''
+        target = u''
+        current = self._getCurrentValue()
+        if current and current.target:
+                intIds = component.getUtility(IIntIds)
+                target = intIds.getId(self.context.context.target)
+        return target
 
     def __call__(self):
         resourcelibrary.need('z3c.reference')
@@ -119,27 +133,20 @@
                 ref = None
         if ref is None:
             ref = self._emptyReference
-        #url = absoluteURL(ref,self.request)
-        #if ref.target is not None:
-        #    contents = getattr(ref.target,'title',None) or \
-        #               ref.target.__name__
-        #else:
-        #    contents = untitled
-        #ref = self._emptyReference
         contents = undefined
-        intIdName = self.name + '.intid'
-        settingName = self.name + '.setting'
+        targetName = self.name + '.target'
+        viewName = self.name + '.view'
         intidInput = renderElement(u'input',
                              type='hidden',
-                             name=intIdName,
-                             id=intIdName,
-                             value=self.getTargetString(),
+                             name=targetName,
+                             id=targetName,
+                             value=self.targetValue,
                              extra=self.extra)
         viewInput = renderElement(u'input',
                              type='hidden',
-                             name=settingName,
-                             id=settingName,
-                             value=self.getViewString(),
+                             name=viewName,
+                             id=viewName,
+                             value=self.viewValue,
                              extra=self.extra)
         linkTag = renderElement(self.refTag,
                             href = self.referenceEditorURL,



More information about the Checkins mailing list