Пример #1
0
 def __init__(self, *args, **kwargs):
     super(PersonFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset('Basic search options',
                  'name',
                  'forename',
                  'written_name',
                  css_id="basic_search_fields"),
         Accordion(
             AccordionGroup('Biographisches',
                            'belongs_to_place',
                            'belongs_to_place__name',
                            'profession',
                            'gender',
                            css_id="more"),
             AccordionGroup('Rolle',
                            'is_main',
                            'is_related',
                            'is_adm',
                            'is_other',
                            css_id="rolle"),
             AccordionGroup('Inventare & Bücher',
                            'is_main_person__buecher_sys',
                            'is_main_person__mentioned_books',
                            'is_main_person__mentioned_books__title',
                            'is_main_person__mentioned_books_nr',
                            css_id="inventare"),
         ))
    def test_accordion_and_accordiongroup(self, settings):
        test_form = SampleForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            Accordion(AccordionGroup("one", "first_name"),
                      AccordionGroup("two", "password1", "password2")))
        html = render_crispy_form(test_form)

        if settings.CRISPY_TEMPLATE_PACK == "css":
            assert html.count('<div class="accordion"') == 1
            assert html.count('<div class="accordion-group">') == 2
            assert html.count('<div class="accordion-heading">') == 2
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap3":
            assert html.count('<div class="panel panel-default"') == 2
            assert html.count('<div class="panel-group"') == 1
            assert html.count('<div class="panel-heading">') == 2
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap4":
            assert html.count('<div id="accordion"') == 1
            assert html.count('<div class="card mb-2"') == 2
            assert html.count('<div class="card-header"') == 2

        assert html.count('<div id="one"') == 1
        assert html.count('<div id="two"') == 1
        assert html.count('name="first_name"') == 1
        assert html.count('name="password1"') == 1
        assert html.count('name="password2"') == 1
Пример #3
0
 def __init__(self, *args, **kwargs):
     super(UserPreferencesForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'wger-form'
     self.helper.layout = Layout(
         Accordion(
             AccordionGroup(_("Email"),
                            'email',
                            Row(Column('first_name', css_class='form-group col-6 mb-0'),
                                Column('last_name', css_class='form-group col-6 mb-0'),
                                css_class='form-row'),
                            ),
             AccordionGroup(_("Workout reminders"),
                            'workout_reminder_active',
                            'workout_reminder',
                            'workout_duration',
                            ),
             AccordionGroup("{} ({})".format(_("Gym mode"), _("mobile version only")),
                            "timer_active",
                            "timer_pause"
                            ),
             AccordionGroup(_("Other settings"),
                            "ro_access",
                            "notification_language",
                            "weight_unit",
                            "show_comments",
                            "show_english_ingredients",
                            "num_days_weight_reminder",
                            "birthdate",
                            )
         ),
         ButtonHolder(Submit('submit', _("Save"), css_class='btn-success btn-block'))
     )
Пример #4
0
    def __init__(self, *args, **kwargs):
        user = kwargs.pop('user', None)

        if user:
            kwargs.update(initial={
                'displayToUsers': [user.id,],
                'submissionUser': user.id,
            })

        super(AddPrivateEventForm,self).__init__(*args,**kwargs)
        self.fields['submissionUser'].widget = forms.HiddenInput()
        self.fields['status'].widget = forms.HiddenInput()
        self.fields['status'].initial = Event.RegStatus.hidden
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.form_tag = False  # Our template must explicitly include the <form tag>
        self.helper.layout = Layout(
            'status',
            'submissionUser',
            'title',
            Div(
                Field('category', wrapper_class='col'),
                Field('visibleTo', wrapper_class='col'),
                css_class='form-row'),
            Div('displayToUsers'),
            Div('displayToGroup'),
            Accordion(
                AccordionGroup(_('Add A Description'),'descriptionField',active=False),
                AccordionGroup(_('Add A Location'),Div('location','room','locationString')),
                AccordionGroup(_('Add a Link'),'link'),
            ),
        )
Пример #5
0
    def _init_form_layout(self):
        # Add Details section
        accordion_groups = [
            AccordionGroup(
                "Host Details",
                "mac_address",
                "hostname",
                self.primary_address_html,
                self.secondary_address_html,
                "address_type",
                "network_or_ip",
                "network",
                "ip_address",
                self.expire_date,
                "expire_days",
                "description",
                PrependedText("show_hide_dhcp_group", ""),
                "dhcp_group",
            )
        ]

        # Add owners and groups section
        accordion_groups.append(AccordionGroup("Owners", "user_owners", "group_owners"))

        # Add attributes section
        accordion_groups.append(AccordionGroup(*self.attribute_field_keys))

        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.label_class = "col-sm-2 col-md-2 col-lg-2"
        self.helper.field_class = "col-sm-6 col-md-6 col-lg-6"
        self.helper.layout = Layout(Accordion(*accordion_groups))
Пример #6
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.help_text_inline = True

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("operator"),
                    FloatingField("person"),
                    FloatingField("photo"),
                ),
                AccordionGroup(
                    "Optional Information",
                    FloatingField("photo"),
                    FloatingField("identification_photo"),
                    FloatingField("tests"),
                ),
            ),
            HTML("""
                            <br>
                        """),
            ButtonHolder(
                Submit('submit', '+ Add Pilot'),
                HTML(
                    """<a class="btn btn-secondary" href="{% url 'pilots-list' %}" role="button">Cancel</a>"""
                )))
