def getCaptchaView(self): captchaView = Captcha(self.context, self.request) # Allow the image to not be cached in overlay image = captchaView.image_tag() image = image.replace('/image"', '/image?%s"' % str(uuid.uuid1())) captchaView.image_tag_hacked = image return captchaView
def verifyCaptcha(self, context, request=None): """ See interface """ verify_failed_msg = "You need to enter the code shown to verify your request" if not request: request = context.REQUEST if not COOKIE_ID in request.cookies: return "No Captcha cookie was found" text = request.get('captcha_text', None) if not text: return verify_failed_msg captcha =Captcha(context, request) if not captcha.verify(text): return verify_failed_msg return ""
def createCaptcha(self, context, request=None): """ See interface """ if not request: request = context.REQUEST request[COOKIE_ID] = '' #, '6552fec8867ee2a85a44784dda007e49efcf50ef') captcha = Captcha(context, request) return captcha
def sendMailForProblem(self): """ envoi d'un mail pour signaler un problème """ if self.request.get("vecteur") is None: return captcha = self.request.get("captcha", "") captchaView = Captcha(self.context, self.request) isCorrectCaptcha = captchaView.verify(captcha) if not isCorrectCaptcha: return "" gdwMail = u"*****@*****.**" typeProbleme = self.request.get("typeProbleme", None) if not typeProbleme or typeProbleme.strip() == "...": typeProbleme = u"Non spécifié" elif typeProbleme == "Autre": typeProbleme = self.request.get("typeautre") contactNom = self.request.get("contactNom", "") contactPrenom = self.request.get("contactPrenom", "") contactLangue = self.request.get("contactLangue", None) if not contactLangue or contactLangue.strip() == "...": language = self.request.get("LANGUAGE", "en") contactLangue = LANG_MAP.get(language, "") contactLangue = contactLangue.decode("utf-8") contactEmail = self.request.get("contactEmail", None) hebPk = self.request.get("heb_pk", "") remarque = self.request.get("remarque", "") fromMail = "*****@*****.**" if contactEmail is not None: try: checkEmailAddress(contactEmail) fromMail = contactEmail except EmailAddressInvalid: pass mailer = Mailer("localhost", fromMail) mailer.setSubject("[SIGNALER UN PROBLEME PAR LE SITE DES GITES DE WALLONIE]") mailer.setRecipients(gdwMail) mail = """:: SIGNALER UN PROBLEME :: L'utilisateur %s %s signale un problème sur le site des Gîtes de Wallonie. Il s'agit de : * Nom : %s * Prénom : %s * Langue : %s * E-mail : %s * Hébergement concerné : %s * Type de problème : %s * Remarque : %s """ % ( unicode(contactNom).encode("utf-8"), unicode(contactPrenom).encode("utf-8"), unicode(contactNom).encode("utf-8"), unicode(contactPrenom).encode("utf-8"), unicode(contactLangue).encode("utf-8"), unicode(contactEmail).encode("utf-8"), unicode(hebPk).encode("utf-8"), unicode(typeProbleme).encode("utf-8"), unicode(remarque).encode("utf-8"), ) try: mailer.sendAllMail(mail, plaintext=True) except SMTPSenderRefused: messages = IStatusMessage(self.request) messages.add(_(u"Il y a eu un problème lors de l'envoi de votre demande."), type=u"error") return translate = queryMultiAdapter((self.context, self.request), name="getTranslatedObjectUrl") url = translate("mailsent") self.request.RESPONSE.redirect(url) return ""
def sendMailForProblem(self): """ envoi d'un mail pour signaler un problème """ if self.request.get('vecteur') is None: return captcha = self.request.get('captcha', '') captchaView = Captcha(self.context, self.request) isCorrectCaptcha = captchaView.verify(captcha) if not isCorrectCaptcha: return "" gdwMail = u'*****@*****.**' typeProbleme = self.request.get('typeProbleme', None) if not typeProbleme or typeProbleme.strip() == '...': typeProbleme = u'Non spécifié' elif typeProbleme == "Autre": typeProbleme = self.request.get('typeautre') contactNom = self.request.get('contactNom', '') contactPrenom = self.request.get('contactPrenom', '') contactLangue = self.request.get('contactLangue', None) if not contactLangue or contactLangue.strip() == '...': language = self.request.get('LANGUAGE', 'en') contactLangue = LANG_MAP.get(language, '') contactLangue = contactLangue.decode('utf-8') contactEmail = self.request.get('contactEmail', None) hebPk = self.request.get('heb_pk', '') remarque = self.request.get('remarque', '') mailer = Mailer("localhost", gdwMail) mailer.setSubject("[SIGNALER UN PROBLEME PAR LE SITE DES GITES DE WALLONIE]") mailer.setRecipients(gdwMail) mail = """:: SIGNALER UN PROBLEME :: L'utilisateur %s %s signale un problème sur le site des Gîtes de Wallonie. Il s'agit de : * Nom : %s * Prénom : %s * Langue : %s * E-mail : %s * Hébergement concerné : %s * Type de problème : %s * Remarque : %s """ \ % (unicode(contactNom).encode('utf-8'), unicode(contactPrenom).encode('utf-8'), unicode(contactNom).encode('utf-8'), unicode(contactPrenom).encode('utf-8'), unicode(contactLangue).encode('utf-8'), unicode(contactEmail).encode('utf-8'), unicode(hebPk).encode('utf-8'), unicode(typeProbleme).encode('utf-8'), unicode(remarque).encode('utf-8')) try: mailer.sendAllMail(mail, plaintext=True) except SMTPSenderRefused: messages = IStatusMessage(self.request) messages.add(_(u"Il y a eu un problème lors de l'envoi de votre demande."), type=u"error") return translate = queryMultiAdapter((self.context, self.request), name='getTranslatedObjectUrl') url = translate('mailsent') self.request.RESPONSE.redirect(url) return ''