projets
/
auf_rh_dae.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0f84414
)
permissions pour recrutement implémenté sur vrais groupes
author
davin baragiotta
<davin.baragiotta@u-db.(none)>
Tue, 2 Aug 2011 19:25:26 +0000
(15:25 -0400)
committer
Davin BARAGIOTTA
<davin.baragiotta@auf.org>
Tue, 2 Aug 2011 19:25:26 +0000
(15:25 -0400)
project/dae/utils.py
patch
|
blob
|
blame
|
history
project/dae/workflow.py
patch
|
blob
|
blame
|
history
project/lib.py
patch
|
blob
|
blame
|
history
project/recrutement/permissions.py
patch
|
blob
|
blame
|
history
diff --git
a/project/dae/utils.py
b/project/dae/utils.py
index
f57f4e8
..
c0f2c05
100644
(file)
--- a/
project/dae/utils.py
+++ b/
project/dae/utils.py
@@
-6,7
+6,7
@@
def get_employe_from_user(user):
"""
Retourne un employé AUF à partir de son user Django.
"""
"""
Retourne un employé AUF à partir de son user Django.
"""
- # Refactoring : utiliser project.lib.get_employe_from_user
+ # TODO : Refactoring : utiliser project.lib.get_employe_from_user
try:
employe = ref.Authentification.objects.get(courriel=user.email).id
except:
try:
employe = ref.Authentification.objects.get(courriel=user.email).id
except:
diff --git
a/project/dae/workflow.py
b/project/dae/workflow.py
index
bb1c55f
..
fc2b5f4
100644
(file)
--- a/
project/dae/workflow.py
+++ b/
project/dae/workflow.py
@@
-10,6
+10,7
@@
def safe_create_groupe(name):
ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
n'a pas été crée encore).
"""
ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
n'a pas été crée encore).
"""
+ # TODO : Refactoring : utiliser project.lib.safe_create_groupe
try:
grp, created = Group.objects.get_or_create(name=name)
except:
try:
grp, created = Group.objects.get_or_create(name=name)
except:
diff --git
a/project/lib.py
b/project/lib.py
index
3670aca
..
2c90073
100644
(file)
--- a/
project/lib.py
+++ b/
project/lib.py
@@
-14,3
+14,15
@@
def get_employe_from_user(user):
#raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
employe = rh.Employe.objects.none()
return employe
#raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
employe = rh.Employe.objects.none()
return employe
+
+def safe_create_groupe(name):
+ """
+ Création d'un groupe prédéfini. Retourne None, quand la création
+ ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
+ n'a pas été créée encore).
+ """
+ try:
+ grp, created = Group.objects.get_or_create(name=name)
+ except:
+ return None
+ return grp
diff --git
a/project/recrutement/permissions.py
b/project/recrutement/permissions.py
index
dc7b9c1
..
c8d12fd
100644
(file)
--- a/
project/recrutement/permissions.py
+++ b/
project/recrutement/permissions.py
@@
-1,14
+1,24
@@
# -*- encoding: utf-8 -*-
from django.contrib.auth.models import Group
# -*- encoding: utf-8 -*-
from django.contrib.auth.models import Group
+from project.lib import safe_create_groupe
+
# Logique AUF des permissions
# Logique AUF des permissions
-recrutement_groupes = Group.objects.none()
+grp_drh = safe_create_groupe(name='DRH')
+grp_evaluateurs = safe_create_groupe(name='Évaluateurs')
+
+recrutement_groupes = (
+ grp_drh,
+ grp_evaluateurs,
+)
def user_in_recrutement_groupes(user):
"""
Teste si un user Django fait parti des groupes prédéfinis de DAE.
"""
def user_in_recrutement_groupes(user):
"""
Teste si un user Django fait parti des groupes prédéfinis de DAE.
"""
+ if user.is_superuser:
+ return True
for g in user.groups.all():
if g in recrutement_groupes:
return True
for g in user.groups.all():
if g in recrutement_groupes:
return True