Пример #7
0
 def __init__(self, *args, **kwargs):
     super(DomainFilter, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_method = "get"
     self.helper.form_class = "newitem"
     self.helper.form_show_labels = False
     # Layout the form for Bootstrap
     self.helper.layout = Layout(
         Row(
             Column(
                 PrependedText("name", '<i class="fas fa-filter"></i>'),
                 css_class="col-md-4 offset-md-2",
             ),
             Column(
                 PrependedText("all_cat", '<i class="fas fa-filter"></i>'),
                 css_class=" col-md-4",
             ),
             css_class="form-row",
         ),
         Accordion(
             AccordionGroup("Domain Status",
                            InlineCheckboxes("domain_status")),
             AccordionGroup("Health Status",
                            InlineCheckboxes("health_status")),
         ),
         ButtonHolder(
             Submit("submit_btn",
                    "Filter",
                    css_class="btn btn-primary col-md-2"),
             HTML("""
                 <a class="btn btn-outline-secondary col-md-2" role="button" href="{%  url 'shepherd:domains' %}">Reset</a>
                 """),
         ),
     )
Пример #8
0
 def __init__(self, *args, **kwargs):
     super(TuckBoxForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout(
         Div(Div(HTML('<h3>Generation Options</h3>'), css_class='col-md-9'),
             Div(FormActions(
                 Submit('submit', 'Generate', style="margin-top: 20px;")),
                 css_class='col-md-3'),
             css_class='row'),
         Div(
             Div(
                 Accordion(
                     AccordionGroup('Measurements', 'width', 'height',
                                    'depth'),
                     AccordionGroup('Images', 'front_image', 'side_image',
                                    'back_image', 'end_image',
                                    'fill_colour', 'preserve_side_aspect',
                                    'preserve_end_aspect')),
                 css_class='col-md-12',
             ),
             'tag',
             css_class='row',
         ))
     self.helper.form_id = 'id-tabgenoptions'
     self.helper.form_class = 'blueForms'
     self.helper.form_method = 'post'
     self.helper.form_action = '/tuckboxes/'
     for field in self.fields.values():
         field.required = False
Пример #9
0
 def __init__(self, *args, **kwargs):
     super(KeyWordFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset(
             'Basic search options',
             'id',
             css_id="basic_search_fields"
         ),
         Accordion(
             AccordionGroup(
                 'Advanced search',
                 'legacy_pk',
                 'stichwort',
                 'rvn_stelle_key_word_keyword__text__autor',
                 'art',
                 'wurzel',
                 'kommentar',
                 'varianten',
                 'rvn_stelle_key_word_keyword',
                 'rvn_stelle_key_word_keyword__text',
                 'rvn_stelle_key_word_keyword__text__autor__ort',
                 css_id="more"
             ),
             AccordionGroup(
                 'admin',
                 'legacy_id',
                 css_id="admin_search"
             ),
         )
     )
Пример #10
0
 def __init__(self, *args, **kwargs):
     super(TrpPageFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset('Basic search options',
                  'id',
                  css_id="basic_search_fields"),
         Accordion(
             AccordionGroup('Advanced search',
                            'part_of',
                            'page_nr',
                            'page_key',
                            'image_id',
                            'page_url',
                            'thum_url',
                            'img_file_name',
                            'width',
                            'height',
                            'created',
                            'indexed',
                            css_id="more"),
             AccordionGroup('admin', 'legacy_id', css_id="admin_search"),
         ))
Пример #11
0
 def __init__(self, *args, **kwargs):
     super(TrpTranscriptFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset('Basic search options',
                  'id',
                  css_id="basic_search_fields"),
         Accordion(
             AccordionGroup('Advanced search',
                            'following',
                            'transcript_key',
                            'part_of',
                            'part_of_document',
                            'transcript_url',
                            'status',
                            'transcriber',
                            'transcriber_id',
                            'timestamp',
                            'nr_of_regions',
                            'nr_of_transcribed_regions',
                            'nr_of_words_in_regions',
                            'nr_of_lines',
                            'nr_of_words_in_lines',
                            'nr_of_words',
                            'gt_id',
                            css_id="more"),
             AccordionGroup('admin', 'legacy_id', css_id="admin_search"),
         ))
Пример #12
0
 def __init__(self, *args, **kwargs):
     super(HapaBelegFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset('Basic search options',
                  'short_quote',
                  css_id="basic_search_fields"),
         Accordion(
             AccordionGroup('Advanced search',
                            'zotero_id',
                            'text',
                            'full_quote',
                            'time_of_origin_start',
                            'time_of_origin_end',
                            'comment',
                            css_id="more"),
             AccordionGroup('admin',
                            'id',
                            'tags',
                            'internal_comment',
                            css_id="admin_search"),
         ))
Пример #13
0
 def __init__(self, *args, **kwargs):
     super(PolygonLayerStyleForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_tag = False
     self.helper.disable_csrf = True
     self.helper.label_class = 'col-lg-5'
     self.helper.field_class = 'col-lg-7'
     self.helper.layout = Layout(
         Accordion(
             AccordionGroup('Style options',
                            Field('fill', css_class='spectrum'),
                            'fill_opacity',
                            Field('stroke_color', css_class='spectrum'),
                            'stroke_width',
                            'stroke_opacity',
                            'stroke_offset',
                            'dash_array',
                            active=True),
             AccordionGroup('Advanced options',
                            'gamma',
                            'gamma_method',
                            'smooth',
                            'simplify_tolerance',
                            active=False),
             AccordionGroup('Filter & constraints',
                            'filter',
                            'minScale',
                            'maxScale',
                            active=False)),
         Div('id', 'DELETE', css_class="hiddenDiv", style="display:none"))
Пример #14
0
 def __init__(self, *args, **kwargs):
     super(PointLayerStyleForm, self).__init__(*args, **kwargs)
     markers = Marker.objects.all()
     ##        choices = [(marker.id, '%s' % marker.name)]
     ##        choices.insert(0,('0','Please Choose'))
     self.fields['marker'] = forms.ModelChoiceField(
         queryset=markers, empty_label="-- Select a symbol --")
     self.helper = FormHelper()
     self.helper.form_tag = False
     self.helper.disable_csrf = True
     self.helper.label_class = 'col-lg-5'
     self.helper.field_class = 'col-lg-7'
     self.helper.layout = Layout(
         Accordion(
             AccordionGroup('Style options',
                            Field('marker', css_class="markerSelect"),
                            Field('fill', css_class='spectrum'),
                            'fill_opacity',
                            Field('stroke_color', css_class='spectrum'),
                            'stroke_width',
                            'stroke_opacity',
                            'transform',
                            active=True),
             AccordionGroup('Placement options',
                            'allow_overlap',
                            'spacing',
                            'max_error',
                            active=False),
             AccordionGroup('Filter & constraints',
                            'minScale',
                            'maxScale',
                            'filter',
                            active=False)),
         Div('id', 'DELETE', css_class="hiddenDiv", style="display:none"))
Пример #15
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.help_text_inline = True

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("full_name"),
                    FloatingField("common_name"),
                    FloatingField("email"),
                    FloatingField("website"),
                    FloatingField("phone_number"),
                    FloatingField("company_number"),
                    FloatingField("address"),
                    FloatingField("role"),
                    FloatingField("country"),
                ),
                AccordionGroup(
                    "Optional Information",
                    FloatingField("documents"),
                    FloatingField("vat_number"),
                    FloatingField("insurance_number"),
                ),
            ),
            HTML("""
                            <br>
                        """),
            ButtonHolder(
                Submit('submit', '+ Add Company'),
                HTML(
                    """<a class="btn btn-secondary" href="{% url 'companies-list' %}" role="button">Cancel</a>"""
                )))
