예제 #1
0
파일: forms.py 프로젝트: bandycj/SwaRoute
    def __init__(self, user, *args, **kwargs):
        kwargs['csrf_enabled'] = False

        if isinstance(user, User):
            self.user = user
            self.username = user.username
            self.email = user.email
            self.admin = user.admin
        self.is_admin = is_admin
        Form.__init__(self, *args, **kwargs)
예제 #2
0
 def validate(self):
     if not Form.validate(self):
         return False
     self.raw_message = flask.request.files["message"].stream.read()
     try:
         digest = pyzor.digest.DataDigester(
             email.message_from_string(self.raw_message)).value
         if digest != self.digest.data:
             self.add_error("digest", "Digest does not match message.")
             return False
         client = pyzor.client.Client(timeout=20)
         try:
             response = client.check(digest)
         except pyzor.TimeoutError as e:
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Timeout: %s", e)
             return False
         except pyzor.CommError as e:
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Error: %s", e)
             return False
         if not response.is_ok():
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Invalid response from server: %s", response)
             return False
         if int(response["Count"]) == 0:
             self.add_error("message", "Message not reported as spam.")
             return False
         if int(response["WL-Count"]) != 0:
             self.add_error("message", "Message is already whitelisted.")
             return False
     except AssertionError:
         self.add_error("message", "Invalid message.")
         return False
     return True
예제 #3
0
 def validate(self):
     if not Form.validate(self):
         return False
     self.raw_message = flask.request.files["message"].stream.read()
     try:
         digest = pyzor.digest.DataDigester(
             email.message_from_string(self.raw_message)).value
         if digest != self.digest.data:
             self.add_error("digest", "Digest does not match message.")
             return False
         client = pyzor.client.Client(timeout=20)
         try:
             response = client.check(digest)
         except pyzor.TimeoutError as e:
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Timeout: %s", e)
             return False
         except pyzor.CommError as e:
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Error: %s", e)
             return False
         if not response.is_ok():
             self.add_error("message", "Temporary error please try again.")
             self.logger.warn("Invalid response from server: %s", response)
             return False
         if int(response["Count"]) == 0:
             self.add_error("message", "Message not reported as spam.")
             return False
         if int(response["WL-Count"]) != 0:
             self.add_error("message", "Message is already whitelisted.")
             return False
     except AssertionError:
         self.add_error("message", "Invalid message.")
         return False
     return True
예제 #4
0
파일: csrf.py 프로젝트: MM1nd/flask-wtf
def _validate_csrf(csrf_impl, field):
    form = Form()
    csrf_impl.form_meta = form.meta

    try:
        SessionCSRF.validate_csrf_token(csrf_impl, None, field)
    except ValidationError:
        return False

    return True
예제 #5
0
파일: forms.py 프로젝트: bandycj/SwaRoute
    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.objects(openid=self.openid.data).first()
        if user is None:
            self.openid.errors = [Errors.UNKNOWN_USER]
            return False

        self.username = user
        return True
예제 #6
0
 def validate(self):
     if not Form.validate(self):
         print('Default validation failed')
         self.invalid = False
         return False
     else:
         if not self.pattern.data and not self.avail_letters.data:
             self.invalid = True
             return False
         else:
             self.invalid = False
             return True
예제 #7
0
    def validate(self):
        if not Form.validate(self):
            return False
        if self.nickname.data == self.original_nickname:
            return True

        user = User.query.filter_by(nickname=self.nickname.data).first()

        if user is not None:

            self.nickname.errors.append('This nickname is already used')
            return False

        return True
예제 #8
0
파일: forms.py 프로젝트: bandycj/SwaRoute
    def validate(self):
        print self.username.data
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.objects(username=self.username.data).first()
        if user != None:
            self.username.errors = [Errors.USERNAME_UNAVAILABLE]
            return False

        if oid == None and user == None:
            user = User(openid=self.openid.data, username=self.username.data)
            user.save()

        self.username = user
        return True
예제 #9
0
파일: forms.py 프로젝트: bandycj/SwaRoute
    def validate(self):
        print self.username.data
        rv = Form.validate(self)
        if not rv:
            return False

        if self.username.data != user.username:
            user = User.objects(username=self.username.data).first()
            if user != None:
                self.username.errors = [Errors.USERNAME_UNAVAILABLE]
                return False

        if self.username.data != user.username:
            email = User.objects(email=self.email.data).first()
            if email != None:
                self.email.errors = [Errors.EMAIL_IN_USE]
                return False

        self.username = user
        self.email = email
        return True
예제 #10
0
파일: csrf.py 프로젝트: MM1nd/flask-wtf
def _generate_csrf(csrf_impl):
    form = Form()
    csrf_impl.form_meta = form.meta
    return SessionCSRF.generate_csrf_token(csrf_impl, None)
예제 #11
0
파일: forms.py 프로젝트: bandycj/SwaRoute
 def __init__(self, *args, **kwargs):
     kwargs['csrf_enabled'] = False
     Form.__init__(self, *args, **kwargs)