mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-11 04:19:25 +00:00
Improve user views
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm, UserChangeForm
|
||||
from django import forms
|
||||
from django.contrib.auth import logout, login, authenticate
|
||||
from django.forms import CheckboxSelectMultiple
|
||||
import logging
|
||||
|
||||
from core.models import User, Page
|
||||
@ -20,39 +21,15 @@ class RegisteringForm(UserCreationForm):
|
||||
user.save()
|
||||
return user
|
||||
|
||||
class LoginForm(AuthenticationForm):
|
||||
def login(self):
|
||||
u = authenticate(username=self.request.POST['username'],
|
||||
password=self.request.POST['password'])
|
||||
if u is not None:
|
||||
if u.is_active:
|
||||
login(self.request, u)
|
||||
logging.debug("Logging in "+str(u))
|
||||
else:
|
||||
raise forms.ValidationError(
|
||||
self.error_messages['invalid_login'],
|
||||
code='inactive',
|
||||
params={'username': self.username_field.verbose_name},
|
||||
)
|
||||
else:
|
||||
logging.debug("Login failed")
|
||||
raise forms.ValidationError(
|
||||
self.error_messages['invalid_login'],
|
||||
code='invalid_login',
|
||||
params={'username': self.username_field.verbose_name},
|
||||
)
|
||||
|
||||
class UserEditForm(UserChangeForm):
|
||||
class UserGroupsForm(forms.ModelForm):
|
||||
error_css_class = 'error'
|
||||
required_css_class = 'required'
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('first_name', 'last_name', 'nick_name', 'email', 'date_of_birth', 'groups', 'user_permissions',)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(UserEditForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def clean_password(self):
|
||||
"""We never handle password in this form"""
|
||||
return
|
||||
fields = ['groups', 'user_permissions',]
|
||||
widgets = {
|
||||
'groups': CheckboxSelectMultiple,
|
||||
'user_permissions': CheckboxSelectMultiple,
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user