Пример #16
0
 def __init__(self, *args, **kwargs):
     super(StelleFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset(
             'Basic search options',
             'id',
             'text',
             'key_word',
             'use_case',
             css_id="basic_search_fields"
         ),
         Accordion(
             AccordionGroup(
                 'Advanced search',
                 'legacy_pk',
                 'summary',
                 'zitat',
                 'translation',
                 'kommentar',
                 css_id="more"
             ),
             AccordionGroup(
                 'admin',
                 'legacy_id',
                 css_id="admin_search"
             ),
         )
     )
Пример #17
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        super(FlightOperationCreateForm,
              self).__init__(*args, **kwargs)  # populates the post
        self.fields['flight_plan'].queryset = FlightPlan.objects.filter(
            is_editable=True)

        self.helper = FormHelper(self)
        self.helper.help_text_inline = True

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("name"),
                    FloatingField("drone"),
                    FloatingField("flight_plan"),
                    FloatingField("purpose"),
                    FloatingField("operator"),
                    FloatingField("pilot"),
                    "start_datetime",
                    "end_datetime",
                ),
                AccordionGroup("Optional Information",
                               FloatingField("type_of_operation")),
                HTML("""
                            <br>
                        """),
                ButtonHolder(
                    Submit('submit', '+ Add Operation'),
                    HTML(
                        """<a class="btn btn-secondary" href="{% url 'flightoperations-list' %}" role="button">Cancel</a>"""
                    ))))
