def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.layout = Layout( Fieldset( u'Général', Field('title'), Field('image'), ), Fieldset( u'Contenu', Field('introduction'), Field('conclusion') ), ButtonHolder( Div( Submit('submit', 'Ajouter'), Submit( 'submit_continue', 'Ajouter et continuer', css_class='secondary'), css_class='button-group' ), ) ) super(ChapterForm, self).__init__(*args, **kwargs)
def __init__(self, private_checkbox, alist, from_url, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.form_id = 'createlistform' delete_url = reverse('list-delete', args=(alist.pk, )) if not from_url: self.helper.layout = Layout( Fieldset( u'Edit a list', Row(Column(Field('title'), css_class='large-12'), ), Row(Column(Field('description'), css_class='large-12'), ), Row(Column(Field('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox" %s> private</label>' % private_checkbox), css_class='large-6'), Column(Field('language'), css_class='large-6'), ), Row(Column(Field('mdcontent'), css_class='large-12'), css_class='markdownform'), ), Row( Column( Submit('submit', 'Save list', css_class='small button'), css_class='large-6', ), Column(HTML( '<a href="%s" class="small button alert right" data-id="%s">Delete list</a>' % (delete_url, alist.pk)), css_class='large-6'), )) else: self.helper.layout = Layout( Fieldset( u'Edit a list', Row(Column(Field('title'), css_class='large-12'), ), Row(Column(Field('description'), css_class='large-12'), ), Row(Column(Field('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox" %s> private</label>' % private_checkbox), css_class='large-6'), Column(Field('language'), css_class='large-6'), ), ), Row( Column( Submit('submit', 'Fetch and save', css_class='small button'), css_class='large-12', ), )) super(EditListForm, self).__init__(*args, **kwargs)
def __init__(self, private_checkbox, md_content, from_url, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.form_id = 'createlistform' if not from_url: 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('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox" %s> private</label>' % private_checkbox), css_class='large-12'), ), Row(Column(Field('mdcontent', css_class="large-12"), css_class='large-6'), Column(HTML( '<div class="ctrlHolder"><label>preview</label><div class="editable">%s</div></div>' % md_content), css_class='large-6'), css_class='markdownform'), ), Row( Column( Submit('submit', 'Save', css_class='small button'), css_class='large-12', ), )) else: 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('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox" %s> private</label>' % private_checkbox), css_class='large-12'), ), ), Row( Column( Submit('submit', 'Fetch and save', css_class='small button'), css_class='large-12', ), )) super(EditListForm, self).__init__(*args, **kwargs)
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'), Submit('submit', u'Modifier'), Submit('preview', u'Prévisualiser') ) super().__init__(*args, **kwargs)
def init_helper(self): # Put required HTML attribute on required fields so they are managed by Abide (if enabled) if "data_abide" in self.attrs: for field in self.fields.values(): if field.required: field.widget.attrs["required"] = "" field.abide_msg = "This field is required." if not self.layout: # Start with an empty layout self.helper = FormHelper(self) else: # Start from the given layout self.helper = FormHelper() self.helper.layout = deepcopy(self.layout) # Try to reverse form_action url, else fallback to use it as a simple string try: self.helper.form_action = reverse(self.action) except NoReverseMatch: self.helper.form_action = self.action if self.title: self.helper.layout.insert( 0, HTML(self.title_templatestring.format(self.title))) if self.form_id is not None: self.helper.form_id = self.form_id self.helper.form_class = self.classes self.helper.form_method = self.method self.helper.form_error_title = self.error_title self.helper.attrs = self.attrs if self.switches: # Get a list of all fields with their location within the layout layout_field_names = self.helper.layout.get_field_names() # Transform checkbox fields to switches element for pointer in layout_field_names: if isinstance(self.fields[pointer[1]].widget, forms.CheckboxInput): self.replace_layout_object( pointer[0], InlineSwitchField(pointer[1], switch_class="inline")) if self.submit: if isinstance(self.submit, Submit): self.helper.add_input(self.submit) elif isinstance(self.submit, str): self.helper.add_input(Submit('submit', self.submit)) else: self.helper.add_input(Submit('submit', "Submit"))
def __init__(self, *args, **kwargs): super(ManualDetentionTargetForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_action = 'arnold-manual-detention' self.helper.layout = Layout( 'target', Submit('submit', 'Find', css_class='small') )
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.form_id = 'createlistform' 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('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox"> private</label>' ), css_class='large-6'), Column(Field('language'), css_class='large-6'), ), Row(Column(Field('mdcontent'), css_class='large-12'), css_class='markdownform'), ), Row( Column( Submit('submit', 'Save', css_class='small button'), css_class='large-12', ), )) super(NewListForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): super(ThresholdForm, self).__init__(*args, **kwargs) self.fields['alert'].label = 'Alert threshold' self.fields['clear'].label = 'Clear alert' self.fields['raw'].help_text = "(Advanced): Do not transform the " \ "target according to NAV's own rules" if self.instance.pk is None: action_text = 'Create rule' else: action_text = 'Edit rule' column_class = 'small-4' self.helper = FormHelper() self.helper.form_action = '' self.helper.layout = Layout( Fieldset( action_text, 'target', Row( Column(HelpField('alert'), css_class=column_class), Column(HelpField('clear'), css_class=column_class), Column(HelpField('period'), css_class=column_class), ), 'description', Row( Column(Submit('submit', 'Save', css_class='small'), css_class='small-6'), Column(HelpField('raw'), css_class='small-6'), )))
def test_advanced(output_test_path, render_output, rendered_template, helper, client): form = AdvancedForm() pack = helper.template_pack helper.layout = Layout( Row( Column( 'simple', css_class='six' ), Column( 'opt_in', css_class='six' ), ), Row( Column( 'longtext' ), ), Row( Column( ButtonHolder(Submit('submit', 'Submit')), ), css_class='large' ), ) rendered = rendered_template(form, helper=helper) attempted = render_output(os.path.join(output_test_path, pack, 'test_advanced.html')) #write_output(output_test_path, pack, "test_advanced.html", rendered) assert parse_html(attempted) == parse_html(rendered)
def __init__(self, *args, **kwargs): super(ChallengeFileModelForm, self).__init__(*args, **kwargs) self.add_helper = FormHelper() self.add_helper.form_id = 'add-file' self.add_helper.form_method = 'post' self.add_helper.form_action = '' self.update_helper = FormHelper() self.update_helper.form_id = 'update-file' self.update_helper.form_method = 'post' self.update_helper.form_action = '' holder = ButtonHolder( Submit('submit', 'Submit'), Reset('reset', 'Reset'), css_class='text-right' ) self.add_helper.layout = Layout( Fieldset( 'Add a file', HTML('<p>Original filenames are preserved whenever possible.</p>'), 'file', ), holder ) self.update_helper.layout = Layout( Fieldset( 'Update a file', 'file', ), holder )
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' # Remove password and login from external accounts # This should really be two different forms because of this if kwargs['instance'].ext_sync: 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) 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)
def __init__(self, link_pk=0, *args, **kwargs): from django.core.urlresolvers import reverse self.helper = FormHelper() self.helper.form_action = reverse("link-edit", args=(int(link_pk), )) self.helper.form_class = '' self.helper.form_method = 'post' self.helper.form_id = 'create-link-form' self.helper.layout = Layout( Row(Column(Field('url'), css_class='large-12'), ), Row(Column(Field('title'), css_class='large-12'), ), Row(Column(Field('tags'), css_class='large-12'), ), Row( Column(Field('language'), css_class='large-6'), Column(Field('level'), css_class='large-6'), ), Row( Column( Submit('submit', 'Save link', css_class='small button'), css_class='large-12', ), )) # self.helper['url'].update_attributes(disabled=True) super(EditLinkForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): from django.core.urlresolvers import reverse self.helper = FormHelper() self.helper.form_action = reverse("new-link") self.helper.form_class = '' self.helper.form_method = 'post' self.helper.form_id = 'create-link-form' self.helper.layout = Layout( Row(Column(Field('url'), css_class='large-12'), ), Row(Column(Field('title'), css_class='large-12'), ), Row(Column(Field('tags'), css_class='large-12'), ), Row( Column( HTML('<label>Related tags:</label>'), HTML( '<ul id="suggest" class="inline-list" style="margin-bottom: 0px"><li></li></ul>' ), css_class='large-12'), ), Row( Column(Field('language'), css_class='large-6'), Column(Field('level'), css_class='large-6'), ), Row( Column( Submit('submit', 'Add link', css_class='small button'), css_class='large-12', ), )) super(NewLinkForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.form_id = 'createlistform' 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('url'), css_class='large-12'), ), Row( Column(HTML( '<label for="id_private"><input class="checkboxinput" id="id_private" name="private" type="checkbox"> private</label>' ), css_class='large-12'), ), Row(Column(Field('mdcontent', css_class="large-12"), css_class='large-6'), Column(HTML( '<div class="ctrlHolder"><label>preview</label><div class="editable"><h5>lala</h5><ul><li>@3</li><li>ho</li></ul></div></div>' ), css_class='large-6'), css_class='markdownform'), ), Row( Column( Submit('submit', 'Save', css_class='small button'), css_class='large-12', ), )) super(NewListForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.layout = Layout( Field('title'), Field('text'), Div( Submit('submit', 'Ajouter'), Submit( 'submit_continue', 'Ajouter et continuer', css_class='secondary'), css_class='button-group' ) ) super(ExtractForm, self).__init__(*args, **kwargs)
def catalog_update_helper(instance=None, form_tag=True): """ Form helper to update a catalog """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag helper.layout = Layout( Fieldset( '', Row( Column('locale', css_class='small-12'), Column('po_file', css_class='small-12'), ), css_class='no-legend', ), ButtonHolderPanel( Submit( 'submit', _('Save'), css_class='small', ), css_class='text-right', ) ) return helper
def project_helper(instance=None, form_tag=True): """ Project form helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag fields = [SimpleRowColumn('name', css_class='small-12')] if not instance: fields.append(SimpleRowColumn('slug', css_class='small-12')) fields = fields+[ SimpleRowColumn('domain', css_class='small-12'), SimpleRowColumn('description', css_class='small-12'), SimpleRowColumn('po_file', css_class='small-12'), ] helper.layout = Layout( Fieldset( '', *fields, css_class='no-legend' ), ButtonHolderPanel( Submit( 'submit', _('Save'), ), css_class='text-right', ) ) return helper
def __init__(self, headers, cookies, session, author, channel=None, *args, **kwargs): self.headers = headers self.cookies = cookies self.session = session self.channel = channel self.author = author self.parser = None self.command = None self.helper = FormHelper() self.helper.form_action = '.' self.helper.layout = Layout( Row(Column('content', css_class='eleven input-column'), Column(Submit('post_submit', _('Ok'), css_class='expand postfix'), css_class='one submit-column'), css_class='collapse'), ) super(MessageForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): super(StatusWidgetForm, self).__init__(*args, **kwargs) column_class = 'medium-6' self.helper = FormHelper() self.helper.form_tag = False self.helper.layout = Layout( Row( Column(Field('event_type', css_class='select2'), css_class=column_class), Column(Field('not_event_type', css_class='select2'), css_class=column_class), ), Row( Column(Field('category', css_class='select2'), css_class=column_class), Column(Field('not_category', css_class='select2'), css_class=column_class), ), Row( Column(Field('alert_type', css_class='select2'), css_class=column_class), Column(Field('not_alert_type', css_class='select2'), css_class=column_class), ), Row( Column(Field('organization', css_class='select2'), css_class=column_class), Column( Field('not_organization', css_class='select2'), css_class=column_class, ), ), Row( Column(Field('device_group', css_class='select2'), css_class=column_class), Column( Field('not_device_group', css_class='select2'), css_class=column_class, ), ), Row( Column(Field('location', css_class='select2'), css_class=column_class), Column(Field('not_location', css_class='select2'), css_class=column_class), ), Row( Column('stateless', 'stateless_threshold', css_class=column_class), Column( 'acknowledged', 'on_maintenance', 'extra_columns', css_class=column_class, ), ), Submit('submit', 'Save'), )
def UserFormHelper(): """ Helper for the user edit form """ helper = FormHelper() helper.form_action = '.' helper.layout = Layout( Fieldset( _('Identity'), Row(Column('email', css_class='twelve'), ), Row( Column('first_name', css_class='six'), Column('last_name', css_class='six'), ), ), Fieldset( _('Password'), Row( Column('new_password1', css_class='twelve'), Column('new_password2', css_class='twelve'), ), ), Row( Column(ButtonHolder(Submit('submit', _('Submit')), css_class="text-right"), css_class='twelve'), )) return helper
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'), Column(css_class='medium-4'), ), 'mail', 'active_on_vlans', css_class='secondary'), CheckBox('active', css_class='input-align'), Submit('submit', 'Save'))
def inline_catalog_helper(instance=None, form_tag=True): """ Form helper to create a new catalog """ helper = FormHelper() helper.form_action = '.' helper.form_class = "hide-label" helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Build the full layout helper.layout = Layout( Row( Field( 'locale', placeholder=_("Type a locale like 'fr'"), wrapper_class='small-10 columns' ), Column( Submit( 'submit', _('Create'), css_class='postfix', ), css_class='small-2' ), css_class='collapse postfix-radius', ) ) return helper
def __init__(self, *args, **kwargs): super(AccountChartsForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_action = '' self.helper.form_method = 'GET' self.helper.layout = Layout( 'days', 'charts', Submit('send', 'Show me', css_class='small'))
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.layout = Layout( Row( Column(AbideCrispyField( 'username', pattern='username', clientside_error='3-30 characters a-z A-Z 0-9 _ .'), css_class='large-6'), Column(AbideCrispyField( 'email', clientside_error='A valid email address is required.'), css_class='large-6')), Row( Column(AbideCrispyField( 'password', clientside_error='A password is required.'), css_class='large-6'), Column(AbideCrispyField('password_confirm', clientside_error='Password mismatch.'), css_class='large-6')), Row( Column(AbideCrispyField('captcha'), css_class='large-2'), Column(Submit('submit', 'Register'), HTML('<a href="/" class="button secondary">Cancel</a>'), css_class='large-4'))) self.helper.form_id = 'registration' self.helper.method = 'post' self.helper.form_action = reverse('user-register') self.helper.attrs = {'data-abide': ''} super(RegisterForm, self).__init__(*args, **kwargs)
def note_delete_helper(form_tag=True): """ Note delete form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag helper.layout = Layout( ButtonHolderPanel( Row( Column( 'confirm', css_class='small-12 medium-8' ), Column( Submit('submit', _('Submit')), css_class='small-12 medium-4 text-right' ), ), ), ) return helper
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_method = 'post' self.helper.form_action = reverse('user-login') self.helper.form_class = 'form-horizontal' from pprint import pprint pprint(args) self.helper.layout = Layout( Row( Column( InlineField('username'), InlineField('password'), InlineField('remember'), Hidden('next', args[0]['next']), )), Row( Column(Submit('submit', 'Log in'), HTML('<a href="/" class="button secondary">Cancel</a>'), css_class='large-6 large-centered')), Row( Column( HTML('<a href="' + reverse('django.contrib.auth.views.password_reset') + '">Forgot your password ?</a>'), css_class='large-6'), Column(HTML('<a href="' + reverse('user-register') + '">Not already registered ?</a>'), css_class='large-6'))) super(LoginForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): super(AccountGroupForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_action = '' self.helper.form_method = 'post' self.helper.layout = Layout( Fieldset('Group', 'name', 'description', Submit('submit_group', 'Save changes')))
def __init__(self, *args, **kwargs): super(LoginForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_action = 'webfront-login' self.helper.form_method = 'post' self.helper.layout = Layout( 'username', 'password', 'origin', Submit('submit', 'Log in', css_class='small expand'))
def __init__(self, *args, **kwargs): super(SMTPSettingForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_action = '.' self.helper.form_class = 'smtp-setting' self.helper.add_input(Submit('submit', _('Save'), css_class="success float-right")) self.helper.add_input(Reset('reset', _('Reset'), css_class="float-right"))
def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.attrs = {'data_abide': ''} self.helper.form_method = 'post' self.helper.add_input(Submit('submit', _('Submit'), css_class="success float-right")) self.helper.add_input(Reset('reset', _('Reset'), css_class="float-right")) super(NewContactForm, self).__init__(*args, **kwargs) self.fields['domain_id'].label = _("Domain ID")