# HG changeset patch # User Thierry Florac # Date 1523437459 -7200 # Node ID 777ba7b212fe735d0503330d20d80d5de9597b6d # Parent aafae25003bac11bd585f872ce38cda1fbe66f99 Updated base forms prefix and ID getter diff -r aafae25003ba -r 777ba7b212fe src/pyams_form/form.py --- a/src/pyams_form/form.py Wed Apr 11 11:02:32 2018 +0200 +++ b/src/pyams_form/form.py Wed Apr 11 11:04:19 2018 +0200 @@ -26,7 +26,7 @@ from pyams_i18n.interfaces import II18n from pyams_skin.interfaces import IDialog, ISkinnable, IContentTitle from pyams_template.interfaces import IContentTemplate, ILayoutTemplate -from pyams_utils.interfaces import FORBIDDEN_PERMISSION +from pyams_utils.interfaces import FORBIDDEN_PERMISSION, ICacheKeyValue from pyramid_chameleon.interfaces import IChameleonTranslate from z3c.form.interfaces import DISPLAY_MODE, IErrorViewSnippet, IMultipleErrors from zope.publisher.interfaces.browser import IBrowserRequest @@ -62,6 +62,10 @@ class BaseForm(GroupsBasedForm, Form): """Base form class""" + @property + def id(self): + return '{0}_{1}'.format(super(BaseForm, self).id, ICacheKeyValue(self.context)) + layout = None layer = IFormLayer @@ -304,6 +308,8 @@ class AddForm(AJAXForm, BaseAddForm): """Add form base class""" + prefix = 'add_form.' + buttons = Buttons(IAddFormButtons) legend = _("Add form") @@ -391,8 +397,10 @@ if output: return output else: - return {'status': 'reload', - 'location': self.nextURL()} + return { + 'status': 'reload', + 'location': self.nextURL() + } @implementer(IDialog) @@ -409,10 +417,6 @@ css_class = 'inner' - @property - def id(self): - return self.__class__.__name__ - buttons = Buttons(Interface) def __init__(self, context, request, view=None): @@ -539,10 +543,6 @@ css_class = 'inner' - @property - def id(self): - return self.__class__.__name__ - buttons = Buttons(Interface) def __init__(self, context, request, view=None): @@ -575,10 +575,6 @@ css_class = 'inner' - @property - def id(self): - return self.__class__.__name__ - buttons = Buttons(Interface) def __init__(self, context, request, view=None): diff -r aafae25003ba -r 777ba7b212fe src/pyams_form/templates/inner-form.pt --- a/src/pyams_form/templates/inner-form.pt Wed Apr 11 11:02:32 2018 +0200 +++ b/src/pyams_form/templates/inner-form.pt Wed Apr 11 11:04:19 2018 +0200 @@ -1,7 +1,6 @@
+ id view.id;">
Form prefix