Commit 83e07f61 authored by Serge S. Koval's avatar Serge S. Koval

Fixed form_ajax_refs support for subdocuments

parent 7a4d2b7b
...@@ -104,6 +104,7 @@ class CustomModelConverter(orm.ModelConverter): ...@@ -104,6 +104,7 @@ class CustomModelConverter(orm.ModelConverter):
if isinstance(field.field, ReferenceField): if isinstance(field.field, ReferenceField):
kwargs['widget'] = form.Select2Widget(multiple=True) kwargs['widget'] = form.Select2Widget(multiple=True)
# TODO: Support AJAX multi-select
doc_type = field.field.document_type doc_type = field.field.document_type
return mongo_fields.ModelSelectMultipleField(model=doc_type, **kwargs) return mongo_fields.ModelSelectMultipleField(model=doc_type, **kwargs)
...@@ -150,7 +151,7 @@ class CustomModelConverter(orm.ModelConverter): ...@@ -150,7 +151,7 @@ class CustomModelConverter(orm.ModelConverter):
def conv_Reference(self, model, field, kwargs): def conv_Reference(self, model, field, kwargs):
kwargs['allow_blank'] = not field.required kwargs['allow_blank'] = not field.required
loader = self.view._form_ajax_refs.get(field.name) loader = getattr(self.view, '_form_ajax_refs', {}).get(field.name)
if loader: if loader:
return AjaxSelectField(loader, **kwargs) return AjaxSelectField(loader, **kwargs)
......
...@@ -201,6 +201,9 @@ class ModelView(BaseModelView): ...@@ -201,6 +201,9 @@ class ModelView(BaseModelView):
self._primary_key = self.scaffold_pk() self._primary_key = self.scaffold_pk()
def _refresh_cache(self): def _refresh_cache(self):
"""
Refresh cache.
"""
# Process subdocuments # Process subdocuments
if self.form_subdocuments is None: if self.form_subdocuments is None:
self.form_subdocuments = {} self.form_subdocuments = {}
......
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