class FileChooser(ew.InputField):
    template = 'jinja:allura:templates/widgets/file_chooser.html'
    validator = fev.FieldStorageUploadConverter()
    defaults = dict(ew.InputField.defaults, name=None)

    def resources(self):
        for r in super(FileChooser, self).resources():
            yield r
        yield ew.JSLink('js/jquery.file_chooser.js')
        yield onready('''
            var num_files = 0;
            var chooser = $('input.file_chooser').file();
            chooser.choose(function (e, input) {
                var holder = document.createElement('div');
                holder.style.clear = 'both';
                e.target.parentNode.appendChild(holder);
                $(holder).append(input.val());
                $(holder).append(input);
                input.attr('name', e.target.id + '-' + num_files);
                input.hide();
                ++num_files;
                var delete_link = document.createElement('a');
                delete_link.className = 'btn';
                var icon = document.createElement('b');
                icon.className = 'ico delete';
                delete_link.appendChild(icon);
                $(delete_link).click(function () {
                    this.parentNode.parentNode.removeChild(this.parentNode);
                });
                $(holder).append(delete_link);
            });''')
Example #2
0
 def fields(self):
     return ew_core.NameList([
         ew.TextField(name='title',
                      validator=fev.UnicodeString(
                          not_empty=True,
                          messages={'empty': "You must provide a Title"}),
                      attrs=dict(placeholder='Enter your title here',
                                 title='Enter your title here',
                                 style='width: 425px')),
         ffw.MarkdownEdit(name='text',
                          show_label=False,
                          attrs=dict(placeholder='Enter your content here',
                                     title='Enter your content here')),
         ew.SingleSelectField(name='state',
                              options=[
                                  ew.Option(py_value='draft',
                                            label='Draft'),
                                  ew.Option(py_value='published',
                                            label='Published')
                              ]),
         ffw.LabelEdit(name='labels',
                       placeholder='Add labels here',
                       title='Add labels here'),
         ew.InputField(
             name='attachment',
             label='Attachment',
             field_type='file',
             attrs={'multiple': 'True'},
             validator=fev.FieldStorageUploadConverter(if_missing=None)),
     ])
Example #3
0
 def fields(self):
     fields = [
         ew.TextField(name='summary',
                      label='Title',
                      attrs={
                          'style': 'width: 425px',
                          'class': 'memorable',
                          'placeholder': 'Title'
                      },
                      validator=fev.UnicodeString(
                          not_empty=True,
                          messages={'empty': "You must provide a Title"})),
         ffw.MarkdownEdit(label='Description',
                          name='description',
                          attrs={'style': 'width: 95%'}),
         ew.SingleSelectField(
             name='status',
             label='Status',
             options=lambda: c.app.globals.all_status_names.split()),
         ffw.ProjectUserCombo(name='assigned_to', label='Owner'),
         ffw.LabelEdit(label='Labels',
                       name='labels',
                       className='ticket_form_tags'),
         ew.Checkbox(name='private',
                     label='Mark as Private',
                     validator=v.AnonymousValidator(),
                     attrs={'class': 'unlabeled'}),
         ew.Checkbox(name='discussion_disabled',
                     label='Discussion Disabled',
                     validator=fev.StringBool(),
                     attrs={'class': 'unlabeled'}),
         ew.InputField(
             name='attachment',
             label='Attachment',
             field_type='file',
             attrs={'multiple': 'True'},
             validator=fev.FieldStorageUploadConverter(if_missing=None)),
         ffw.MarkdownEdit(name='comment',
                          label='Comment',
                          attrs={'style': 'min-height:7em; width:97%'}),
         ew.SubmitButton(
             label=self.submit_text,
             name='submit',
             attrs={
                 'class':
                 "ui-button ui-widget ui-state-default ui-button-text-only"
             }),
         ew.HiddenField(name='ticket_num',
                        validator=fev.Int(if_missing=None)),
         ew.Checkbox(name='subscribe', label='Subscribe'),
     ]
     # milestone is kind of special because of the layout
     # add it to the main form rather than handle with the other customs
     if c.app.globals.custom_fields:
         for cf in c.app.globals.custom_fields:
             if cf.name == '_milestone':
                 fields.append(TicketCustomField.make(cf))
                 break
     return ew_core.NameList(fields)
Example #4
0
class FileSchema(Schema):
    filter_extra_fields = True
    allow_extra_fields = True
    fileUpload = validators.FieldStorageUploadConverter(not_empty=True)
    title = validators.UnicodeString(not_empty=True, strip=True)
    fileDate = validators.DateConverter(month_style='mm/dd/yyyy', strip=True)
    description = validators.UnicodeString(strip=True)
    _csrf = validators.String(not_empty=True, strip=True)
Example #5
0
class ImageSchema(Schema):
    """
    Schema for image upload
    """
    allow_extra_fields = True
    filter_extra_fields = True

    image = validators.FieldStorageUploadConverter()
Example #6
0
 def __init__(self, request):
     formfields = [
             FormField('subject',
                label='Betreff', size=64,
                required=True),
             FormField('body',
                label='Nachricht', cols=64, rows=24,
                type='textarea'),
             FileField('attachments',
                label='Anhänge', size=64,
                growable=False,
                validator=validators.FieldStorageUploadConverter()
                ),
             ]
     CSRFSecureForm.__init__(self, formfields, request, send='Senden')
Example #7
0
 def __init__(self, type, request):
     formfields = [
             HiddenField('type',
                value=type),
             FormField('subject',
                label='Betreff', size=64,
                required=True,
                value="Bitte Studiengang in Müsli anpassen!"),
             FormField('body',
                label='Nachricht', cols=64, rows=24,
                type='textarea',
                required=True),
             FileField('attachments',
                label='Anhänge', size=64,
                growable=False,
                validator=validators.FieldStorageUploadConverter()
                ),
             ]
     CSRFSecureForm.__init__(self, formfields, request, send='Senden')
Example #8
0
 def __init__(self, request):
     formfields = [
         FormField('subject', label='Betreff', size=64, required=True),
         FormField('body',
                   label='Nachricht',
                   cols=64,
                   rows=24,
                   type='textarea'),
         FileField('attachments',
                   label='Anhänge',
                   size=64,
                   growable=False,
                   validator=validators.FieldStorageUploadConverter()),
         FormField('copytome',
                   label='Kopie an mich',
                   type='radio',
                   options=list(enumerate(['Senden', 'Nicht senden'])),
                   value=0),
     ]
     CSRFSecureForm.__init__(self, formfields, request, send='Senden')
Example #9
0
 def fields(self):
     fields = super(NewTopicPost, self).fields
     fields.append(ew.InputField(name='attachment', label='Attachment', field_type='file',
                                 attrs={'multiple': 'True'},
                                 validator=fev.FieldStorageUploadConverter(if_missing=None)))
     return fields
Example #10
0
class EditImageForm(DojoEditableForm):
    __model__ = Image
    __omit_fields__ = ['id', 'slug']
    image = validators.FieldStorageUploadConverter(if_missing=None)
Example #11
0
class ImageForm(FormDefaults):
    __model__ = Image
    slug = UniqueSlug(model=Image)
    image = validators.FieldStorageUploadConverter(if_missing=None)