Пример #18
0
 def __init__(self, *args, **kwargs):
     super(TextFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Fieldset(
             'Basic search options',
             'id',
             css_id="basic_search_fields"
         ),
         Accordion(
             AccordionGroup(
                 'Advanced search',
                 'legacy_pk',
                 'autor',
                 'title',
                 'jahrhundert',
                 'start_date',
                 'end_date',
                 'edition',
                 'art',
                 'ort',
                 'kommentar',
                 css_id="more"
             ),
             AccordionGroup(
                 'admin',
                 'legacy_id',
                 css_id="admin_search"
             ),
         )
     )
Пример #19
0
    def test_accordion_and_accordiongroup(self, settings):
        test_form = TestForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            Accordion(
                AccordionGroup(
                    'one',
                    'first_name'
                ),
                AccordionGroup(
                    'two',
                    'password1',
                    'password2'
                )
            )
        )
        html = render_crispy_form(test_form)

        if settings.CRISPY_TEMPLATE_PACK == 'bootstrap':
            assert html.count('<div class="accordion"') == 1
            assert html.count('<div class="accordion-group">') == 2
            assert html.count('<div class="accordion-heading">') == 2
        else:
            assert html.count('<div class="panel panel-default"') == 2
            assert html.count('<div class="panel-group"') == 1
            assert html.count('<div class="panel-heading">') == 2

        assert html.count('<div id="one"') == 1
        assert html.count('<div id="two"') == 1
        assert html.count('name="first_name"') == 1
        assert html.count('name="password1"') == 1
        assert html.count('name="password2"') == 1
Пример #20
0
 def __init__(self, *args, **kwargs):
     super(PersonFilterFormHelper, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.form_class = 'genericFilterForm'
     self.form_method = 'GET'
     self.helper.form_tag = False
     self.add_input(Submit('Filter', 'Search'))
     self.layout = Layout(
         Accordion(
             AccordionGroup('Namen, Geschlecht',
                            'name',
                            'forename',
                            'written_name',
                            'gender',
                            css_id="basic_search_fields"),
             AccordionGroup('Berufe, Orte',
                            'belongs_to_place',
                            'profession',
                            css_id="more"),
             AccordionGroup('Erwähnungen',
                            'is_main_vfbr',
                            'is_main',
                            'is_adm',
                            'is_related',
                            'is_other',
                            css_id="mentions"),
             AccordionGroup('Duplikate',
                            'dedupe_cluster_id',
                            css_id="duplicates"),
         ))
    def test_accordion_and_accordiongroup(self, settings):
        test_form = SampleForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            Accordion(
                AccordionGroup("one", "first_name"),
                AccordionGroup("two", "password1", "password2"),
            ))
        html = render_crispy_form(test_form)

        if settings.CRISPY_TEMPLATE_PACK == "bootstrap":
            assert html.count('<div class="accordion"') == 1
            assert html.count('<div class="accordion-group">') == 2
            assert html.count('<div class="accordion-heading">') == 2
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap3":
            assert html.count('<div class="panel panel-default"') == 2
            assert html.count('<div class="panel-group"') == 1
            assert html.count('<div class="panel-heading">') == 2
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap4":
            match = re.search('div id="(accordion-\\d+)"', html)
            assert match

            accordion_id = match.group(1)

            assert html.count('<div class="card mb-2"') == 2
            assert html.count('<div class="card-header"') == 2

            assert html.count('data-parent="#{}"'.format(accordion_id)) == 2

        assert html.count('<div id="one"') == 1
        assert html.count('<div id="two"') == 1
        assert html.count('name="first_name"') == 1
        assert html.count('name="password1"') == 1
        assert html.count('name="password2"') == 1
