# HG changeset patch # User Thierry Florac # Date 1435738203 -7200 # Node ID a36d954c4adb079ec93b27260c6453798b96c547 # Parent c42f7fcd6cfea18c895a17506235e5ec02299209 Modified form interfaces for subforms and groups diff -r c42f7fcd6cfe -r a36d954c4adb src/pyams_form/interfaces/__init__.py --- a/src/pyams_form/interfaces/__init__.py Wed Jun 17 09:56:44 2015 +0200 +++ b/src/pyams_form/interfaces/__init__.py Wed Jul 01 10:10:03 2015 +0200 @@ -18,3 +18,11 @@ from .form import IForm, IFormLayer # import packages + + +def get_form_weight(form): + """Try to get form weight attribute""" + try: + return form.weight + except AttributeError: + return 0 diff -r c42f7fcd6cfe -r a36d954c4adb src/pyams_form/interfaces/form.py --- a/src/pyams_form/interfaces/form.py Wed Jun 17 09:56:44 2015 +0200 +++ b/src/pyams_form/interfaces/form.py Wed Jul 01 10:10:03 2015 +0200 @@ -180,6 +180,9 @@ class IFormWidgetsGroup(Interface): """Form widgets group interface""" + form = Object(title="Parent form", + schema=IForm) + id = TextLine(title="Group ID", required=False) @@ -232,10 +235,24 @@ checker_state = Attribute("Checker state") + subforms = List(title="Sub-forms", + value_type=Object(schema=ISubForm), + required=False, + readonly=True) + + subforms_legend = TextLine(title="Sub-forms legend", + required=False) + class IGroupsBasedForm(IBaseForm): """Groups based form""" + main_group_legend = TextLine(title="Default group legend", + required=False) + + main_group_class = TextLine(title='Default group CSS class', + default='inner') + groups = List(title="Form widgets groups", value_type=Object(IFormWidgetsGroup))