Пример #1
0
 def update(self):
     translation_service = api.portal.get_tool(name="translation_service")
     unwanted = ("_authenticator", "form.button.Submit")
     required = ["email"]
     if "form.button.Submit" in self.request:
         authenticator = getMultiAdapter((self.context, self.request), name=u"authenticator")
         if not authenticator.verify():
             raise Unauthorized
         form = self.request.form
         form_data = {}
         form_errors = {}
         errorIdx = 0
         for value in form:
             if value not in unwanted:
                 form_data[value] = safe_unicode(form[value])
                 if not form[value] and value in required:
                     error = {}
                     error_msg = _(u"This field is required")
                     error["active"] = True
                     error["msg"] = translation_service.translate(
                         error_msg, "aha.sitecontent", target_language=api.portal.get_default_language()
                     )
                     form_errors[value] = error
                     errorIdx += 1
                 else:
                     error = {}
                     error["active"] = False
                     error["msg"] = form[value]
                     form_errors[value] = error
         if errorIdx > 0:
             self.errors = form_errors
         else:
             self.send_inquiry(form)
Пример #2
0
 def send_inquiry(self, data):
     context = aq_inner(self.context)
     subject = _(u"Inquiry from website visitor")
     email_subject = api.portal.translate(
         "Inquiry from website visitor", "aha.sitecontent", api.portal.get_current_language()
     )
     data["subject"] = email_subject
     mail_tpl = self._compose_message(data)
     mail_plain = create_plaintext_message(mail_tpl)
     msg = prepare_email_message(mail_tpl, mail_plain)
     recipients = ["*****@*****.**"]
     send_mail(msg, recipients, email_subject)
     context_parent = aq_parent(context)
     next_url = "{0}/@@inquiry-form-dispatched/".format(context_parent.absolute_url())
     url = addTokenToUrl(next_url)
     return self.request.response.redirect(url)