示例#1
0
	def __init__(self, *args, **kwargs):
		super().__init__(*args, **kwargs)
		self.helper = FormHelper()
		self.helper.form_action = ""
		self.helper.form_method = "POST"
		self.helper.form_show_labels = False		
		self.helper.form_class = 'form-horizontal'
		self.fields['address_st1'].help_text = "Street Line 1"
		self.fields['address_st2'].help_text = "Street Line 2"
		self.fields['address_city'].help_text = "City"
		self.fields['address_state'].help_text = "State"
		self.fields['address_zip'].help_text = "Zip Code"
		self.helper.layout = layout.Layout(
			layout.Fieldset(
				_("Mailing Address"),
				layout.Row(
					layout.Column("address_st1",css_class='form-group col-12 mb-0'),
					css_class='form-row'
				),
				layout.Row(
					layout.Column("address_st2",css_class='form-group col-12 mb-0'),
					css_class='form-row'
				),			
				layout.Row(
					layout.Column("address_city",css_class='form-group col-6 mb-0'),
					layout.Column("address_state",css_class='form-group col-4 mb-0'),
					layout.Column("address_zip",css_class='form-group col-2 mb-0'),
					css_class='form-row'
				),		
			),
			layout.ButtonHolder(
				layout.Submit('submit', _('Unsubscribe')),
				css_class='col-12'
			)				
		)
示例#2
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.form_method = 'get'

        bFilter = '<button type="submit" class="btn btn-sm btn-primary btn-icon-split mr-1"><span class="icon text-white-50"><i class="fas fa-filter"></i></span><span class="text">Filtrar</span></button>'
        bLimpiar = '<a class="btn btn-sm btn-secondary btn-icon-split" href="' + reverse('domicilio:list') + '"><span class="icon text-white-50"><i class="fas fa-undo"></i></span><span class="text">Limpiar</span></a>'

        self.layout = layout.Layout(
            layout.Div(
                layout.Row(
                    layout.Div(
                        layout.Row(
                            layout.Column('nombre', css_class='col-lg-10 col-md-10 col-sm-9 mb-0'),
                            layout.Column('active', css_class='col-lg-2  col-md-2  col-sm-3 mb-0'),
                        ),
                        css_class="col-lg-12 col-md-12 col-sm-12",
                    ),
                    layout.Div(
                        layout.HTML(bFilter),
                        layout.HTML(bLimpiar),
                        css_class="col-12 text-right",
                    ),
                )
            )
        )
示例#3
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # valores iniciales para campos especiales
        self.fields['comercial'].queryset = Comercial.objects.all().order_by('persona__nombre')
        self.fields['actividad'].queryset = Actividad.objects.filter(parent__isnull=True).order_by('nombre')

        # creamos helper
        self.helper = helper.FormHelper()
        self.helper.form_id = "myform"

        # creamos layouts personalizado
        self.helper.layout = layout.Layout(
            layout.Row(
                layout.Column('nombre', css_class='col-lg-6 col-md-12 mb-0'),
                layout.Column('razon_social'),
            ),
            layout.Row(
                layout.Column('cuit', css_class='col-lg-3 col-md-3 col-sm-6 mb-0'),
                layout.Column('comercial'),
                layout.Column('referencia_id', css_class='col-lg-3 col-md-3 col-sm-3 mb-0'),
            ),
            layout.Row(
                layout.Column('actividad', css_class='col-lg-6 col-md-12 mb-0'),
                layout.Column('actividades'),
            ),
            'observacion',
        )

        # agregamos los botones de acción
        bSave = '<button type="submit" class="btn btn-primary btn-icon-split"><span class="icon text-white-50"><i class="fas fa-save"></i></span><span class="text">Grabar</span></button>'
        bCancel = '<a class="btn btn-warning btn-icon-split" style="margin-left: 5px" href="{{request.META.HTTP_REFERER}}"><span class="icon text-white-50"><i class="fas fa-undo"></i></span><span class="text">Cancela</span></a>'
        self.helper.layout.append(layout.HTML("<hr>"))
        self.helper.layout.append(layout.HTML(bSave))
        self.helper.layout.append(layout.HTML(bCancel))
