Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
 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 ""
Ejemplo n.º 3
0
 def createCaptcha(self, context, request=None):
     """ See interface """
     if not request:
         request = context.REQUEST
     request[COOKIE_ID] = ''     #, '6552fec8867ee2a85a44784dda007e49efcf50ef')
     captcha = Captcha(context, request)
     return captcha
Ejemplo n.º 4
0
    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 ""
Ejemplo n.º 5
0
    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 ''