Commit 1a62fce5 authored by Serge S. Koval's avatar Serge S. Koval

Missed files

parent 2fdfb584
from flask.ext.admin._compat import iteritems from flask.ext.admin._compat import iteritems
from flask.ext.admin.form import rules
from flask.ext.admin.model.form import InlineBaseFormAdmin from flask.ext.admin.model.form import InlineBaseFormAdmin
...@@ -9,13 +8,6 @@ class EmbeddedForm(InlineBaseFormAdmin): ...@@ -9,13 +8,6 @@ class EmbeddedForm(InlineBaseFormAdmin):
self._form_subdocuments = convert_subdocuments(getattr(self, 'form_subdocuments', {})) self._form_subdocuments = convert_subdocuments(getattr(self, 'form_subdocuments', {}))
form_rules = getattr(self, 'form_rules', None)
if form_rules:
self._form_rules = rules.RuleSet(self, form_rules)
else:
self._form_rules = None
def convert_subdocuments(values): def convert_subdocuments(values):
result = {} result = {}
......
...@@ -9,7 +9,9 @@ from wtforms.validators import ValidationError ...@@ -9,7 +9,9 @@ from wtforms.validators import ValidationError
from .tools import get_primary_key from .tools import get_primary_key
from flask.ext.admin._compat import text_type, string_types from flask.ext.admin._compat import text_type, string_types
from flask.ext.admin.form import FormOpts
from flask.ext.admin.model.fields import InlineFieldList, InlineModelFormField from flask.ext.admin.model.fields import InlineFieldList, InlineModelFormField
from flask.ext.admin.model.widgets import InlineFormWidget
try: try:
...@@ -186,7 +188,7 @@ class InlineModelFormList(InlineFieldList): ...@@ -186,7 +188,7 @@ class InlineModelFormList(InlineFieldList):
Form field type. Override to use custom field for each inline form Form field type. Override to use custom field for each inline form
""" """
def __init__(self, form, session, model, prop, inline_view, **kwargs): def __init__(self, form, session, model, prop, inline_view, form_widget=None, **kwargs):
""" """
Default constructor. Default constructor.
...@@ -209,7 +211,16 @@ class InlineModelFormList(InlineFieldList): ...@@ -209,7 +211,16 @@ class InlineModelFormList(InlineFieldList):
self._pk = get_primary_key(model) self._pk = get_primary_key(model)
super(InlineModelFormList, self).__init__(self.form_field_type(form, self._pk), **kwargs) # Generate inline form field
if form_widget is None:
form_opts = FormOpts(widget_args=getattr(inline_view, 'form_widget_args', None),
form_rules=inline_view._form_rules)
form_widget = InlineFormWidget(form_opts)
form_field = self.form_field_type(form, self._pk, widget=form_widget)
super(InlineModelFormList, self).__init__(form_field, **kwargs)
def display_row_controls(self, field): def display_row_controls(self, field):
return field.get_pk() is not None return field.get_pk() is not None
......
import inspect import inspect
from flask.ext.admin.form import BaseForm from flask.ext.admin.form import BaseForm, rules
from flask.ext.admin._compat import iteritems from flask.ext.admin._compat import iteritems
...@@ -37,6 +37,14 @@ class InlineBaseFormAdmin(object): ...@@ -37,6 +37,14 @@ class InlineBaseFormAdmin(object):
for k, v in iteritems(kwargs): for k, v in iteritems(kwargs):
setattr(self, k, v) setattr(self, k, v)
# Convert form rules
form_rules = getattr(self, 'form_rules', None)
if form_rules:
self._form_rules = rules.RuleSet(self, form_rules)
else:
self._form_rules = None
def get_form(self): def get_form(self):
""" """
If you want to use completely custom form for inline field, you can override If you want to use completely custom form for inline field, you can override
......
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