示例#4
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # valores iniciales para campos especiales
        self.fields['comercial'].queryset = Comercial.objects.all().order_by(
            'persona__nombre')
        self.fields['actividad'].queryset = Actividad.objects.filter(
            parent__isnull=True).order_by('nombre')
        self.fields['actividades'].queryset = Actividad.objects.filter(
            parent__isnull=False).order_by('nombre')

        # self.fields['comercial'].queryset = None
        # self.fields['actividad'].queryset = None
        # self.fields['actividades'].queryset = None

        self.fields['actividades'].widget.attrs['size'] = 13
        self.fields[
            'actividades'].help_text = "Pulse Ctrl para seleccionar varios"

        # creamos helper
        self.helper = helper.FormHelper()
        self.helper.form_id = "myform"

        # creamos layouts personalizado
        self.helper.layout = layout.Layout(
            layout.Row(
                layout.Column('nombre', css_class='col-lg-5 col-md-4 mb-0'),
                layout.Column('razon_social',
                              css_class='col-lg-5 col-md-4 mb-0'),
                layout.Column('cuit',
                              css_class='col-lg-2 col-md-4 mb-0',
                              onkeypress="buscar_cliente(event)"),
            ),
            layout.Row(
                layout.Column('actividad', css_class='col-lg-4 col-md-4 mb-0'),
                layout.Column('comercial', css_class='col-lg-3 col-md-4 mb-0'),
                layout.Column('calificacion',
                              css_class='col-lg-3 col-md-4 mb-0'),
                layout.Column('referencia_id',
                              css_class='col-lg-2 col-md-12 mb-0'),
            ),
            layout.Row(
                layout.Column('actividades',
                              css_class='col-lg-5 col-md-6 mb-0'),
                layout.Column('observacion',
                              css_class='col-lg-7 col-md-6 mb-0'),
            ),
            'active',
        )

        # self.helper.layout = layout.Layout(
        #     layout.Field('cuit', onkeypress="buscar_cliente(event)")
        # )

        # agregamos los botones de acción
        bSave = '<button type="submit" class="btn btn-sm btn-primary btn-icon-split mr-1"><span class="icon text-white-50"><i class="fas fa-save"></i></span><span class="text">Grabar</span></button>'
        bCancel = '<a class="btn btn-sm btn-warning btn-icon-split" href="{{request.META.HTTP_REFERER}}"><span class="icon text-white-50"><i class="fas fa-undo"></i></span><span class="text text-dark">Cancela</span></a>'
        self.helper.layout.append(layout.HTML("<hr>"))
        self.helper.layout.append(layout.HTML(bSave))
        self.helper.layout.append(layout.HTML(bCancel))
