r13739 - in MoreFieldsAndWidgets/ATBackRef/trunk: . docs src/Products/ATBackRef src/Products/ATBackRef/skins/ATBackRef
"Ross Patterson" <[email protected]> Sat, 23 Jul 2011 18:12:52 +0000
| Newsgroups | gmane.comp.web.zope.plone.archetypes.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: rossp
Date: Sat Jul 23 18:12:52 2011
New Revision: 13739
Modified:
MoreFieldsAndWidgets/ATBackRef/trunk/docs/README.txt
MoreFieldsAndWidgets/ATBackRef/trunk/setup.py
MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/backref.py
MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/skins/ATBackRef/backreferencebrowserwidget.pt
Log:
Move a lambda out of the widget template into the field.
Workaround for a Chameleon bug with lambdas in templates:
https://github.com/malthe/chameleon/issues/27
Modified: MoreFieldsAndWidgets/ATBackRef/trunk/docs/README.txt
==============================================================================
--- MoreFieldsAndWidgets/ATBackRef/trunk/docs/README.txt (original)
+++ MoreFieldsAndWidgets/ATBackRef/trunk/docs/README.txt Sat Jul 23 18:12:52 2011
@@ -43,7 +43,7 @@
Comaptibility
-------------
-Works with Plone 3 and 4.
+Works with Plone 3 and 4. Works with Chameleon.
Licence
-------
Modified: MoreFieldsAndWidgets/ATBackRef/trunk/setup.py
==============================================================================
--- MoreFieldsAndWidgets/ATBackRef/trunk/setup.py (original)
+++ MoreFieldsAndWidgets/ATBackRef/trunk/setup.py Sat Jul 23 18:12:52 2011
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
import sys, os
-version = '2.1'
+version = '2.2'
shortdesc ="Back Reference Field/Widget for Plone/Archetypes"
longdesc = open(os.path.join(os.path.dirname(__file__), 'docs',
'README.txt')).read()
Modified: MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/backref.py
==============================================================================
--- MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/backref.py (original)
+++ MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/backref.py Sat Jul 23 18:12:52 2011
@@ -138,6 +138,19 @@
return None
return res
+ def getBackReferenceImpl(self, instance):
+ """
+ Get the references efficiently, sorting if possible.
+
+ If we are not using orderablereferencefield we don't have the
+ order attribute we swallow this error silently.
+ """
+ refs = instance.getBackReferenceImpl(self.relationship)
+ try:
+ refs.sort(key=lambda ref: ref.order)
+ except AttributeError:
+ pass
+ return refs
registerField(BackReferenceField,
Modified: MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/skins/ATBackRef/backreferencebrowserwidget.pt
==============================================================================
--- MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/skins/ATBackRef/backreferencebrowserwidget.pt (original)
+++ MoreFieldsAndWidgets/ATBackRef/trunk/src/Products/ATBackRef/skins/ATBackRef/backreferencebrowserwidget.pt Sat Jul 23 18:12:52 2011
@@ -9,7 +9,7 @@
<body>
<metal:view_macro define-macro="view">
- <tal:define define="refs python:here.getBackReferenceImpl(field.relationship);
+ <tal:define define="refs python:field.getBackReferenceImpl(here);
image_portal_types field/widget/image_portal_types;
image_method field/widget/image_method|string:;
show_path field/widget/show_path|nothing;
@@ -52,12 +52,6 @@
</tal:block>
<ul tal:condition="field/multiValued">
- <tal:sort tal:content="nothing"
- tal:on-error="nothing"
- tal:define="foo python:refs.sort(lambda x,y: cmp(x.order, y.order))">
- If we are not using orderablereferencefield we don't have the order attribute
- we swallow this error silently using tal:on-error
- </tal:sort>
<tal:block tal:repeat="ref refs">
<tal:block tal:define="obj ref/getSourceObject;
obj_path python: '/'.join(obj.getPhysicalPath());
------------------------------------------------------------------------------
Storage Efficiency Calculator
This modeling tool is based on patent-pending intellectual property that
has been used successfully in hundreds of IBM storage optimization engage-
ments, worldwide. Store less, Store more with what you own, Move data to
the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/