vkk.workhours.accounting.mailing_list.views
1from smtplib import SMTPException 2from django.urls import reverse_lazy, reverse 3from django.http import HttpResponseRedirect 4from django.views.generic import FormView, TemplateView 5from vkk.workhours.accounting.mixins import AccountantRequiredMixin 6from .forms import MailingListForm 7 8class MailingListView(AccountantRequiredMixin, FormView): 9 form_class = MailingListForm 10 success_url = reverse_lazy('vkk:workhours:accounting:mailing_list:success') 11 template_name = 'vkk/workhours/accounting/mailing_list/form.html' 12 13 def form_valid(self, form): 14 try: 15 form.send_mail() 16 except SMTPException: 17 return HttpResponseRedirect( 18 reverse('vkk:workhours:accounting:mailing_list:failed') 19 ) 20 return super().form_valid(form) 21 22class MailingListSuccessView(AccountantRequiredMixin, TemplateView): 23 template_name = 'vkk/workhours/accounting/mailing_list/success.html' 24 25class MailingListFailedView(AccountantRequiredMixin, TemplateView): 26 template_name = 'vkk/workhours/accounting/mailing_list/failed.html'
class
MailingListView(vkk.workhours.accounting.mixins.AccountantRequiredMixin, django.views.generic.edit.FormView):
9class MailingListView(AccountantRequiredMixin, FormView): 10 form_class = MailingListForm 11 success_url = reverse_lazy('vkk:workhours:accounting:mailing_list:success') 12 template_name = 'vkk/workhours/accounting/mailing_list/form.html' 13 14 def form_valid(self, form): 15 try: 16 form.send_mail() 17 except SMTPException: 18 return HttpResponseRedirect( 19 reverse('vkk:workhours:accounting:mailing_list:failed') 20 ) 21 return super().form_valid(form)
Verify that the current user has accountant rights.
def
form_valid(self, form):
14 def form_valid(self, form): 15 try: 16 form.send_mail() 17 except SMTPException: 18 return HttpResponseRedirect( 19 reverse('vkk:workhours:accounting:mailing_list:failed') 20 ) 21 return super().form_valid(form)
If the form is valid, redirect to the supplied URL.
Inherited Members
- django.views.generic.base.View
- View
- view_is_async
- as_view
- setup
- http_method_not_allowed
- options
- django.contrib.auth.mixins.AccessMixin
- get_login_url
- get_permission_denied_message
- get_redirect_field_name
- handle_no_permission
- django.views.generic.base.TemplateResponseMixin
- render_to_response
- get_template_names
- django.views.generic.edit.FormMixin
- get_initial
- get_prefix
- get_form_class
- get_form
- get_form_kwargs
- get_success_url
- form_invalid
- get_context_data
- django.views.generic.edit.ProcessFormView
- get
- post
- put
class
MailingListSuccessView(vkk.workhours.accounting.mixins.AccountantRequiredMixin, django.views.generic.base.TemplateView):
23class MailingListSuccessView(AccountantRequiredMixin, TemplateView): 24 template_name = 'vkk/workhours/accounting/mailing_list/success.html'
Verify that the current user has accountant rights.
Inherited Members
- django.views.generic.base.View
- View
- view_is_async
- as_view
- setup
- http_method_not_allowed
- options
- django.contrib.auth.mixins.AccessMixin
- get_login_url
- get_permission_denied_message
- get_redirect_field_name
- handle_no_permission
- django.views.generic.base.TemplateView
- get
- django.views.generic.base.TemplateResponseMixin
- render_to_response
- get_template_names
- django.views.generic.base.ContextMixin
- get_context_data
class
MailingListFailedView(vkk.workhours.accounting.mixins.AccountantRequiredMixin, django.views.generic.base.TemplateView):
26class MailingListFailedView(AccountantRequiredMixin, TemplateView): 27 template_name = 'vkk/workhours/accounting/mailing_list/failed.html'
Verify that the current user has accountant rights.
Inherited Members
- django.views.generic.base.View
- View
- view_is_async
- as_view
- setup
- http_method_not_allowed
- options
- django.contrib.auth.mixins.AccessMixin
- get_login_url
- get_permission_denied_message
- get_redirect_field_name
- handle_no_permission
- django.views.generic.base.TemplateView
- get
- django.views.generic.base.TemplateResponseMixin
- render_to_response
- get_template_names
- django.views.generic.base.ContextMixin
- get_context_data