def scaffold_form(self): form_class = super(ChannelsModelView, self).scaffold_form() old = form_class.node_pubkey_string form_class.node_pubkey_string = AjaxSelectField( loader=self.peer_ajax_loader, label='node_pubkey_string', allow_blank=True, description=old.kwargs['description']) return form_class
def conv_Reference(self, model, field, kwargs): kwargs['allow_blank'] = not field.required loader = getattr(self.view, '_form_ajax_refs', {}).get(field.name) if loader: return AjaxSelectField(loader, **kwargs) kwargs['widget'] = form.Select2Widget() return orm.ModelConverter.conv_Reference(self, model, field, kwargs)
def handle_foreign_key(self, model, field, **kwargs): loader = getattr(self.view, '_form_ajax_refs', {}).get(field.name) if loader: if field.null: kwargs['allow_blank'] = True return field.name, AjaxSelectField(loader, **kwargs) return super(CustomModelConverter, self).handle_foreign_key(model, field, **kwargs)
def postprocess_form(self, form): form.total_amount = DisabledStringField( label=lazy_gettext('Total Amount')) form.remark = None form.pol_receiving_lines = None ajaxLoader = QueryAjaxModelLoader( name='product', session=service.Info.get_db().session, model=Product, fields=['name']) form.product = AjaxSelectField( ajaxLoader, label=lazy_gettext('Product(Can be searched by first letter)')) return form
def scaffold_form(self): form_class = super(ChannelsModelView, self).scaffold_form() old = form_class.node_pubkey_string ajax_field = AjaxSelectField(loader=self.peer_ajax_loader, label='node_pubkey_string', allow_blank=True, description=old.kwargs['description']) form_class.node_pubkey_string = ajax_field form_class.local_funding_amount.kwargs['default'] = 500000 form_class.push_sat.kwargs['default'] = 0 form_class.target_conf.kwargs['default'] = 3 form_class.sat_per_byte.kwargs['default'] = 250 form_class.min_htlc_msat.kwargs['default'] = 1 return form_class
def postprocess_form(self, form): from psi.app.views.components import DisabledStringField form.total_amount = DisabledStringField(label=lazy_gettext('Total Amount')) form.saleable_quantity = DisabledStringField(label=lazy_gettext('Saleable Quantity')), ajaxLoader = QueryAjaxModelLoader(name='product', session=service.Info.get_db().session, model=Product, fields=['name']) form.product = AjaxSelectField(ajaxLoader, label=lazy_gettext('Product(Can be searched by first letter)')) form.itl_receiving_line = None form.remark = None form.itl_shipping_line = None form.in_transit_quantity = None return form
def scaffold_form(self, quick_select=False) -> Form: form_class = super(PeersModelView, self).scaffold_form() if quick_select: ajax_field = AjaxSelectField( loader=self.peer_directory_ajax_loader, label='pubkey_at_host', allow_blank=True, description='pubkey@host') form_class.pubkey_at_host = ajax_field else: form_class.pubkey_at_host = StringField(label='pubkey_at_host', description='pubkey@host') return form_class
def conv_Reference(self, model, field, kwargs): kwargs['allow_blank'] = not field.required loader = getattr(self.view, '_form_ajax_refs', {}).get(field.name) if loader: return AjaxSelectField(loader, **kwargs) readonly = kwargs.pop('readonly', False) if readonly: kwargs['widget'] = StaticInputWidget() else: kwargs['widget'] = admin_form.Select2Widget() # print '====CustomModelConverter====', kwargs return orm.ModelConverter.conv_Reference(self, model, field, kwargs)
def _model_select_field(self, prop, multiple, remote_model, **kwargs): loader = getattr(self.view, '_form_ajax_refs', {}).get(prop.key) if loader: if multiple: return AjaxSelectMultipleField(loader, **kwargs) else: return AjaxSelectField(loader, **kwargs) if 'query_factory' not in kwargs: kwargs['query_factory'] = lambda: self.session.query(remote_model) if multiple: return QuerySelectMultipleField(**kwargs) else: return QuerySelectField(**kwargs)
def postprocess_form(self, form): from flask_admin.model.fields import AjaxSelectField ajaxLoader = QueryAjaxModelLoader(name='product', session=service.Info.get_db().session, model=Product, fields=['name']) form.product = AjaxSelectField(ajaxLoader, label=lazy_gettext('Product(Can be searched by first letter)')) form.retail_price = DisabledStringField(label=lazy_gettext('Retail Price')) form.price_discount = DisabledStringField(label=lazy_gettext('Price Discount')) form.original_amount = DisabledStringField(label=lazy_gettext('Original Amount')) form.actual_amount = DisabledStringField(label=lazy_gettext('Actual Amount')) form.discount_amount = DisabledStringField(label=lazy_gettext('Discount Amount')) form.remark = None form.sol_shipping_line = None form.external_id = None return form
def convert_foreign_key(self, column, field_args, **extra): loader = getattr(self.view, '_form_ajax_refs', {}).get(column.name) if loader: return AjaxSelectField(loader, **field_args) if 'query_factory' not in field_args: remote_model = None remote_column = None for foreign_key in column.foreign_keys: remote_column = foreign_key.column remote_model = MODELS[remote_column.table.fullname] field_args['query_factory'] = (lambda: [ getattr(obj, remote_column.name) for obj in self.session.query(remote_model).all() ]) field_args['get_pk'] = lambda obj: obj field_args['get_label'] = lambda obj: obj return QuerySelectField(**field_args)
class NewTransactionMapping(Form): keyword = HiddenField() subaccount = AjaxSelectField(loader=self.ajax_subaccount_loader, allow_blank=False)