Пример #22
0
    def __init__(self, *args, **kwargs):
        super(InstitutionEditForm, self).__init__(*args, **kwargs)

        # If you pass FormHelper constructor a form instance
        # It builds a default layout with all its fields
        self.helper = FormHelper(self)
        self.helper.layout = Layout(
            Accordion(
                AccordionGroup(
                    'General',
                    Field('name'),
                    Field('active'),
                    Field('email'),
                    Field('phone'),
                    Field('domain'),
                    Field('institution_unit'),
                    Field('public_certificate'),
                    # Field('public_key'),
                    active=True,
                ),
                AccordionGroup('Avanzado',
                               Field('bccr_negocio'),
                               Field('bccr_entidad'),
                               active=False)),
            Submit('save', 'save'))
Пример #23
0
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(Kv17ChangeForm, self).__init__(*args, **kwargs)

        days = [[
            str(d['date'].strftime('%Y-%m-%d')),
            str(d['date'].strftime('%d-%m-%Y'))
        ] for d in Kv1JourneyDate.objects.all().filter(
            date__gte=datetime.today() -
            timedelta(days=1)).values('date').distinct('date').order_by('date')
                ]

        operating_day = days[((datetime.now().hour < 4) * -1) +
                             1] if len(days) > 1 else None
        self.fields['operatingday'].choices = days
        self.fields['operatingday'].initial = operating_day
        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Accordion(
                AccordionGroup(_('Datum en tijd'), 'operatingday',
                               'begintime_part', 'endtime_part'),
                AccordionGroup(_('Oorzaak'), 'reasontype', 'subreasontype',
                               'reasoncontent'),
                AccordionGroup(_('Advies'), 'advicetype', 'subadvicetype',
                               'advicecontent')))
Пример #24
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.help_text_inline = True
        self.fields['company'].queryset = Company.objects.filter(role=2)

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("company"),
                    FloatingField("website"),
                    FloatingField("email"),
                    FloatingField("phone_number"),
                    FloatingField("operator_type"),
                    FloatingField("address"),
                ),
                AccordionGroup(
                    "Optional Information",
                    "operational_authorizations",
                    "authorized_activities",
                    FloatingField("insurance_number"),
                    FloatingField("company_number"),
                    FloatingField("vat_number"),
                    FloatingField("country"),
                ),
            ),
            HTML("""
                            <br>
                        """),
            ButtonHolder(
                Submit('submit', '+ Add Operator'),
                HTML(
                    """<a class="btn btn-secondary" href="{% url 'operators-list' %}" role="button">Cancel</a>"""
                )))
Пример #25
0
 def __init__(self, *args, **kwargs):
     self.helper = FormHelper()
     self.helper.form_tag = False
     self.helper.form_show_labels = False
     self.helper.layout = Layout(
         Accordion(
             AccordionGroup('Event Details',
                 PrependedText('title', 'Title', placeholder="Title of the Event"),
                 Div(
                     PrependedAppendedText('start_time', 'Begins', '<span class="glyphicon glyphicon-calendar"></span>', placeholder="dd/mm/yyyy hh:mm"),
                         css_class="input-group date col-sm-6"
                 ),
                 Div(
                     PrependedAppendedText('end_time', 'Ends', '<span class="glyphicon glyphicon-calendar"></span>', placeholder="dd/mm/yyyy hh:mm"),
                         css_class="input-group date col-sm-6"
                 )
             ),
             AccordionGroup('Voters',
                 'voters',
                 HTML("<p>Comma seperated (.csv) file of valid email addresses</p>"),
                 'votersTextFile'
             ),
         ),
     )
     super(EventEditForm, self).__init__(*args, **kwargs)
