Starting with the test submit view using wtforms
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 18 Jul 2010 16:22:24 +0000 (11:22 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 18 Jul 2010 16:22:24 +0000 (11:22 -0500)
mediagoblin/templates/mediagoblin/test_submit.html [new file with mode: 0644]
mediagoblin/views.py

diff --git a/mediagoblin/templates/mediagoblin/test_submit.html b/mediagoblin/templates/mediagoblin/test_submit.html
new file mode 100644 (file)
index 0000000..0d2fd25
--- /dev/null
@@ -0,0 +1,18 @@
+<html>
+  <body>
+    <form action="{{ request.urlgen('test_submit') }}" method="POST">
+      <table>
+        {% for field in image_form %}
+          <tr>
+            <td>{{ field.label }}</td>
+            <td>{{ field }}</td>
+          </tr>
+        {% endfor %}
+        <tr>
+          <td></td>
+          <td><input type="submit" value="submit" /></td>
+        </tr>
+      </table>
+    </form>
+  </body>
+</html>
index 1b1094537162b5026a61a7f226a8383068f07476..ef0fddad2cbacd2ab51983cedee4d3ef6dc07f50 100644 (file)
@@ -1,4 +1,36 @@
 from webob import Response, exc
+import wtforms
 
 def root_view(request):
     return Response("This is the root")
+
+
+class ImageSubmitForm(wtforms.Form):
+    title = wtforms.TextField(
+        'Title',
+        [wtforms.validators.Length(min=1, max=500)])
+    description = wtforms.TextAreaField('Description of this work')
+    file = wtforms.FileField('File')
+
+
+def submit_test(request):
+    image_form = ImageSubmitForm(request.POST)
+    if request.method == 'POST' and image_form.validate():
+        # create entry and save in database
+        
+        # save file to disk
+        ## TODO
+
+        # resize if necessary
+        ## Hm.  This should be done on a separate view?
+
+        # redirect
+        pass
+
+    # render
+    template = request.template_env.get_template(
+        'mediagoblin/test_submit.html')
+    return Response(
+        template.render(
+            {'request': request,
+             'image_form': image_form}))