Switch the import of the image media manager over to the new class
[mediagoblin.git] / mediagoblin / edit / forms.py
index 5e3aab96159b3a287aa9b4493ad4995ab52eded7..e0147a0c0ad1ad27acd3788bb8d8a3e74f865466 100644 (file)
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 Free Software Foundation, Inc
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-
 import wtforms
 
-from mediagoblin.util import convert_to_tag_list
+from mediagoblin.tools.text import tag_length_validator
+from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
+from mediagoblin.tools.licenses import licenses_as_choices
+from mediagoblin.auth.forms import normalize_user_or_email_field
 
 
 class EditForm(wtforms.Form):
     title = wtforms.TextField(
-        'Title',
+        _('Title'),
         [wtforms.validators.Length(min=0, max=500)])
+    description = wtforms.TextAreaField(
+        _('Description of this work'),
+        description=_("""You can use
+                      <a href="http://daringfireball.net/projects/markdown/basics">
+                      Markdown</a> for formatting."""))
+    tags = wtforms.TextField(
+        _('Tags'),
+        [tag_length_validator],
+        description=_(
+            "Separate tags by commas."))
     slug = wtforms.TextField(
-        'Slug')
-    description = wtforms.TextAreaField('Description of this work')
-    tags = wtforms.TextField('Tags', filters=[convert_to_tag_list])
+        _('Slug'),
+        [wtforms.validators.Required(message=_("The slug can't be empty"))],
+        description=_(
+            "The title part of this media's address. "
+            "You usually don't need to change this."))
+    license = wtforms.SelectField(
+        _('License'),
+        [wtforms.validators.Optional(),],
+        choices=licenses_as_choices())
 
 class EditProfileForm(wtforms.Form):
-    bio = wtforms.TextAreaField('Bio',
-        [wtforms.validators.Length(min=0, max=500)])
+    bio = wtforms.TextAreaField(
+        _('Bio'),
+        [wtforms.validators.Length(min=0, max=500)],
+        description=_("""You can use
+                      <a href="http://daringfireball.net/projects/markdown/basics">
+                      Markdown</a> for formatting."""))
     url = wtforms.TextField(
-        'Website',
+        _('Website'),
+        [wtforms.validators.Optional(),
+         wtforms.validators.URL(message=_("This address contains errors"))])
+
+
+class EditAccountForm(wtforms.Form):
+    new_email = wtforms.TextField(
+        _('New email address'),
         [wtforms.validators.Optional(),
-         wtforms.validators.URL(message='Improperly formed URL')])
+         normalize_user_or_email_field(allow_user=False)])
+    wants_comment_notification = wtforms.BooleanField(
+        label='',
+        description=_("Email me when others comment on my media"))
+    license_preference = wtforms.SelectField(
+        _('License preference'),
+        [
+            wtforms.validators.Optional(),
+            wtforms.validators.AnyOf([lic[0] for lic in licenses_as_choices()]),
+        ],
+        choices=licenses_as_choices(),
+        description=_('This will be your default license on upload forms.'))
+
+
+class EditAttachmentsForm(wtforms.Form):
+    attachment_name = wtforms.TextField(
+        'Title')
+    attachment_file = wtforms.FileField(
+        'File')
+
+class EditCollectionForm(wtforms.Form):
+    title = wtforms.TextField(
+        _('Title'),
+        [wtforms.validators.Length(min=0, max=500), wtforms.validators.Required(message=_("The title can't be empty"))])
+    description = wtforms.TextAreaField(
+        _('Description of this collection'),
+        description=_("""You can use
+                      <a href="http://daringfireball.net/projects/markdown/basics">
+                      Markdown</a> for formatting."""))
+    slug = wtforms.TextField(
+        _('Slug'),
+        [wtforms.validators.Required(message=_("The slug can't be empty"))],
+        description=_(
+            "The title part of this collection's address. "
+            "You usually don't need to change this."))
+
+
+class ChangePassForm(wtforms.Form):
+    old_password = wtforms.PasswordField(
+        _('Old password'),
+        [wtforms.validators.Required()],
+        description=_(
+            "Enter your old password to prove you own this account."))
+    new_password = wtforms.PasswordField(
+        _('New password'),
+        [wtforms.validators.Required(),
+         wtforms.validators.Length(min=6, max=30)],
+        id="password")