forked from DGNum/gestioCOF
b42452080f
AccountBackend - Should now work if used in AUTHENTICATION_BACKENDS settings. - It does not retieve itself the password, as it should not be used this way. GenericBackend - Delete useless 'username' arg of its 'authenticate()' method. - Now delete the token in DB. TemporaryAuthMiddleware - New name of the middleware is more meaningful. - Is now responsible to retrieve the password from the request, instead of the AccountBackend. GenericTeamToken model - Add a manager' method to create token, avoiding possible error due to unicity constraint. GenericLoginView (authentication with the kfet generic user) - Replace obscure system with a 100% HTTP handling. - See comments for more information. Misc - More docstrings! - More tests! - Add some i18n. - Add kfet/confirm_form.html template: Ask user to confirm sth via a form (which will send a POST request). Context variables: * title: the page title * confirm_url: action attribute for <form> * text: displayed confirmation text - kfet.js : Add functions allowing to emit POST request from <a> tag. - Non-link nav items from kfet navbar also get a 'title'. - A utility has been found for the 'sunglasses' glyphicon!
17 lines
464 B
Python
17 lines
464 B
Python
from django.db import models
|
|
from django.utils.crypto import get_random_string
|
|
|
|
|
|
class GenericTeamTokenManager(models.Manager):
|
|
|
|
def create_token(self):
|
|
token = get_random_string(50)
|
|
while self.filter(token=token).exists():
|
|
token = get_random_string(50)
|
|
return self.create(token=token)
|
|
|
|
|
|
class GenericTeamToken(models.Model):
|
|
token = models.CharField(max_length=50, unique=True)
|
|
|
|
objects = GenericTeamTokenManager()
|