From ef7cdac5b97374418ef94891981539ea07216fe4 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 27 Mar 2011 17:32:27 -0500 Subject: [PATCH] A testing submit view that doesn't work but is getting closer to working. --- .../templates/mediagoblin/test_submit.html | 9 +++------ .../templates/mediagoblin/utils/wtforms.html | 18 +++++++++++++++++ mediagoblin/views.py | 20 +++++++++++++++---- 3 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 mediagoblin/templates/mediagoblin/utils/wtforms.html diff --git a/mediagoblin/templates/mediagoblin/test_submit.html b/mediagoblin/templates/mediagoblin/test_submit.html index bf91d26b..2fae634c 100644 --- a/mediagoblin/templates/mediagoblin/test_submit.html +++ b/mediagoblin/templates/mediagoblin/test_submit.html @@ -1,14 +1,11 @@ +{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} +
- {% for field in image_form %} - - - - - {% endfor %} + {{ wtforms_util.render_table(image_form) }} diff --git a/mediagoblin/templates/mediagoblin/utils/wtforms.html b/mediagoblin/templates/mediagoblin/utils/wtforms.html new file mode 100644 index 00000000..641f51d5 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/utils/wtforms.html @@ -0,0 +1,18 @@ +{% macro render_table(form) -%} + {% for field in form %} + + + + + {% endfor %} +{%- endmacro %} diff --git a/mediagoblin/views.py b/mediagoblin/views.py index 116237b7..eca40203 100644 --- a/mediagoblin/views.py +++ b/mediagoblin/views.py @@ -3,6 +3,8 @@ import datetime from webob import Response, exc import wtforms +from mediagoblin import models + def root_view(request): return Response("This is the root") @@ -19,13 +21,21 @@ def submit_test(request): image_form = ImageSubmitForm(request.POST) if request.method == 'POST' and image_form.validate(): # create entry and save in database - work_id = request.app.db.works.insert( - {'title': image_form.title.data, - 'created': datetime.datetime.now(), - 'description': image_form.description.data}) + + entry = request.db.MediaEntry() + entry['title'] = request.POST['title'] + entry['description'] = request.POST.get(['description'])o + entry['media_type'] = u'image' + + # TODO this does NOT look save, we should clean the filename somenow? + entry['file_store'] = request.POST['file'].filename + + entry.save(validate=True) # save file to disk ## TODO + #open('/tmp/read_file.png', 'wb').write(request.POST['file'].file.read()) + # resize if necessary ## Hm. This should be done on a separate view? @@ -33,6 +43,8 @@ def submit_test(request): # redirect pass + + # render template = request.template_env.get_template( 'mediagoblin/test_submit.html') -- 2.25.1
{{ field.label }}{{ field }}
{{field.label}} + {{field}} + {% if field.errors %} +
+
    + {% for error in field.errors %} +
  • {{error}}
  • + {% endfor %} +
+ {% endif %} +