from project.dae.utils import get_employe_from_user as get_emp
from recrutement.models import *
-from recrutement.workflow import grp_evaluateurs_recrutement, \
- grp_drh_recrutement, grp_directeurs_bureau_recrutement, \
+from recrutement.workflow import grp_drh_recrutement, grp_directeurs_bureau_recrutement, \
grp_administrateurs_recrutement, \
grp_correspondants_rh_recrutement
from recrutement.forms import *
employe = get_emp(request.user)
return qs.filter(region=employe.implantation.region)
- if grp_evaluateurs_recrutement in user_groupes:
+ if Evaluateur.objects.filter(user=request.user).exists():
evaluateur = Evaluateur.objects.get(user=request.user)
offre_ids = [e.candidat.offre_emploi_id for e in
CandidatEvaluation.objects.select_related('candidat').filter(evaluateur=evaluateur)]
return False
def has_change_permission(self, request, obj=None):
- user_groupes = request.user.groups.all()
- if request.user.is_superuser is True or \
- grp_evaluateurs_recrutement in user_groupes or \
- grp_drh_recrutement in user_groupes or \
- grp_directeurs_bureau_recrutement in user_groupes or \
- grp_administrateurs_recrutement in user_groupes:
- return True
- return False
+ return True
class CandidatPieceInline(admin.TabularInline):
model = CandidatPiece
extra = 1
max_num = 3
+class ReadOnlyCandidatPieceInline(CandidatPieceInline):
+ readonly_fields = ('candidat', 'nom', 'path', )
+ cand_delete = False
+
+
class CandidatEvaluationInlineFormSet(BaseInlineFormSet):
"""
Empêche la suppression d'une évaluation pour le CandidatEvaluationInline
return qs.select_related('candidats').\
filter(offre_emploi__region=employe.implantation.region)
- if grp_evaluateurs_recrutement in user_groupes:
+ if Evaluateur.objects.filter(user=request.user).exists():
evaluateur = Evaluateur.objects.get(user=request.user)
candidat_ids = [e.candidat.id for e in
CandidatEvaluation.objects.filter(evaluateur=evaluateur)]
- return qs.select_related('candidats').filter(id__in=candidat_ids)
+ return qs.select_related('candidats').filter(id__in=candidat_ids)
return qs.none()
'poste_actuel', 'domaine_professionnel',)
}),
)
- inlines = ()
+ inlines = (CandidatEvaluationInline, )
- ### Lieu de redirection après le change
- def response_change(self, request, obj):
- response = super(ProxyCandidatAdmin, self).response_change(request, obj)
- user_groupes = request.user.groups.all()
- return HttpResponseRedirect(reverse\
- ('admin:recrutement_proxycandidat_changelist'))
-
- ### Permissions add, delete, change
def has_add_permission(self, request):
return False
return False
def has_change_permission(self, request, obj=None):
- user_groupes = request.user.groups.all()
- if request.user.is_superuser is True or \
- grp_drh_recrutement in user_groupes or \
- grp_evaluateurs_recrutement in user_groupes or \
- grp_directeurs_bureau_recrutement in user_groupes or \
- grp_administrateurs_recrutement in user_groupes:
- return True
- return False
+ return True
class CandidatPieceAdmin(admin.ModelAdmin):
list_display = ('nom', 'candidat', )