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 helper(self): helper = FormHelper() helper.error_text_inline = False helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } # .sr-only class is for screen reader only (won't be shown visibly) # Refer to http://stackoverflow.com/a/27755704 for more explanation helper.label_class = 'sr-only' helper.layout = Layout( Fieldset( '', Field('email', placeholder=self.fields['email'].label), Field('password1', placeholder=self.fields['password1'].label), Field('password2', placeholder=self.fields['password2'].label), ), FormActions( Submit( 'save', _('Create Account'), css_class='btn-lg btn-block', ))) return helper
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 helper(self): helper = FormHelper() helper.error_text_inline = False helper.label_class = 'sr-only' helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field( 'new_password1', placeholder=self.fields['new_password1'].label, ), Field( 'new_password2', placeholder=self.fields['new_password2'].label, ), ), FormActions( Div(Div( Submit('submit', _('Set Password'), css_class='btn btn-primary btn-block btn-lg'), css_class='col-md-offset-1 col-md-10', ), css_class='nesting-form-group row'))) return helper
def post_delete_helper(form_tag=True): """ Message's 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 helper(self): helper = FormHelper() helper.error_text_inline = False helper.label_class = 'sr-only' helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field( 'new_password1', placeholder=self.fields['new_password1'].label, ), Field( 'new_password2', placeholder=self.fields['new_password2'].label, ), ), FormActions(Div( Div( Submit( 'submit', _('Set Password'), css_class='btn btn-primary btn-block btn-lg' ), css_class='col-md-offset-1 col-md-10', ), css_class='nesting-form-group row' )) ) return helper
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 helper(self): helper = FormHelper() helper.attrs = { 'action': '/contactlist/api/person/', 'onsubmit': '{ add }', 'method': 'POST' } helper.form_id = "person-form" helper.form_class = 'form-horizontal' helper.layout = Layout( Field('person', rows=1, cols=20), Field('email', rows=1, cols=20), Field('phone', rows=1, cols=20), ) helper.layout.append( ButtonHolder( Submit( 'submit', 'Add', css_class='btn btn-sm btn-default', ), HTML( "<button class='btn btn-sm btn-default', onclick = '{ person_edit_hide }'>Cancel</button>" ))) return helper
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 helper(self): helper = FormHelper() helper.error_text_inline = False helper.label_class = 'sr-only' helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field('username', placeholder=self.fields['username'].label), Field('password', placeholder=self.fields['password'].label), ), FormActions( Div( Div( HTML( _('<a class="btn btn-link" href="{password_reset_url}">' 'Forgot Password?</a>').format( password_reset_url=reverse( 'password_reset'))), css_class='col-xs-6 m-t-2', ), Div( Submit('save', _('Log In'), css_class='btn-lg btn-block'), css_class='col-xs-6', ), css_class='row', ))) return helper
def insert_helper(form_tag=True, edit_mode=False): """ Insert's form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag helper.layout = Layout( Fieldset( _('Content'), 'title', 'content', ), Fieldset( _('Display settings'), RowFluid( Column('slug', css_class='small-12 medium-9'), Column('visible', css_class='small-12 medium-3'), ), ), ButtonHolder( Submit('submit_and_continue', _('Save and continue')), Submit('submit', _('Save')), ), ) return helper
def helper(self): helper = FormHelper() helper.error_text_inline = False helper.label_class = 'sr-only' helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field('username', placeholder=self.fields['username'].label), Field('password', placeholder=self.fields['password'].label), ), FormActions(Div( Div( HTML(_( '<a class="btn btn-link" href="{password_reset_url}">' 'Forgot Password?</a>' ).format(password_reset_url=reverse('password_reset'))), css_class='col-xs-6 m-t-2', ), Div( Submit('save', _('Log In'), css_class='btn-lg btn-block'), css_class='col-xs-6', ), css_class='row', )) ) return helper
def helper(self): helper = FormHelper() helper.attrs = {'action': '/contactlist/api/event/'} helper.form_id = "event-form" helper.form_class = 'form-horizontal' helper.form_action = '{ submit }' return helper
def helper(self): helper = FormHelper() helper.attrs = {'action': '/nhdb/downloadexcel/'} helper.form_id = "excel-download-form" helper.form_class = 'form-horizontal' helper.label_class = 'col-lg-3' helper.field_class = 'col-lg-9' return helper
def helper(self): helper = FormHelper() prev_url, submit_label = self.prev_url, self.submit_label helper.attrs = {"novalidate": True} helper.use_custom_control = True helper.form_class = "needs-validation" helper.layout = Layout("title", "image", get_button_container(submit_label, prev_url)) return helper
def helper(self): helper = FormHelper() helper.attrs = {'action': '/contactlist/api/personevent/'} helper.form_id = "personevent-form" helper.form_class = 'form-horizontal' helper.layout = Layout('person', 'event', 'notice') helper.layout.append( FormActions(Submit('save', 'Save changes'), Button('cancel', 'Cancel'))) return helper
def __init__(self, *args, **kwargs): helper = FormHelper() helper.form_action = './' helper.form_method = 'POST' helper.attrs = {'enctype': 'multipart/form-data'} helper.add_input(Submit('submit', 'Upload CV')) self.helper = helper super(UploadFileForm, self).__init__(*args, **kwargs)
def test_template_context(self): helper = FormHelper() helper.attrs = {"id": "test-form", "class": "test-forms", "action": "submit/test/form", "autocomplete": "off"} node = CrispyFormNode("form", "helper") context = node.get_response_dict(helper, {}, False) self.assertEqual(context["form_id"], "test-form") self.assertEqual(context["form_attrs"]["id"], "test-form") self.assertTrue("test-forms" in context["form_class"]) self.assertTrue("test-forms" in context["form_attrs"]["class"]) self.assertEqual(context["form_action"], "submit/test/form") self.assertEqual(context["form_attrs"]["action"], "submit/test/form") self.assertEqual(context["form_attrs"]["autocomplete"], "off")
def __init__(self, *args, **kwargs): helper = FormHelper() helper.form_action = './' helper.form_class = 'form-horizontal' helper.form_method = 'POST' helper.attrs = {'enctype': 'multipart/form-data'} helper.label_class = 'col-lg-2' helper.field_class = 'col-lg-10' helper.add_input(Submit('submit', 'Submit')) self.helper = helper super(CVForm, self).__init__(*args, **kwargs)
def test_template_context(): helper = FormHelper() helper.attrs = {"id": "test-form", "class": "test-forms", "action": "submit/test/form", "autocomplete": "off"} node = CrispyFormNode("form", "helper") context = node.get_response_dict(helper, {}, False) assert context["form_id"] == "test-form" assert context["form_attrs"]["id"] == "test-form" assert "test-forms" in context["form_class"] assert "test-forms" in context["form_attrs"]["class"] assert context["form_action"] == "submit/test/form" assert context["form_attrs"]["action"] == "submit/test/form" assert context["form_attrs"]["autocomplete"] == "off"
def helper(self): helper = FormHelper() helper.error_text_inline = False helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field('name', placeholder=self.fields['name'].label), ), FormActions(Submit('save', _('Update'), css_class=''), )) return helper
def page_helper(form_tag=True, parent=None, edit_mode=False): """ Page's form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Put "parent" field in the layout if it is not forced in kwargs layout_fields_publish = [ RowFluid( Column(SplitDateTimeField('published'), css_class='small-12 medium-6'), Column('slug', css_class='small-12 medium-6'), ) ] if not parent: layout_fields_publish = ['parent']+layout_fields_publish helper.layout = Layout( Fieldset( _('Content'), 'title', 'content', ), Fieldset( _('Display settings'), RowFluid( Column('template', css_class='small-12 medium-6'), Column('order', css_class='small-12 medium-3'), Column('visible', css_class='small-12 medium-3'), ), ), Fieldset( _('Publish settings'), *layout_fields_publish ), Fieldset( _('History'), 'comment', ), ButtonHolder( Submit('submit_and_continue', _('Save and continue')), Submit('submit', _('Save')), ), ) return helper
def category_helper(form_tag=True): """ Category's 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( 'slug', css_class='small-12 medium-10' ), Column( 'order', css_class='small-12 medium-2' ), ), Row( Column( 'description', css_class='small-12' ), ), Row( Column( 'visible', css_class='small-12' ), ), ButtonHolderPanel( Submit('submit', _('Submit')), css_class='text-right', ), ) return helper
def test_template_context(): helper = FormHelper() helper.attrs = { "id": "test-form", "class": "test-forms", "action": "submit/test/form", "autocomplete": "off", } node = CrispyFormNode("form", "helper") context = node.get_response_dict(helper, {}, False) assert context["form_id"] == "test-form" assert context["form_attrs"]["id"] == "test-form" assert "test-forms" in context["form_class"] assert "test-forms" in context["form_attrs"]["class"] assert context["form_action"] == "submit/test/form" assert context["form_attrs"]["action"] == "submit/test/form" assert context["form_attrs"]["autocomplete"] == "off"
def test_template_context(self): helper = FormHelper() helper.attrs = { 'id': 'test-form', 'class': 'test-forms', 'action': 'submit/test/form', 'autocomplete': 'off', } node = CrispyFormNode('form', 'helper') context = node.get_response_dict(helper, {}, False) self.assertEqual(context['form_id'], "test-form") self.assertEqual(context['form_attrs']['id'], "test-form") self.assertTrue("test-forms" in context['form_class']) self.assertTrue("test-forms" in context['form_attrs']['class']) self.assertEqual(context['form_action'], "submit/test/form") self.assertEqual(context['form_attrs']['action'], "submit/test/form") self.assertEqual(context['form_attrs']['autocomplete'], "off")
def test_template_context(): helper = FormHelper() helper.attrs = { 'id': 'test-form', 'class': 'test-forms', 'action': 'submit/test/form', 'autocomplete': 'off', } node = CrispyFormNode('form', 'helper') context = node.get_response_dict(helper, {}, False) assert context['form_id'] == "test-form" assert context['form_attrs']['id'] == "test-form" assert "test-forms" in context['form_class'] assert "test-forms" in context['form_attrs']['class'] assert context['form_action'] == "submit/test/form" assert context['form_attrs']['action'] == "submit/test/form" assert context['form_attrs']['autocomplete'] == "off"
def helper(self): helper = FormHelper() prev_url, submit_label = self.prev_url, self.submit_label helper.attrs = {"novalidate": True} helper.use_custom_control = True helper.form_class = "needs-validation" helper.layout = Layout( "title", "image", Field("country", css_class="custom-select"), "order_number", "description", 'free_service', "extra_one_year_warranty", "show_in_slider", get_button_container(submit_label, prev_url), ) return helper
def helper(self): helper = FormHelper() helper.error_text_inline = False helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.layout = Layout( Fieldset( '', Field('name', placeholder=self.fields['name'].label), Field('auth_number'), ), FormActions( Submit('save', _('Update'), css_class=''), ) ) return helper
def get_formhelper(self): """ Get a :class:`crispy_forms.helper.FormHelper`. You normally do not need to override this directly. Instead you should override: - :meth:`.get_field_layout`. - :meth:`.get_hidden_fields` """ helper = FormHelper() layoutargs = list(self.get_field_layout()) + list( self.get_button_layout()) + list(self.get_hidden_fields()) helper.layout = layout.Layout(*layoutargs) helper.form_action = '#' form_id = self.get_form_id() if form_id: helper.form_id = form_id helper.attrs = self.get_form_attributes() return helper
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
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
def attachment_helper(form_tag=True, edit_mode=False): """ Attachment's form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag helper.layout = Layout( RowFluid( Column('title', css_class='small-12 medium-4'), Column('slug', css_class='small-12 medium-4'), Column('file', css_class='small-12 medium-4'), ), ButtonHolder( Submit('submit', _('Save')), ), ) return helper
def helper(self): helper = FormHelper() helper.error_text_inline = False helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } helper.label_class = 'sr-only' helper.layout = Layout( Fieldset( '', Field('email', placeholder=self.fields['email'].label), Field('password1', placeholder=self.fields['password1'].label), Field('password2', placeholder=self.fields['password2'].label), ), FormActions( Submit( 'save', _('Create Account'), css_class='btn-lg btn-block', ) ) ) return helper
def post_helper(form_tag=True, edit_mode=False): """ Post's form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag fieldsets = [ Row( Column( 'text', css_class='small-12' ), ), ] # Threadwatch option is not in edit form if not edit_mode: fieldsets.append( Row( Column( 'threadwatch', css_class='small-12' ), ), ) fieldsets = fieldsets+[ ButtonHolderPanel( Submit('submit', _('Submit')), css_class='text-right', ), ] helper.layout = Layout(*fieldsets) return helper
def __init__(self, *args, **kwargs): helper = FormHelper() helper.form_action = './' helper.form_class = 'form-horizontal' helper.form_method = 'POST' helper.attrs = {'enctype': 'multipart/form-data'} helper.label_class = 'col-lg-2' helper.field_class = 'col-lg-10' helper.layout = Layout( "job_title", "description", "location", Div( Div("skills", css_class="col-lg-8"), Div("skills_weightage", css_class="col-lg-4"), css_class="row", ), Div( Div("experience", css_class="col-lg-8"), Div("experience_weightage", css_class="col-lg-4"), css_class="row", ), Div( Div("education", css_class="col-lg-8"), Div("education_weightage", css_class="col-lg-4"), css_class="row", ), Div( Div("languages", css_class="col-lg-8"), Div("languages_weightage", css_class="col-lg-4"), css_class="row", ), ) helper.add_input(Submit('submit', 'Submit')) self.helper = helper super(JobDescriptionForm, self).__init__(*args, **kwargs)
def helper(self): helper = FormHelper() prev_url, submit_label = self.prev_url, self.submit_label helper.attrs = {"novalidate": True} helper.use_custom_control = True helper.form_class = "needs-validation" helper.layout = Layout( "title", "image", "dry", 'wet', 'offroad', 'comfort', "snow", 'noise', 'treadware', 'value', Field("brand", css_class="custom-select"), "description", 'extra', get_button_container(submit_label, prev_url), ) return helper
def form_class_factory(self, form_class=forms.Form): # again make sure that we have everything we need to create a class self.full_clean() helper = FormHelper() attrs = {} layouts = [] # Checks for the existance of fields with repeat_min and/or repeat_max # attributes. for fieldset in self.fieldsets: fieldset_fields = fieldset.fields fieldset_layout = layout.Fieldset(fieldset.safe_legend, *[f.field_id for f in fieldset_fields]) layouts.append(fieldset_layout) for field in fieldset_fields: attrs[field.field_id] = field.formfield_instance_factory() helper.form_id = self.form_id helper.form_action = self.form_action helper.form_method = self.METHODS[self.form_method] helper.attrs = { 'accept-charset': self.form_accept_charset, 'autocomplete': self.form_autocomplete, 'novalidate': self.form_novalidate, 'enctype': self.form_enctype, 'target': self.form_target } helper.layout = layout.Layout(*layouts) attrs['helper'] = helper return type(str(self.form_id), (form_class,), attrs)
def notes_helper(form_tag=True): """ Datebook's notes form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Build the full layout helper.layout = Layout( SimpleRowColumn('notes', wrapper_class='hide-label'), SimpleRowColumn( ButtonHolderPanel( Submit( 'submit', _('Submit'), ), css_class='text-right', ), ) ) return helper
def year_helper(form_tag=True): """ Datebook's year form layout helper """ helper = FormHelper() helper.form_action = '.' helper.form_class = "hide-label right clearfix" helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Build the full layout helper.layout = Layout( Field( 'year', wrapper_class='left', ), Submit( 'submit', _('New year'), css_class='tiny', ), ) return helper
def month_helper(form_tag=True): """ Datebook's month form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Build the full layout helper.layout = Layout( Row( Column( Field('owner'), css_class='small-12 medium-7 hide-label' ), Column( Field('period'), css_class='small-12 medium-3 hide-label' ), Column( ButtonHolder( Submit( 'submit', _('Save'), css_class='tiny expand', ), css_class='text-right', ), css_class='small-12 medium-2' ), css_class='collapse', ), ) return helper
def helper(self): helper = FormHelper() helper.attrs = { 'action': '/contactlist/api/person/{ edit.id }/', 'onsubmit': '{ submit_edit }', 'method': 'PUT' } helper.form_id = "person-edit-form" helper.form_class = 'form-horizontal' helper.layout = Layout( Field('person', id="person_edit_name", value='{ edit.person }', rows=1, cols=20), Field('email', id="person_edit_email", value='{ edit.email }', rows=1, cols=20), Field('phone', id="person_edit_phone", value='{ edit.phone }', rows=1, cols=20), ) helper.layout.append( ButtonHolder( Submit('submit', 'Edit', css_class='btn btn-sm btn-default'), Button('cancel', 'Cancel', css_class='btn btn-sm btn-default', onclick='{ person_edit_hide }'))) return helper
def helper(self): helper = FormHelper() helper.error_text_inline = False helper.attrs = { 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', } # .sr-only class is for screen reader only (won't be shown visibly) # Refer to http://stackoverflow.com/a/27755704 for more explanation helper.label_class = 'sr-only' helper.layout = Layout( Fieldset( '', Field('email', placeholder=self.fields['email'].label), Field('password1', placeholder=self.fields['password1'].label), Field('password2', placeholder=self.fields['password2'].label), ), FormActions( Submit( 'save', _('Create Account'), css_class='btn-lg btn-block', ) ) ) return helper
def day_helper(form_tag=True, form_action='.', **kwargs): """ DayEntry's form layout helper """ helper = FormHelper() helper.form_action = form_action helper.attrs = {'data_abide': ''} helper.form_tag = form_tag # Tuple containing next day date and resolved url to its form next_day = kwargs.pop('next_day', None) # Mode to ensure compatibility with DayToDayModelForm (just a save button and no vacation) day_to_model_mode = kwargs.pop('day_to_model_mode', False) # Resolved url to the 'DayToDayModelForm' form day_to_model_url = kwargs.pop('day_to_model_url', None) # Resolved url to the day removing form remove_url = kwargs.pop('remove_url', None) # Menu elements (buttons and links) menu_elements = [] # Build button groups buttons = [Submit('submit', _('Save'))] if not day_to_model_mode and next_day: buttons.append(Submit('submit_and_next', _('Save and continue to next day'))) groups = [] if remove_url: groups.append(ButtonGroup( Div( HTML('<a class="button tiny alert" href="{0}">'.format(remove_url)), HTML(_('Remove this entry')), HTML('</a>'), ), css_class='left' )) groups.append(ButtonGroup( *buttons, css_class='right' )) menu_elements.append( Div( *groups, css_class='clearfix' ) ) # For some links under the form's buttons links = [] if not day_to_model_mode: if next_day: links.append( Div( HTML('<a class="button tiny secondary" href="{0}">'.format(next_day[1])), HTML(_('Pass and continue to next day')), HTML('</a>'), ) ) if day_to_model_url: links.append( Div( HTML('<a class="button tiny secondary" href="{0}">'.format(day_to_model_url)), HTML(_('Use it as a day model')), HTML('</a>'), ) ) if links: menu_elements.append( Div( ButtonGroup( *links, css_class='right' ), css_class='clearfix' ) ) # Menu where belong the buttons and links menu = Panel( *menu_elements, css_class='text-right' ) # Build the full layout helper.layout = Layout( Row( Column('vacation', css_class='small-6 medium-4 medium-offset-8 text-right'), ), Row( Column('start_datetime', css_class='small-12 medium-4'), Column('pause', css_class='small-12 medium-2'), Column('stop_datetime', css_class='small-12 medium-4'), Column('overtime', css_class='small-12 medium-2'), css_class='opacited' ), Row( Column('content', css_class='small-12'), css_class='opacited' ), menu, ) # Replace 'vacation' field with 'title' field for DayToDayModelForm form if day_to_model_mode: helper.layout.pop(0) helper.layout.insert(0, Row( Column('title'), ), ) return helper
def thread_helper(form_tag=True, edit_mode=False, for_moderator=False): """ Thread's form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag fieldsets = [ Row( Column( 'subject', css_class='small-12' ), ), ] # Category field only in edit form if edit_mode: fieldsets.append( Row( Column( 'category', css_class='small-12' ), ), ) if for_moderator: fieldsets.append( Row( Column( 'sticky', css_class='small-12 medium-4' ), Column( 'announce', css_class='small-12 medium-4' ), Column( 'closed', css_class='small-12 medium-4' ), ), ) # First message is not in edit form if not edit_mode: fieldsets.append( Row( Column( 'text', css_class='small-12' ), ), ) if for_moderator: fieldsets.append( Row( Column( 'visible', css_class='small-12' ), ), ) # Threadwatch option is not in edit form if not edit_mode: fieldsets.append( Row( Column( 'threadwatch', css_class='small-12' ), ), ) fieldsets = fieldsets+[ ButtonHolderPanel( Submit('submit', _('Submit')), css_class='text-right', ), ] helper.layout = Layout(*fieldsets) return helper
def entity_helper(form_tag=True, kind=None): """ Entity form layout helper """ helper = FormHelper() helper.form_action = '.' helper.attrs = {'data_abide': ''} helper.form_tag = form_tag fieldset = [ Row( Column( 'name', css_class='small-12' ), ), ] if kind is None: fieldset.append( Row( Column( 'kind', css_class='small-12' ), ), ) fieldset = fieldset+[ Row( Column( 'adress', css_class='small-12' ), ), Row( Column( 'town', css_class='small-12 medium-8' ), Column( 'zipcode', css_class='small-12 medium-4' ), ), Row( Column( 'phone', css_class='small-12 medium-6' ), Column( 'fax', css_class='small-12 medium-6' ), ), ButtonHolderPanel( Submit('submit', _('Submit')), css_class='text-right', ), ] helper.layout = Layout(*fieldset) return helper