def handle_exclude_list(self, tmp_excluded_columns): converter = self.model_form_converter(self.session, self) self._create_form_class =\ form.get_form(self.model, converter, base_class=self.form_base_class, only=self.form_columns, exclude=tmp_excluded_columns, field_args=self.form_args, ignore_hidden=self.ignore_hidden, extra_fields=self.form_extra_fields)
def get_edit_form(self): edit_form_columns = tuple(c for c in self.form_columns if c != 'name') converter = self.model_form_converter(self.session, self) form_class = get_form(self.model, converter, base_class=self.form_base_class, only=edit_form_columns, exclude=self.form_excluded_columns, field_args=self.form_args, extra_fields=self.form_extra_fields) return form_class
def scaffold_list_form(self, widget=None, validators=None): converter = self.model_form_converter(self.session, self) form_class = form.get_form(self.model, converter, base_class=self.form_base_class, only=self.column_editable_list, field_args=validators) # Modification return enum_create_editable_list_form(self.form_base_class, form_class, widget)
def scaffold_form(self): """ Create form from the model. """ converter = self.model_form_converter(self.session, self) form_class = form.get_form(self.model, converter, base_class=self.form_base_class, only=self.form_columns, exclude=self.form_excluded_columns, field_args=self.form_args, extra_fields=self.form_extra_fields) if self.inline_models: form_class = self.scaffold_inline_form_models(form_class) return form_class
def scaffold_list_form(self, widget=None, validators=None): """ Create form for the `index_view` using only the columns from `self.column_editable_list`. :param widget: WTForms widget class. Defaults to `XEditableWidget`. :param validators: `form_args` dict with only validators {'name': {'validators': [required()]}} """ converter = self.model_form_converter(self.session, self) form_class = form.get_form(self.model, converter, base_class=self.form_base_class, only=self.column_editable_list, field_args=validators) return create_editable_list_form(self.form_base_class, form_class, widget)
def scaffold_list_form(self, custom_fieldlist=ListEditableFieldList, validators=None): """ Create form for the `index_view` using only the columns from `self.column_editable_list`. :param validators: `form_args` dict with only validators {'name': {'validators': [required()]}} :param custom_fieldlist: A WTForm FieldList class. By default, `ListEditableFieldList`. """ converter = self.model_form_converter(self.session, self) form_class = form.get_form(self.model, converter, base_class=self.form_base_class, only=self.column_editable_list, field_args=validators) return wrap_fields_in_fieldlist(self.form_base_class, form_class, custom_fieldlist)
def edit_form(self, obj=None): ao_id = request.args.get('id', '') outStorageModel = PutOutStoreModel.query.filter_by(id=ao_id).first() des = self.get_edit_details_view_colums( outStorageModel.outStoreCategory) converter = self.model_form_converter(self.session, self) self._template_args.update({ 'table_columns': self.init_table_columns(des[0]), 'table_datas': self.get_table_data_from_db(outStorageModel), }) self._edit_form_class = form.get_form( self.model, converter, base_class=self.form_base_class, only=self.form_columns, exclude=des[1], field_args=self.form_args, ignore_hidden=self.ignore_hidden, extra_fields=self.form_extra_fields) return self._edit_form_class(get_form_data(), obj=obj)
def get_form(self): inline_converter = self.model_view.inline_model_form_converter( self.model_view.session, self.model_view, self.model_view.model_form_converter) converter = inline_converter.model_converter(self.model_view.session, self.model_view) from flask_admin.contrib.sqla.form import get_form form_class = get_form(self.model, converter, base_class=self.model_view.unified_form or BaseForm, only=self.model_view.form_columns, exclude=self.model_view.form_excluded_columns, field_args=self.model_view.form_args, hidden_pk=True, extra_fields=self.model_view.form_extra_fields) if self.model_view.inline_models: form_class = self.model_view.scaffold_inline_form_models( form_class) return form_class