A testing submit view that doesn't work but is getting closer to working.

This commit is contained in:
Christopher Allan Webber 2011-03-27 17:32:27 -05:00
parent 6f86cfe95c
commit ef7cdac5b9
3 changed files with 37 additions and 10 deletions

View File

@ -1,14 +1,11 @@
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
<html>
<body>
<form action="{{ request.urlgen('test_submit') }}" method="POST"
enctype="multipart/form-data">
<table>
{% for field in image_form %}
<tr>
<td>{{ field.label }}</td>
<td>{{ field }}</td>
</tr>
{% endfor %}
{{ wtforms_util.render_table(image_form) }}
<tr>
<td></td>
<td><input type="submit" value="submit" /></td>

View File

@ -0,0 +1,18 @@
{% macro render_table(form) -%}
{% for field in form %}
<tr>
<th>{{field.label}}</th>
<td>
{{field}}
{% if field.errors %}
<br />
<ul class="errors">
{% for error in field.errors %}
<li>{{error}}</li>
{% endfor %}
</ul>
{% endif %}
</td>
</tr>
{% endfor %}
{%- endmacro %}

View File

@ -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')