partial refactor contact us view for ajax request

remotes/origin/HEAD
Max Yakovenko 8 years ago
parent d50db7b73a
commit 8e30737709
  1. 34
      contact_us/views.py

@ -20,43 +20,11 @@ class ContactUsFormView(SuccessMessageMixin, FormView):
success_message = _('Request has been sent successfully!')
error_message = _('Some errors occurred during sending the request. Check the input fields or try latter.')
def get_initial(self):
initial = super().get_initial()
if self.request.method == "GET":
initial['type'] = RequestType.objects.order_by('order').first()
if self.request.user.is_authenticated():
initial['name'] = self.request.user.profile.get_full_name(self.request, self.request.user.profile)
initial['email'] = self.request.user.email
return initial
def form_valid(self, form):
try:
with transaction.atomic():
if self.request.user.is_authenticated():
form.instance.user = self.request.user
form.save()
files = []
if len(self.request.FILES) > 0:
attachments = AttachmentFormSet(self.request.POST, self.request.FILES, form_kwargs={'request': form.instance})
if attachments.is_valid():
attachments.save()
files = attachments.get_file_absolute_urls(self.request)
form.send_email(self.request, files)
return super().form_valid(form)
except ValueError as ve:
logger.critical(ve)
messages.error(self.request, self.error_message, 'danger')
except Exception as e:
logger.critical(e)
messages.error(self.request, self.error_message, 'danger')
return self.form_invalid(form)
return super().form_valid(form)
def form_invalid(self, form):
context = self.get_context_data()
if len(form.errors) > 0:
context['form_show_errors'] = True
return self.render_to_response(context)
def get_success_url(self):
return super().get_success_url()

Loading…
Cancel
Save