Commit | Line | Data |
---|---|---|
e323a068 | 1 | # GNU MediaGoblin -- federated, autonomous media hosting |
cf29e8a8 | 2 | # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. |
e323a068 CAW |
3 | # |
4 | # This program is free software: you can redistribute it and/or modify | |
5 | # it under the terms of the GNU Affero General Public License as published by | |
6 | # the Free Software Foundation, either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU Affero General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | ||
17 | ||
18 | import wtforms | |
5f60a455 | 19 | from wtforms.ext.sqlalchemy.fields import QuerySelectField |
ecb45128 | 20 | from mediagoblin import mg_globals |
152a3bfa | 21 | from mediagoblin.tools.text import tag_length_validator |
665b9c42 | 22 | from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ |
25b48323 | 23 | from mediagoblin.tools.licenses import licenses_as_choices |
e323a068 | 24 | |
97ec97db | 25 | |
ecb45128 | 26 | def get_submit_start_form(form, **kwargs): |
2188925b | 27 | max_file_size = kwargs.get('max_file_size') |
ecb45128 RE |
28 | desc = None |
29 | if max_file_size: | |
30 | desc = _('Max file size: {0} mb'.format(max_file_size)) | |
31 | ||
32 | class SubmitStartForm(wtforms.Form): | |
33 | file = wtforms.FileField( | |
34 | _('File'), | |
35 | description=desc) | |
f4686cde | 36 | title = wtforms.StringField( |
ecb45128 RE |
37 | _('Title'), |
38 | [wtforms.validators.Length(min=0, max=500)]) | |
39 | description = wtforms.TextAreaField( | |
40 | _('Description of this work'), | |
41 | description=_("""You can use | |
42 | <a href="http://daringfireball.net/projects/markdown/basics"> | |
43 | Markdown</a> for formatting.""")) | |
f4686cde | 44 | tags = wtforms.StringField( |
ecb45128 RE |
45 | _('Tags'), |
46 | [tag_length_validator], | |
47 | description=_( | |
48 | "Separate tags by commas.")) | |
49 | license = wtforms.SelectField( | |
50 | _('License'), | |
51 | [wtforms.validators.Optional(),], | |
52 | choices=licenses_as_choices()) | |
5f60a455 | 53 | collection = QuerySelectField( |
54 | _('Collection'), | |
55 | allow_blank=True, blank_text=_('-- Select --'), get_label='title',) | |
2188925b RE |
56 | max_file_size = wtforms.HiddenField('') |
57 | upload_limit = wtforms.HiddenField('') | |
58 | uploaded = wtforms.HiddenField('') | |
ecb45128 RE |
59 | |
60 | return SubmitStartForm(form, **kwargs) | |
be5be115 AW |
61 | |
62 | class AddCollectionForm(wtforms.Form): | |
f4686cde | 63 | title = wtforms.StringField( |
be5be115 | 64 | _('Title'), |
0742e11d | 65 | [wtforms.validators.Length(min=0, max=500), wtforms.validators.InputRequired()]) |
be5be115 AW |
66 | description = wtforms.TextAreaField( |
67 | _('Description of this collection'), | |
68 | description=_("""You can use | |
69 | <a href="http://daringfireball.net/projects/markdown/basics"> | |
70 | Markdown</a> for formatting.""")) |