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.form import rules
from flask.ext.admin.model.form import InlineBaseFormAdmin
......@@ -9,13 +8,6 @@ class EmbeddedForm(InlineBaseFormAdmin):
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):
result = {}
......
......@@ -9,7 +9,9 @@ from wtforms.validators import ValidationError
from .tools import get_primary_key
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.widgets import InlineFormWidget
try:
......@@ -186,7 +188,7 @@ class InlineModelFormList(InlineFieldList):
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.
......@@ -209,7 +211,16 @@ class InlineModelFormList(InlineFieldList):
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):
return field.get_pk() is not None
......
import inspect
from flask.ext.admin.form import BaseForm
from flask.ext.admin.form import BaseForm, rules
from flask.ext.admin._compat import iteritems
......@@ -37,6 +37,14 @@ class InlineBaseFormAdmin(object):
for k, v in iteritems(kwargs):
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):
"""
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