X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c8e137630abd8b9721e42787c8ebf49abec600eb..d3a93004d1c30c99008cc44aebb7c1d7abce6c54:/apps/suggest/views.py diff --git a/apps/suggest/views.py b/apps/suggest/views.py index ac45cea34..035074d0a 100644 --- a/apps/suggest/views.py +++ b/apps/suggest/views.py @@ -2,33 +2,23 @@ # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # -from django.http import HttpResponse, HttpResponseRedirect -from django.views.decorators import cache -from django.views.decorators.http import require_POST -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_lazy as _ +from ajaxable.utils import AjaxableFormView from suggest import forms -from suggest.models import Suggestion -# FIXME - shouldn't be in catalogue -from catalogue.views import LazyEncoder +class PublishingSuggestionFormView(AjaxableFormView): + form_class = forms.PublishingSuggestForm + title = _('Report a bug or suggestion') + template = "publishing_suggest.html" + success_message = _('Report was sent successfully.') + honeypot = True -#@require_POST -@cache.never_cache -def report(request): - suggest_form = forms.SuggestForm(request.POST) - if suggest_form.is_valid(): - contact = suggest_form.cleaned_data['contact'] - description = suggest_form.cleaned_data['description'] - suggestion = Suggestion(contact=contact, - description=description, ip=request.META['REMOTE_ADDR']) - if request.user.is_authenticated(): - suggestion.user = request.user - suggestion.save() - - response_data = {'success': True, 'message': _('Report was sent successfully.')} - else: - response_data = {'success': False, 'errors': suggest_form.errors} - return HttpResponse(LazyEncoder(ensure_ascii=False).encode(response_data)) +class SuggestionFormView(AjaxableFormView): + form_class = forms.SuggestForm + title = _('Report a bug or suggestion') + submit = _('Send report') + success_message = _('Report was sent successfully.') + honeypot = True