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' ) )
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", ), ) ) )
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))
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))
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))
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)
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)
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')), ) )
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, )
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'), )
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'), )
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)
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'))