示例#5
0
    def __init__(self, *args, **kwargs):
        super(DomicilioForm, self).__init__(*args, **kwargs)

        # # dropdown
        # if self.instance.provincia_id:
        #     self.fields['departamento'].queryset = (Departamento.objects.filter(provincia_id=self.instance.provincia_id))
        # if self.instance.departamento_id:
        #     self.fields['localidad'].queryset = (Localidad.objects.filter(departamento_id=self.instance.departamento_id))

        # creamos helper
        self.helper = helper.FormHelper()
        self.helper.form_id = "myform"

        # # creamos layouts
        # self.helper.layout = layout.Layout()

        # # agregamos todos los campos
        # for fld in self.Meta.fields:
        #     self.helper.layout.append(fld)

        campo = '<div class="formColumn col-lg-1 col-md-2 col-sm-6 mb-0"><div id="div_id_hectarea" class="form-group" style="display: none"><label for="id_hectarea" class="col-form-label">Hectareas</label><div class=""><input type="text" name="hectarea" maxlength="2" class="textinput textInput form-control" id="id_hectarea"></div></div></div>'

        # creamos layouts personalizado
        self.helper.layout = layout.Layout(
            layout.Row(
                layout.Column('tipo', css_class='col-lg-4 col-md-6 mb-0'),
                layout.HTML(campo),
            ),
            layout.Row(
                layout.Column('tipo_calle', css_class='col-lg-3 col-md-6 mb-0'),
                layout.Column('nombre',     css_class='col-lg-6 col-md-9 mb-0'),
                layout.Column('numero',     css_class='col-lg-3 col-md-3 mb-0'),
            ),
            layout.Row(
                layout.Column('piso',   css_class='col-lg-4 col-md-4 col-sm-6 mb-0'),
                layout.Column('puerta', css_class='col-lg-4 col-md-4 col-sm-6 mb-0'),
                layout.Column('barrio', css_class='col-lg-4 col-md-4 col-sm-12 mb-0'),
            ),
            layout.Row(                
                layout.Column('provincia',    css_class='col-lg-4 col-md-6  col-sm-12 mb-0'),
                layout.Column('departamento', css_class='col-lg-4 col-md-6  col-sm-12 mb-0'),
                layout.Column('localidad',    css_class='col-lg-4 col-md-12 col-sm-12 mb-0'),
            ),
            layout.Row(                
                layout.Column(layout.Field('provincia_texto',    readonly=True), css_class='col-lg-4 col-md-12 col-sm-12 mb-0'),
                layout.Column(layout.Field('departamento_texto', readonly=True), css_class='col-lg-4 col-md-12 col-sm-12 mb-0'),
                layout.Column(layout.Field('localidad_texto',    readonly=True), css_class='col-lg-4 col-md-12 col-sm-12 mb-0'),
            ),
            'observacion_texto',
            'active',
        )

        # agregamos los botones de acción
        bSave = '<button type="submit" class="btn btn-sm btn-primary btn-icon-split mr-1"><span class="icon text-white-50"><i class="fas fa-save"></i></span><span class="text">Grabar</span></button>'
        bCancel = '<a class="btn btn-sm btn-warning btn-icon-split" href="{{request.META.HTTP_REFERER}}"><span class="icon text-white-50"><i class="fas fa-undo"></i></span><span class="text text-dark">Cancela</span></a>'
        self.helper.layout.append(layout.HTML("<hr>"))
        self.helper.layout.append(layout.HTML(bSave))
        self.helper.layout.append(layout.HTML(bCancel))
示例#6
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.fields["gender"].required = True
        self.fields["date_of_birth"].required = True
        self.fields["declaration"].label = _(
            "Je certifie sur l'honneur être une personne physique et que le réglement de mon prêt ne provient pas d'une"
            " personne morale mais de mon compte en banque personnel.")
        # retirer le help_text qui indique qu'un reçu fiscal sera émis (ce qui n'est pas le cas pour un prêt)
        self.fields["declaration"].help_text = None

        del self.fields["fiscal_resident"]

        if (Payment.objects.filter(
                Q(type=EuropeennesConfig.LOAN_PAYMENT_TYPE)
                & (Q(status=Payment.STATUS_COMPLETED)
                   | Q(status=Payment.STATUS_WAITING, mode="check_afce"))
        ).aggregate(amount=Coalesce(Sum("price"), 0))["amount"] >
                settings.LOAN_MAXIMUM_TOTAL):
            self.fields["payment_mode"].payment_modes = [
                PAYMENT_MODES["system_pay_afce_pret"]
            ]
            self.fields["payment_mode"].initial = PAYMENT_MODES[
                "system_pay_afce_pret"].id
            self.fields["payment_mode"].widget = HiddenInput()

        fields = ["amount"]

        if "email" in self.fields:
            fields.append("email")

        fields.extend([
            "first_name",
            "last_name",
            "gender",
            "nationality",
            layout.Field("location_address1", placeholder="Ligne 1"),
            layout.Field("location_address2", placeholder="Ligne 2"),
            layout.Row(
                layout.Div("location_zip", css_class="col-md-4"),
                layout.Div("location_city", css_class="col-md-8"),
            ),
            "location_country",
            "contact_phone",
            layout.Field("date_of_birth", placeholder="JJ/MM/AAAA"),
            "country_of_birth",
            "city_of_birth",
            "departement_of_birth",
            "iban",
            "payment_mode",
            "declaration",
        ])

        if "subscribed" in self.fields:
            fields.append("subscribed")

        self.helper.layout = layout.Layout(*fields)
