docs: Document video resolution config.
[mediagoblin.git] / mediagoblin / submit / forms.py
CommitLineData
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
18import wtforms
5f60a455 19from wtforms.ext.sqlalchemy.fields import QuerySelectField
ecb45128 20from mediagoblin import mg_globals
152a3bfa 21from mediagoblin.tools.text import tag_length_validator
665b9c42 22from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
25b48323 23from mediagoblin.tools.licenses import licenses_as_choices
e323a068 24
97ec97db 25
ecb45128 26def 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
62class 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."""))