def check_failed_login(self):
        """
        'Private method', check failed logins, it's used for wath_login decorator
        """
        last_attempt = self.get_last_failed_access_attempt()

        if not last_attempt:
            # create a new entry
            user_access = self._FailedAccessAttemptModel(ip_address=self.ip)
        elif last_attempt:
            user_access = last_attempt

        if self.request.method == 'POST':
            if self.username is None:
                raise DobermanImproperlyConfigured(
                    "Bad username form field, if you are using a custom field please configure: "
                    "DOBERMAN_USERNAME_FORM_FIELD via settings."
                )

            if self.response.status_code != 302:

                user_access.user_agent = self.request.META.get('HTTP_USER_AGENT', '<unknown user agent>')[:255]
                user_access.username = self.username
                user_access.failed_attempts += 1
                user_access.params_get = self.request.GET
                user_access.params_post = self.request.POST

                if user_access.failed_attempts >= self.max_failed_attempts:
                    user_access.is_locked = True

                user_access.save()

            elif self.response.status_code == 302 and not user_access.is_locked:
                user_access.is_expired = True
                user_access.save()

        return user_access
def check_failed_login ( self ) : last_attempt = self . get_last_failed_access_attempt ( ) if not last_attempt : user_access = self . _FailedAccessAttemptModel ( ip_address = self . ip ) elif last_attempt : user_access = last_attempt if self . request . method == 'POST' : if self . username is None : raise DobermanImproperlyConfigured ( "Bad username form field, if you are using a custom field please configure: " "DOBERMAN_USERNAME_FORM_FIELD via settings." ) if self . response . status_code != 302 : user_access . user_agent = self . request . META . get ( 'HTTP_USER_AGENT' , '<unknown user agent>' ) [ : 255 ] user_access . username = self . username user_access . failed_attempts += 1 user_access . params_get = self . request . GET user_access . params_post = self . request . POST if user_access . failed_attempts >= self . max_failed_attempts : user_access . is_locked = True user_access . save ( ) elif self . response . status_code == 302 and not user_access . is_locked : user_access . is_expired = True user_access . save ( ) return user_access
'Private method', check failed logins, it's used for wath_login decorator