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): ...@@ -403,7 +403,7 @@ class BaseModelView(BaseView, ActionsMixin):
in your `AjaxModelLoader` class. in your `AjaxModelLoader` class.
""" """
form_create_rules = None form_rules = None
""" """
List of rendering rules for model creation form. List of rendering rules for model creation form.
...@@ -418,7 +418,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -418,7 +418,7 @@ class BaseModelView(BaseView, ActionsMixin):
class MyModelView(ModelView): class MyModelView(ModelView):
form_rules = [ form_rules = [
# Define field set with header text and four fields # 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: # ... and it is just shortcut for:
rules.Header('User'), rules.Header('User'),
rules.Field('first_name'), rules.Field('first_name'),
...@@ -433,7 +433,12 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -433,7 +433,12 @@ class BaseModelView(BaseView, ActionsMixin):
form_edit_rules = None 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 # Actions
...@@ -570,6 +575,15 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -570,6 +575,15 @@ class BaseModelView(BaseView, ActionsMixin):
else: else:
self._form_edit_rules = None 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 # Primary key
def get_pk_value(self, model): def get_pk_value(self, model):
""" """
......
...@@ -13,7 +13,7 @@ def test_form_rules(): ...@@ -13,7 +13,7 @@ def test_form_rules():
db.create_all() db.create_all()
view = CustomModelView(Model1, db.session, view = CustomModelView(Model1, db.session,
form_create_rules=('test2', 'test1', rules.Field('test4'))) form_rules=('test2', 'test1', rules.Field('test4')))
admin.add_view(view) admin.add_view(view)
client = app.test_client() 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