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
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
 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
Beispiel #6
0
 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
Beispiel #8
0
    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)
Beispiel #9
0
    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)
Beispiel #10
0
 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
Beispiel #11
0
 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)
Beispiel #12
0
 class NewTransactionMapping(Form):
     keyword = HiddenField()
     subaccount = AjaxSelectField(loader=self.ajax_subaccount_loader,
                                  allow_blank=False)