Commit 3b266bf6 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #377. Added that affects both create and edit forms

parent 8f51c9c2
......@@ -403,7 +403,7 @@ class BaseModelView(BaseView, ActionsMixin):
in your `AjaxModelLoader` class.
"""
form_create_rules = None
form_rules = None
"""
List of rendering rules for model creation form.
......@@ -418,7 +418,7 @@ class BaseModelView(BaseView, ActionsMixin):
class MyModelView(ModelView):
form_rules = [
# Define field set with header text and four fields
rules.FieldSet('User', ('first_name', 'last_name', 'email', 'phone')),
rules.FieldSet(('first_name', 'last_name', 'email', 'phone'), 'User'),
# ... and it is just shortcut for:
rules.Header('User'),
rules.Field('first_name'),
......@@ -433,7 +433,12 @@ class BaseModelView(BaseView, ActionsMixin):
form_edit_rules = None
"""
Same as `form_create_rules`, just for model edit form.
Customized rules for the edit form. Override `form_rules` if present.
"""
form_create_rules = None
"""
Customized rules for the create form. Override `form_rules` if present.
"""
# Actions
......@@ -570,6 +575,15 @@ class BaseModelView(BaseView, ActionsMixin):
else:
self._form_edit_rules = None
if self.form_rules:
form_rules = rules.RuleSet(self, self.form_rules)
if not self._form_create_rules:
self._form_create_rules = form_rules
if not self._form_edit_rules:
self._form_edit_rules = form_rules
# Primary key
def get_pk_value(self, model):
"""
......
......@@ -13,7 +13,7 @@ def test_form_rules():
db.create_all()
view = CustomModelView(Model1, db.session,
form_create_rules=('test2', 'test1', rules.Field('test4')))
form_rules=('test2', 'test1', rules.Field('test4')))
admin.add_view(view)
client = app.test_client()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment