Esempio n. 1
0
    def __init__(self, *args, **kwargs):
        admin = kwargs.pop('admin', None)
        is_owner = kwargs.pop('is_owner', None)
        super(FilterForm, self).__init__(*args, **kwargs)

        if not admin:
            self.fields['owner'].widget.attrs['disabled'] = 'disabled'

        if not is_owner:
            for field in self.fields.values():
                field.widget.attrs['disabled'] = 'disabled'

        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            'id',
            Row(Column('name', css_class='medium-6'),
                Column('owner', css_class='medium-6')))
Esempio n. 2
0
 def __init__(self, *args, **kwargs):
     super(ViewForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'custom'
     self.helper.form_action = ''
     self.helper.form_method = 'GET'
     self.helper.layout = Layout(
         Fieldset(
             'Choose statistic',
             Row(
                 Column('view', css_class='medium-5'),
                 Column('timeframe', css_class='medium-3'),
                 Column('rows', css_class='medium-1'),
                 Column(LabelSubmit('submit',
                                    'Show statistics',
                                    css_class='postfix'),
                        css_class='medium-3'),
             )))
    def __init__(self, *args, **kwargs):
        super(FormByTabsForm, self).__init__(*args, **kwargs)

        self.helper.attrs = {'data_abide': ''}
        self.helper.form_action = '.'

        part1 = [_('Part 1')] + part_1_crispies(pack=self.helper.template_pack)
        part2 = [_('Part 2')] + part_2_crispies(pack=self.helper.template_pack)
        part3 = [_('Part 3')] + part_3_crispies(pack=self.helper.template_pack)
        part4 = [_('Part 4')] + part_4_crispies(pack=self.helper.template_pack)

        self.helper.layout = Layout(
            TabHolder(
                TabItem(*part1),
                TabItem(*part2),
                TabItem(*part3),
                TabItem(*part4),
            ), *buttons_crispies(pack=self.helper.template_pack))
Esempio n. 4
0
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'

        self.helper.layout = Layout(
            Field('title'),
            HTML('{% include "misc/editor.part.html" %}'),
            Field('text'),
            Div(
                Submit('submit', u'Ajouter'),
                Submit('preview', u'Prévisualiser'),
                Submit(
                    'submit_continue', u'Ajouter et continuer',
                    css_class='secondary'),
                css_class='button-group'
            )
        )
        super().__init__(*args, **kwargs)
def test_tab(output_test_path, render_output, rendered_template, helper,
             client):
    form = AdvancedForm()
    pack = helper.template_pack

    helper.layout = Layout(
        TabHolder(TabItem('My tab 1', 'simple'),
                  TabItem('My tab 2', 'opt_in'),
                  TabItem('My tab 3', 'longtext'),
                  css_id='meep-meep'))

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(
        os.path.join(output_test_path, pack, 'test_tab.html'))
    #write_output(output_test_path, pack, "test_tab.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)
def test_inlinefield(output_test_path, render_output, rendered_template,
                     helper, client):
    form = BasicInputForm()
    pack = helper.template_pack

    helper.layout = Layout(
        InlineField('simple',
                    label_column='large-7',
                    input_column='large-5',
                    label_class='foobar'))

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(
        os.path.join(output_test_path, pack, "test_inlinefield.html"))
    #write_output(output_test_path, pack, "test_inlinefield.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)
Esempio n. 7
0
    def __init__(self, *args, **kwargs):
        super(L2TraceForm, self).__init__(*args, **kwargs)

        placeholder_text = "Hostname or IP-address"

        self.helper = FormHelper()
        self.helper.form_action = ""
        self.helper.form_method = 'GET'

        self.helper.layout = Layout(
            Row(
                Column(Field('host_from', placeholder=placeholder_text),
                       css_class='medium-6'),
                Column(Field('host_to', placeholder=placeholder_text),
                       css_class='medium-6'),
            ),
            Submit('submit', 'Trace')
        )
Esempio n. 8
0
    def __init__(self, *args, **kwargs):
        if 'my_account' in kwargs:
            self.account = kwargs.pop('my_account')
        else:
            self.account = None

        super(ChangePasswordForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Fieldset(
                'Change password',
                'old_password',
                'new_password1',
                'new_password2',
                Submit('submit', 'Change password', css_class='small'),
            ))
Esempio n. 9
0
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'

        self.helper.layout = Layout(
            Fieldset(
                u'Général',
                Field('title')
            ),
            Fieldset(
                u'Contenu',
                Field('introduction'),
                Field('conclusion')
            ),
            ButtonHolder(
                Submit('submit', 'Valider'),
            )
        )
        super(PartForm, self).__init__(*args, **kwargs)
Esempio n. 10
0
 def __init__(self, *args, **kwargs):
     self.helper = FormHelper()
     self.helper.attrs = {'data_abide': ''}
     self.helper.form_action = '.'
     
     part1 = [_('Part 1')]+part_1_crispies()
     part2 = [_('Part 2')]+part_2_crispies()
     part3 = [_('Part 3')]+part_3_crispies()
     part4 = [_('Part 4')]+part_4_crispies()
     
     self.helper.layout = Layout(
         Fieldset(*part1),
         Fieldset(*part2),
         Fieldset(*part3),
         Fieldset(*part4),
         *buttons_crispies()
     )
     
     super(FormByFieldsetsForm, self).__init__(*args, **kwargs)
Esempio n. 11
0
    def __init__(self, *args, **kwargs):
        super(TimePeriodForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        submit_text = 'Add'

        if self.instance and self.instance.id:
            self.fields['valid_during'].widget.attrs['disabled'] = 'disabled'
            submit_text = 'Save'

        self.helper.form_tag = False
        self.helper.layout = Layout(
            'id', 'profile',
            Row(
                Column('start', css_class='medium-6'),
                Column(Field('valid_during', css_class='select2'),
                       css_class='medium-6')
            ),
            Submit('submit', submit_text, css_class='small')
        )
Esempio n. 12
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_tag = False
     self.helper.render_required_fields = True
     self.helper.render_hidden_fields = True
     self.helper.form_method = 'post'
     self.helper.form_show_errors = True
     self.helper.layout = Layout(
         Row(Column('student'),
             Column('contact_type', css_class='form-group col-md-4 mb-0'),
             Column('contact', css_class='form-group col-md-8 mb-0'),
             css_class='form-row'),
         Row(Column('first_name', css_class='form-group col-md-6 mb-0'),
             Column('last_name', css_class='form-group col-md-6 mb-0'),
             css_class='form-row'),
         Row(Column('phone_number', css_class='form-group col-md-4 mb-0'),
             Column('email', css_class='form-group col-md-8 mb-0'),
             css_class='form-row'))
Esempio n. 13
0
 def __init__(self, *args, **kwargs):
     super(LoginForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_id = 'login-form'
     self.helper.attrs = {'data_abide': ''}
     self.helper.form_method = 'post'
     self.helper.form_action = ''
     self.helper.layout = Layout(
         Fieldset(
             '',
             'username',
             'password'
         ),
         ButtonHolder(
             Reset('reset', 'Reset', css_class='secondary'),
             Submit('submit', 'Submit'),
             css_class='buttons text-right'
         )
     )
Esempio n. 14
0
def test_buttongroup(output_test_path, render_output, rendered_template,
                     helper, client):
    form = BasicInputForm()
    pack = helper.template_pack

    helper.layout = Layout(
        'simple',
        ButtonGroup(
            Submit('Save', 'Save'),
            Button('Cancel', 'Cancel'),
        ))

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(
        os.path.join(output_test_path, pack, "test_buttongroup.html"))
    #write_output(output_test_path, pack, "test_buttongroup.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)
def test_accordion(output_test_path, render_output, rendered_template, helper,
                   client):
    form = AdvancedForm()
    pack = helper.template_pack

    # Define 'css_id' to avoid test fails with automatic generated random ID
    helper.layout = Layout(
        AccordionHolder(AccordionItem('Group 1', 'simple'),
                        AccordionItem('Group 2', 'opt_in'),
                        AccordionItem('Group 3', 'longtext'),
                        css_id="meep-meep"))

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(
        os.path.join(output_test_path, pack, "test_accordion.html"))
    #write_output(output_test_path, pack, "test_accordion.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)
Esempio n. 16
0
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'

        self.helper.layout = Layout(
            Fieldset(
                u'Identifiants',
                Field('username'),
                Field('password'),
                Field('password_confirm'),
                Field('email'),
            ), Fieldset(
                u'Captcha',
                Field('captcha'),
            ),
            Div(Submit('submit', u'Valider mon inscription'),
                HTML(u'<a href="/" class="button secondary">Annuler</a>'),
                css_class='button-group'))
        super().__init__(*args, **kwargs)
Esempio n. 17
0
def test_inlineswitchfield(output_test_path, rendered_template, helper,
                           client):
    form = BoolInputForm()
    pack = helper.template_pack

    helper.layout = Layout(
        InlineSwitchField('opt_in',
                          label_column='large-8',
                          input_column='large-4',
                          label_class='foobar',
                          switch_class="inline"))

    rendered = rendered_template(form, helper=helper)

    attempted = read_output(output_test_path, pack,
                            "test_inlineswitchfield.html")
    #write_output(output_test_path, pack, "test_inlineswitchfield.html", rendered)

    assert rendered == attempted
Esempio n. 18
0
def test_tab(output_test_path, rendered_template, helper, client):
    form = AdvancedForm()
    pack = helper.template_pack

    helper.layout = Layout(
        TabHolder(
            TabItem('My tab 1', 'simple'),
            TabItem('My tab 2', 'opt_in'),
            TabItem('My tab 3', 'longtext'),
            css_id="meep-meep"
        )
    )

    rendered = rendered_template(form, helper=helper)

    attempted = read_output(output_test_path, pack, "test_tab.html")
    #write_output(output_test_path, pack, "test_tab.html", rendered)

    assert attempted == rendered
Esempio n. 19
0
    def __init__(self, *args, **kwargs):
        super(AccountForm, self).__init__(*args, **kwargs)
        account = kwargs.get('instance', False)
        self.helper = FormHelper()
        self.helper.form_action = ''
        self.helper.form_method = 'POST'

        fieldset_name = 'Account'
        fieldset_args = [fieldset_name]
        default_args = ['login', 'name', 'password1', 'password2']

        if account:
            self.fields['password1'].required = False
            submit_value = 'Save changes'

            # This should really be two different forms because of this
            if kwargs['instance'].ext_sync:
                # We don't want to enable local password editing for accounts that are
                # managed externally.
                authenticator = (
                    "<p class='alert-box'>External authenticator: %s</p>"
                    % kwargs["instance"].ext_sync
                )
                del self.fields['password1']
                del self.fields['password2']
                self.fields['login'].widget.attrs['readonly'] = True
                fieldset_args.extend(['login', 'name',
                                      HTML(authenticator)])
            else:
                fieldset_args.extend(default_args)
            if kwargs["instance"].id == Account.DEFAULT_ACCOUNT:
                # We don't want to enable significant changes to the anonymous account
                for field in ("password1", "password2", "login"):
                    self.fields[field].widget.attrs["readonly"] = True
        else:
            submit_value = 'Create account'
            fieldset_args.extend(default_args)

        submit = Submit('submit_account', submit_value, css_class='small')
        fieldset_args.extend([submit])
        fieldset = Fieldset(*fieldset_args)
        self.helper.layout = Layout(fieldset)
Esempio n. 20
0
    def __init__(self, *args, **kwargs):
        self._request = kwargs.pop('request')

        super(StudyFilterForm, self).__init__(*args, **kwargs)

        self.applied_filters = []

        layouts = OrderedDict([('Study', []), ('Qualifier', []),
                               ('Domain', [])])
        for filt in Filter.objects.all().order_by('label'):
            layout_item, form_field = self._get_filter_layout_and_field(filt)
            # put layout_item into correct layout_group
            layouts[filt.filter_type].append(layout_item)
            # register form_field in form fields
            self.fields[filt.name] = form_field
            # add pretty_initial values to form attr if exists (for view)
            if hasattr(form_field, 'pretty_initial'):
                self.applied_filters.append(
                    (filt.label, form_field.pretty_initial))

        study_layout = self._get_accordion_or_empty(items=layouts['Study'])
        qualifier_layout = self._get_accordion_or_empty(
            items=layouts['Qualifier'])
        domain_layout = self._get_accordion_or_empty(items=layouts['Domain'])

        self.helper = FormHelper()
        self.helper.form_method = "GET"
        self.helper.layout = Layout(
            Row(Column(
                Div(
                    HTML('<span id="message-bar">No new filters.</span>'),
                    ButtonGroup(
                        Submit('Apply', 'Apply', css_class="tiny secondary"),
                        Submit('Reset',
                               'Clear Filters',
                               css_class="secondary tiny"),
                        css_class="right",
                    ))),
                css_id="sticky-menu"),
            Row(Column(Fieldset("Study metadata", study_layout), )),
            Row(Column(Fieldset("Qualifier metadata", qualifier_layout), )),
            Row(Column(Fieldset("Domain metadata", domain_layout), )))
Esempio n. 21
0
    def __init__(self, link_pk, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.form_id = 'createlistform'
        self.helper.form_action = reverse('ajax-create-list', args=(link_pk, ))

        self.helper.layout = Layout(
            Fieldset(
                u'Create a list',
                Row(Column(Field('title'), css_class='large-12'), ),
                Row(Column(Field('description'), css_class='large-12'), ),
                Row(Column(Field('private'), css_class='large-4'), ),
            ),
            Row(
                Column(HTML(
                    '<a id="createlist" class="small button">Create</a><a id="createclose" class="small secondary button" style="display:none">Close</a>'
                ),
                       css_class='large-12'), ),
        )
        super(NewListAjaxForm, self).__init__(*args, **kwargs)
Esempio n. 22
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_tag = False
     #self.helper.form_id = 'id-student-form'
     self.helper.form_method = 'post'
     self.helper.layout = Layout(
         Fieldset(
             'Product Data',
             Row(Column('name', css_class='form-group col-md-4 mb-0'),
                 Column('description',
                        css_class='form-group col-md-4 mb-0'),
                 Column('cost_price', css_class='form-group col-md-4 mb-0'),
                 Column('selling_price',
                        css_class='form-group col-md-4 mb-0'),
                 Column('quantity', css_class='form-group col-md-4 mb-0'),
                 Column('keep_inventory',
                        css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
         ), )
Esempio n. 23
0
    def __init__(self, *args, **kwargs):
        super(PasswordChangeForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.form_id = 'pw-change-form'
        self.helper.form_method = 'post'
        self.helper.form_action = ''
        self.helper.layout = Layout(
            Fieldset(
                'Change password',
                'old_password',
                'new_password1',
                'new_password2'
            ),
            ButtonHolder(
                Submit('submit', 'Submit'),
                Reset('reset', 'Reset'),
                css_class='text-right'
            )
        )
Esempio n. 24
0
    def __init__(self, *args, **kwargs):
        super(NetboxFilterForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_action = ''
        self.helper.form_method = 'GET'
        self.helper.form_class = 'custom'

        self.helper.layout = Layout(
            Fieldset(
                'Filter devices',
                Row(
                    Column('category', css_class='medium-3'),
                    Column('room', css_class='medium-3'),
                    Column('organization', css_class='medium-3'),
                    Column(LabelSubmit('submit', 'Filter',
                                       css_class='postfix'),
                           css_class='medium-3')
                )
            )
        )
Esempio n. 25
0
 def __init__(self, *args, **kwargs):
     super(VlanFilterForm, self).__init__(*args, **kwargs)
     col_class = 'medium-3'
     self.helper = FormHelper()
     self.helper.form_action = ''
     self.helper.form_method = 'GET'
     self.helper.form_class = 'custom'
     self.helper.layout = Layout(
         Fieldset(
             'Filter vlans',
             Row(
                 Column('net_type', css_class=col_class),
                 Column('organization', css_class=col_class),
                 Column('usage', css_class=col_class),
                 Column(
                     LabelSubmit('submit', 'Filter', css_class='postfix'),
                     css_class=col_class,
                 ),
             ),
         ))
Esempio n. 26
0
def note_helper(form_tag=True):
    """
    Note form layout helper
    """
    helper = FormHelper()
    helper.form_action = '.'
    helper.attrs = {'data_abide': ''}
    helper.form_tag = form_tag
    
    helper.layout = Layout(
        Row(
            Column(
                'title',
                css_class='small-12'
            ),
        ),
        Row(
            Column(
                'content',
                css_class='small-12'
            ),
        ),
        Row(
            Column(
                'file',
                css_class='small-12'
            ),
        ),
        Row(
            Column(
                'tags',
                css_class='small-12'
            ),
        ),
        ButtonHolderPanel(
            Submit('submit', _('Submit')),
            css_class='text-right',
        ),
    )
    
    return helper
Esempio n. 27
0
def entity_delete_helper(form_tag=True, has_notes=False):
    """
    Entity delete form layout helper
    """
    helper = FormHelper()
    helper.form_action = '.'
    helper.attrs = {'data_abide': ''}
    helper.form_tag = form_tag
    
    columns = []
    
    # Show 'move to' field if there are some notes
    if has_notes:
        columns.append(
            Column(
                'move_notecards_to',
                css_class='small-12 medium-8'
            ),
        )
    
    columns.append(
        Column(
            'confirm',
            css_class='small-12 medium-8'
        ),
    )
    
    columns.append(
        Column(
            Submit('submit', _('Submit')),
            css_class='small-12 medium-4 text-right'
        ),
    )
    
    helper.layout = Layout(
        ButtonHolderPanel(
            Row(*columns),
        ),
    )
    
    return helper
Esempio n. 28
0
    def __init__(self, *args, **kwargs):
        super(DetentionProfileForm, self).__init__(*args, **kwargs)

        self.fields['qvlan'].choices = get_quarantine_vlans()
        did = self.data.get('detention_id') or self.initial.get('detention_id')
        self.fields['justification'].choices = get_justifications(did)

        self.helper = FormHelper()
        self.helper.form_action = ''
        self.helper.form_class = 'profileDetentionForm custom'
        self.helper.layout = Layout(
            'detention_id',
            'title',
            'description',
            Fieldset(
                'Obligatory',
                Row(
                    Column('detention_type', css_class='medium-4'),
                    Column('justification', css_class='medium-4'),
                    Column('duration', css_class='medium-4'),
                ),
                Div('qvlan', css_class='qvlanrow'),
                css_class='secondary',
            ),
            Fieldset(
                'Extra options',
                Row(
                    Column('keep_closed', css_class='medium-4'),
                    Column(
                        CheckBox('exponential', css_class='input-align'),
                        css_class='medium-4',
                    ),
                    Div(css_class='medium-4 columns'),
                ),
                'mail',
                'active_on_vlans',
                css_class='secondary',
            ),
            CheckBox('active', css_class='input-align'),
            Submit('submit', 'Save'),
        )
Esempio n. 29
0
    def __init__(self, *args, **kwargs):
        super(LoggerGroupSearchForm, self).__init__(*args, **kwargs)
        self.fields['facility'].choices = choice_values(LogMessageType,
                                                        'facility')
        self.fields['priority'].choices = choice_values(Priority, 'keyword')
        self.fields['mnemonic'].choices = choice_values(LogMessageType,
                                                        'mnemonic')
        self.fields['origin'].choices = choice_values(Origin, 'name')

        self.fields['timestamp_from'].widget.format = DATEFORMAT[0]
        self.fields['timestamp_to'].widget.format = DATEFORMAT[0]

        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Row(
                Column(
                    Fieldset(
                        'Filter <a href="http://www.cisco.com/en/US/docs/ios/system/messages/guide/sm_cnovr.html"><i class="fa fa-info-circle"></i></a>',
                        Row(
                            Column(Field('facility',
                                         css_class='select2 medium-12'),
                                   css_class='medium-12'),
                            Column(Field('priority', css_class='select2'),
                                   css_class='medium-12'),
                            Column(Field('mnemonic', css_class='select2'),
                                   css_class='medium-12'),
                            Column(Field('origin', css_class='select2'),
                                   css_class='medium-12'),
                            Column(Field('category', css_class='select2'),
                                   css_class='medium-12'),
                            Column('timestamp_from', css_class='medium-12'),
                            Column('timestamp_to', css_class='medium-12'),
                            Column('show_log', css_class='medium-12'),

                        ),
                    ),
                    css_class='medium-12'
                ),
            ),
        )
Esempio n. 30
0
    def __init__(self, group, *args, **kwargs):
        super(AccountAddForm, self).__init__(*args, **kwargs)
        if group:
            query = Account.objects.exclude(id__in=group.accounts.all())
        else:
            query = Account.objects.all()

        self.fields['account'] = forms.models.ModelChoiceField(
            query, required=True, widget=forms.Select(), label='',
            empty_label='--- Choose account ---')

        self.helper = FormHelper()
        self.helper.layout = Layout(
            Row(
                Column(Field('account', css_class='select2'),
                       css_class='medium-9'),
                Column(Submit('submit_account', 'Add to group',
                              css_class='postfix'),
                       css_class='medium-3')
            )
        )