Пример #26
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.help_text_inline = True

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("aircraft"),
                    FloatingField("mass"),
                    FloatingField("is_registered"),
                ),
                AccordionGroup(
                    "Optional Information",
                    FloatingField("commission_date"),
                    FloatingField("registration_mark"),
                    FloatingField("digital_sky_uin_number"),
                    FloatingField("identification_photo"),
                ),
            ),
            HTML("""
                            <br>
                        """),
            ButtonHolder(
                Submit('submit', '+ Add Aircraft Details'),
                HTML(
                    """<a class="btn btn-secondary" href="{% url 'aircrafts-list' %}" role="button">Cancel</a>"""
                )))
    def test_accordion_active_false_not_rendered(self, settings):
        test_form = SampleForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            Accordion(AccordionGroup(
                "one",
                "first_name",
            ),
                      # there is no ``active`` kwarg here.
                      ))

        # The first time, there should be one of them there.
        html = render_crispy_form(test_form)

        if settings.CRISPY_TEMPLATE_PACK == "css":
            accordion_class = "accordion-body collapse in"
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap3":
            accordion_class = "panel-collapse collapse in"
        elif settings.CRISPY_TEMPLATE_PACK == "bootstrap4":
            accordion_class = "collapse show"

        assert html.count('<div id="one" class="%s"' % accordion_class) == 1

        test_form.helper.layout = Layout(
            Accordion(AccordionGroup(
                "one",
                "first_name",
                active=False,
            ), )  # now ``active`` manually set as False
        )

        # This time, it shouldn't be there at all.
        html = render_crispy_form(test_form)
        assert html.count('<div id="one" class="%s collapse in"' %
                          accordion_class) == 0
Пример #28
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.help_text_inline = True

        self.helper.layout = Layout(
            BS5Accordion(
                AccordionGroup(
                    "Mandatory Information",
                    FloatingField("first_name"),
                    FloatingField("middle_name"),
                    FloatingField("last_name"),
                    FloatingField("email"),
                    FloatingField("phone_number"),
                    FloatingField("country"),
                ),
                AccordionGroup("Optional Information",
                               FloatingField("documents"),
                               FloatingField("date_of_birth")),
            ),
            HTML("""
                            <br>
                        """),
            ButtonHolder(
                Submit('submit', '+ Add Person'),
                HTML(
                    """<a class="btn btn-secondary" href="{% url 'people-list' %}" role="button">Cancel</a>"""
                )))
Пример #29
0
    def test_bs5accordion_active_false_not_rendered(self):
        test_form = SampleForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            BS5Accordion(AccordionGroup("one", "first_name"),
                         # there is no ``active`` kwarg here.
                         ))

        # The first time, there should be one of them there.
        html = render_crispy_form(test_form)

        accordion_class = "collapse show"

        assert (html.count('<div id="one" class="accordion-collapse %s"' %
                           accordion_class) == 1)

        test_form.helper.layout = Layout(
            BS5Accordion(AccordionGroup("one", "first_name", active=False),
                         )  # now ``active`` manually set as False
        )

        # This time, it shouldn't be there at all.
        html = render_crispy_form(test_form)
        assert (html.count('<div id="one" class="accordion-collapse %s"' %
                           accordion_class) == 0)
Пример #30
0
    def test_accordion_and_accordiongroup(self):
        test_form = TestForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            Accordion(
                AccordionGroup(
                    'one',
                    'first_name'
                ),
                AccordionGroup(
                    'two',
                    'password1',
                    'password2'
                )
            )
        )
        html = render_crispy_form(test_form)

        if self.current_template_pack == 'bootstrap':
            self.assertEqual(html.count('<div class="accordion"'), 1)
            self.assertEqual(html.count('<div class="accordion-group">'), 2)
            self.assertEqual(html.count('<div class="accordion-heading">'), 2)
        else:
            self.assertEqual(html.count('<div class="panel panel-default"'), 2)
            self.assertEqual(html.count('<div class="panel-group"'), 1)
            self.assertEqual(html.count('<div class="panel-heading">'), 2)

        self.assertEqual(html.count('<div id="one"'), 1)
        self.assertEqual(html.count('<div id="two"'), 1)
        self.assertEqual(html.count('name="first_name"'), 1)
        self.assertEqual(html.count('name="password1"'), 1)
        self.assertEqual(html.count('name="password2"'), 1)