示例#7
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.form_method = 'get'

        bFilter = '<button type="submit" class="btn btn-sm btn-primary btn-icon-split mr-1"><span class="icon text-white-50"><i class="fas fa-filter"></i></span><span class="text">Filtrar</span></button>'
        bLimpiar = '<a class="btn btn-sm btn-secondary btn-icon-split" href="' + reverse(
            'empresa:list'
        ) + '"><span class="icon text-white-50"><i class="fas fa-undo"></i></span><span class="text">Limpiar</span></a>'

        self.layout = layout.Layout(
            layout.Div(
                layout.Row(
                    layout.Column(
                        'nombre',
                        css_class='col-lg-5 col-md-4 col-sm-12 mb-0'),
                    layout.Column(
                        'razon_social',
                        css_class='col-lg-5 col-md-4 col-sm-12 mb-0'),
                    layout.Column('cuit',
                                  css_class='col-lg-2 col-md-4 col-sm-6 mb-0'),
                ),
                layout.Row(
                    layout.Column(
                        'comercial',
                        css_class='col-lg-2 col-md-4 col-sm-12 mb-0'),
                    layout.Column(
                        'actividad',
                        css_class='col-lg-3 col-md-4 col-sm-12 mb-0'),
                    layout.Column(
                        'calificacion',
                        css_class='col-lg-3 col-md-4 col-sm-12 mb-0'),
                    layout.Column('referencia_id',
                                  css_class='col-lg-2 col-md-6 col-sm-6 mb-0'),
                    layout.Column('active',
                                  css_class='col-lg-2 col-md-6 col-sm-6 mb-0'),
                ),
                css_class="col-12",
            ),
            layout.Div(
                layout.HTML(bFilter),
                layout.HTML(bLimpiar),
                css_class="col-12 text-right align-self-center",
            ))
    def __init__(self, *args, payment_modes=None, **kwargs):
        super().__init__(*args, **kwargs)

        if payment_modes is not None:
            self.payment_modes = payment_modes

        self.fields["payment_mode"].payment_modes = self.payment_modes

        self.fields["gender"].required = True
        self.fields["date_of_birth"].required = True
        self.fields["declaration"].label = _(
            "Je certifie sur l'honneur être une personne physique et que le réglement de mon prêt ne provient pas d'une"
            " personne morale mais de mon compte en banque personnel.")
        # retirer le help_text qui indique qu'un reçu fiscal sera émis (ce qui n'est pas le cas pour un prêt)
        self.fields["declaration"].help_text = None

        del self.fields["fiscal_resident"]

        fields = ["amount"]

        if "email" in self.fields:
            fields.append("email")

        fields.extend([
            "first_name",
            "last_name",
            "gender",
            "nationality",
            layout.Field("location_address1", placeholder="Ligne 1"),
            layout.Field("location_address2", placeholder="Ligne 2"),
            layout.Row(
                layout.Div("location_zip", css_class="col-md-4"),
                layout.Div("location_city", css_class="col-md-8"),
            ),
            "location_country",
            "contact_phone",
            layout.Field("date_of_birth", placeholder="JJ/MM/AAAA"),
            "country_of_birth",
            "city_of_birth",
            "departement_of_birth",
            "iban",
            "payment_mode",
            "declaration",
        ])

        if "subscribed_lfi" in self.fields:
            fields.append("subscribed_lfi")

        if len(self.fields["payment_mode"].payment_modes) <= 1:
            del self.fields["payment_mode"]
            fields.remove("payment_mode")

        self.helper.layout = layout.Layout(*fields)
