[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=&settingName=&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