mail: add a "feeder" page

This commit is contained in:
Frédéric Péters 2015-09-21 09:58:32 +02:00
parent afa6f3fcdf
commit 05a921b132
3 changed files with 31 additions and 1 deletions

View File

@ -0,0 +1,13 @@
{% extends "welco/base.html" %}
{% load i18n %}
{% block content %}
<h2>{% trans "Mail Feeder" %}</h2>
<form action="." enctype="multipart/form-data" method="POST">
<input type="file" name="mail" multiple>
<div><button>{% trans "Push" %}</button></div>
</form>
{% endblock %}

View File

@ -16,9 +16,10 @@
from django.conf.urls import patterns, url
from .views import viewer, qualification_save
from .views import viewer, feeder, qualification_save
urlpatterns = patterns('',
url('viewer/$', viewer, name='mail-viewer'),
url('mail/feeder/$', feeder, name='mail-feeder'),
url(r'^ajax/qualification-mail-save$', qualification_save, name='qualif-mail-save'),
)

View File

@ -16,11 +16,14 @@
from django import template
from django.contrib.contenttypes.models import ContentType
from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.template import RequestContext
from django.http import HttpResponse, HttpResponseRedirect
from django.utils.translation import ugettext_lazy as _
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import TemplateView
from .models import Mail
from .forms import MailQualificationForm
@ -33,6 +36,19 @@ def viewer(request, *args, **kwargs):
return HttpResponse(body)
class Feeder(TemplateView):
template_name = 'welco/mail_feeder.html'
def post(self, request):
for upload in request.FILES.getlist('mail'):
mail = Mail(content=upload)
mail.save()
messages.info(request, _('%d files uploaded successfully.') %
len(request.FILES.getlist('mail')))
return HttpResponseRedirect(reverse('mail-feeder'))
feeder = csrf_exempt(Feeder.as_view())
class Home(object):
def __init__(self, request):
self.request = request