示例#9
0
	def __init__(self, *args, **kwargs):
		super().__init__(*args, **kwargs)
		self.helper = FormHelper()
		self.helper.form_action = ""
		self.helper.form_method = "POST"
		self.helper.form_show_labels = False		
		self.helper.form_class = 'form-horizontal'
		self.fields['name_last'].help_text = "Last Name"
		self.fields['name_first'].help_text = "First Name"
		self.fields['email'].help_text = "Email Address"
		self.fields['phone'].help_text = "Phone Number"
		self.fields['address_st1'].help_text = "Street Line 1"
		self.fields['address_st2'].help_text = "Street Line 2"
		self.fields['address_city'].help_text = "City"
		self.fields['address_state'].help_text = "State"
		self.fields['address_zip'].help_text = "Zip Code"
		self.helper.layout = layout.Layout(
			layout.Fieldset(
				_("Contact Info"),
				layout.Row(
					layout.Column("name_last",css_class='form-group col-6 mb-0'),
					layout.Column("name_first",css_class='form-group col-6 mb-0'),
					css_class='form-row'
				),
				layout.Row(
					layout.Column("email",css_class='form-group col-6 mb-0'),
					layout.Column("phone",css_class='form-group col-6 mb-0'),
					css_class='form-row'
				),
			),
			layout.Fieldset(
				_("Property Address"),
				layout.Row(
					layout.Column("address_st1",css_class='form-group col-12 mb-0'),
					css_class='form-row'
				),
				layout.Row(
					layout.Column("address_st2",css_class='form-group col-12 mb-0'),
					css_class='form-row'
				),			
				layout.Row(
					layout.Column("address_city",css_class='form-group col-6 mb-0'),
					layout.Column("address_state",css_class='form-group col-4 mb-0'),
					layout.Column("address_zip",css_class='form-group col-2 mb-0'),
					css_class='form-row'
				),		
			),
			layout.Fieldset(
				_("Additional Comments"),
				layout.Row(
					layout.Column("comments",css_class='form-group col-12 mb-0'),
					css_class='form-row'
				),		
			),
			layout.ButtonHolder(
				layout.Submit('submit', _('Get an offer')),
			)				
		)
