The end of Clipper

GestioCOF fetches the clipper accounts from an LDAP database and doesn't
need to store clippers in a table anymore.
This commit is contained in:
Martin Pépin 2016-12-25 02:02:22 +01:00
parent 6e5c3c8c33
commit 3c7558c853
13 changed files with 133 additions and 114 deletions

View file

@ -22,7 +22,7 @@ from django.db.models import F, Sum, Prefetch, Count, Func
from django.db.models.functions import Coalesce
from django.utils import timezone
from django.utils.crypto import get_random_string
from gestioncof.models import CofProfile, Clipper
from gestioncof.models import CofProfile
from kfet.decorators import teamkfet_required
from kfet.models import (Account, Checkout, Article, Settings, AccountNegative,
CheckoutStatement, GenericTeamToken, Supplier, SupplierArticle, Inventory,
@ -216,19 +216,20 @@ def account_form_set_readonly_fields(user_form, cof_form):
cof_form.fields['login_clipper'].widget.attrs['readonly'] = True
cof_form.fields['is_cof'].widget.attrs['disabled'] = True
def get_account_create_forms(request=None, username=None, login_clipper=None):
def get_account_create_forms(request=None, username=None, login_clipper=None,
fullname=None):
user = None
clipper = None
clipper = False
if login_clipper and (login_clipper == username or not username):
# à partir d'un clipper
# le user associé à ce clipper ne devrait pas encore exister
clipper = get_object_or_404(Clipper, username = login_clipper)
clipper = True
try:
# Vérification que clipper ne soit pas déjà dans User
user = User.objects.get(username=login_clipper)
# Ici, on nous a menti, le user existe déjà
username = user.username
clipper = None
clipper = False
except User.DoesNotExist:
# Clipper (sans user déjà existant)
@ -236,9 +237,9 @@ def get_account_create_forms(request=None, username=None, login_clipper=None):
user_initial = {
'username' : login_clipper,
'email' : "%s@clipper.ens.fr" % login_clipper}
if clipper.fullname:
if fullname:
# Prefill du nom et prénom
names = clipper.fullname.split()
names = fullname.split()
# Le premier, c'est le prénom
user_initial['first_name'] = names[0]
if len(names) > 1:
@ -302,8 +303,11 @@ def get_account_create_forms(request=None, username=None, login_clipper=None):
@login_required
@teamkfet_required
def account_create_ajax(request, username=None, login_clipper=None):
forms = get_account_create_forms(request=None, username=username, login_clipper=login_clipper)
def account_create_ajax(request, username=None, login_clipper=None,
fullname=None):
forms = get_account_create_forms(
request=None, username=username, login_clipper=login_clipper,
fullname=fullname)
return render(request, "kfet/account_create_form.html", {
'account_form' : forms['account_form'],
'cof_form' : forms['cof_form'],