示例#10
0
    def __init__(self, *args, round: models.Round, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = crispy_forms.helper.FormHelper()
        self.helper.form_id = 'current-round-form'
        self.helper.form_method = 'post'
        self.helper.form_action = urls.reverse('tournament_detail', kwargs={"pk": round.tournament_id})

        self.helper.add_input(layout.Submit('submit', 'Submit'))
        layout_rows = []
        free_win = None
        for i, duel in enumerate(round.duels.all()):
            player_1, player_2 = f'duel-{i}-player1', f'duel-{i}-player2'

            freewin = models.Player.FREEWIN()
            if freewin in duel.players:
                disabled = True
                free_win = layout.Row(player_1, player_2)
            else:
                disabled = False
                layout_rows.append(layout.Row(player_1, player_2))

            self.fields[player_1] = forms.IntegerField(initial=duel.player_1_wins, min_value=0,
                                                       max_value=settings.MATCH_WINS_NEEDED,
                                                       label=duel.player_1.name,
                                                       disabled=disabled, required=False)
            self.fields[player_2] = forms.IntegerField(initial=duel.player_2_wins, min_value=0,
                                                       max_value=settings.MATCH_WINS_NEEDED,
                                                       label=duel.player_2.name,
                                                       disabled=disabled, required=False)

        if free_win is not None:
            layout_rows.append(free_win)

        self.helper.layout = layout.Layout(
            *layout_rows,
        )
示例#11
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = crispy_forms.helper.FormHelper()
     self.helper.attrs = {"class": "form-control"}
     self.helper = crispy_forms.helper.FormHelper()
     div = partial(layout.Div, css_class="form-group col-md-6")
     self.helper.layout = layout.Layout(
         layout.Row(
             div("username"),
             div("email"),
             css_class="form-row",
         ),
         layout.Row(
             div("first_name"),
             div("last_name"),
             css_class="form-row",
         ),
         layout.Row(
             div("password1"),
             div("password2"),
             css_class="form-row",
         ),
         layout.Submit('submit', 'Submit'),
     )
示例#12
0
    def crispy_init(self):  # pragma: no cover
        """Initialize crispy-forms helper."""
        self.helper = FormHelper()
        self.helper.form_id = 'id-PostCreateForm'
        self.helper.form_class = 'form-group'
        self.helper.form_method = 'post'
        self.helper.form_action = reverse('blog_admin:home')

        # self.helper.layout = layout.Layout(
        #     layout.Field('title'),
        #     layout.Field('description'),
        #     layout.Field('hashtags'),
        #     layout.Field('content'),
        #     layout.Field('preview_img_url'),
        #     layout.Field('post_status'),
        #     layout.ButtonHolder(
        #         layout.Submit('submit', 'Create post')
        #     )
        # )
        self.helper.layout = layout.Layout(
            layout.Div('title',
                       'content',
                       layout.ButtonHolder(
                           layout.Button('next',
                                         'Next page',
                                         css_class='btn-dark')),
                       css_class='m-5',
                       css_id='form1'),
            layout.Div('description',
                       'hashtags',
                       'preview_img_url',
                       'post_status',
                       layout.Row(
                           layout.Div(layout.Button('back',
                                                    'Previous page',
                                                    css_class='btn-dark'),
                                      css_class='col-md-6'),
                           layout.Div(layout.Submit(
                               'submit',
                               'Create post',
                               css_class='btn-success float-right'),
                                      css_class='col-md-6')),
                       css_class='m-5 d-none',
                       css_id='form2'),
        )
示例#13
0
 def __init__(self, user, *args, **kwargs):
     self.helper = FormHelper()
     self.can_add = user.has_perm('inventory.add_equipmentclass')
     if self.can_add:
         self.helper.layout = Layout(
             Div(Div('item_type',
                     HTML('<span style="font-size:24pt;">OR</span>'),
                     layout.Row(Div('item_name', css_class='col-md-6'),
                                Div('item_cat', css_class='col-md-6')),
                     css_class='panel-body'),
                 css_class='panel panel-default'), 'num_to_add',
             FormActions(Submit('save', 'Save changes'), ))
     else:
         self.helper.layout = Layout(
             Div(Div('item_type', css_class='panel-body'),
                 css_class='panel panel-default'), 'num_to_add',
             FormActions(Submit('save', 'Save changes'), ))
     super(FastAdd, self).__init__(*args, **kwargs)
示例#14
0
    def __init__(self, *args, **kwargs):
        team_count = kwargs.pop('team_count', 2)

        super().__init__(*args, **kwargs)
        self.fields['team_count'].initial = team_count

        rows = []

        for index in range(int(team_count)):
            # generate extra fields in the number specified via team_count
            name, players = f'team_name_{index}', f'team_players_{index}'
            rows.append(layout.Row(name, players))
            self.fields[name] = forms.CharField(required=False)
            self.fields[players] = PlayerField(required=False)

        self.helper = crispy_forms.helper.FormHelper()
        self.helper.attrs["id"] = "form"

        self.helper.layout = layout.Layout("team_count", *rows)
        self.helper.add_input(layout.Button(name="add-another", value="add another", css_id="add-another"))
        self.helper.add_input(layout.Submit('submit', 'Submit'))