qs = self.model._default_manager.get_query_set()
# Si user est superuser afficher toutes les offres d'emploi
user_groupes = request.user.groups.all()
- if not grp_drh_recrutement in user_groupes:
+ if not grp_drh_recrutement in user_groupes and \
+ not request.user.is_superuser:
"""
Si le user n'est ni un évaluateur ni un administrateur régional,
retourner none
def has_change_permission(self, request, obj=None):
user_groupes = request.user.groups.all()
if grp_drh_recrutement in user_groupes or \
- grp_administrateurs_recrutement in user_groupes:
+ grp_administrateurs_recrutement in user_groupes or \
+ request.user.is_superuser:
return True
return False
def has_change_permission(self, request, obj=None):
user_groupes = request.user.groups.all()
if grp_evaluateurs_recrutement in user_groupes or \
- grp_drh_recrutement in user_groupes:
+ grp_drh_recrutement in user_groupes or \
+ request.user.is_superuser:
return True
return False
def add_delete_permission(self, request, obj=None) :
user_groupes = request.user.groups.all()
if grp_drh_recrutement in user_groupes or \
- grp_administrateurs_recrutement in user_groupes:
+ grp_administrateurs_recrutement in user_groupes or \
+ request.user.is_superuser:
return True
return False
def has_change_permission(self, request, obj=None):
user_groupes = request.user.groups.all()
if grp_drh_recrutement in user_groupes or \
- grp_administrateurs_recrutement in user_groupes:
+ grp_administrateurs_recrutement in user_groupes or \
+ request.user.is_superuser:
return True
return False
- def queryset(self, obj):
+ def queryset(self, request):
"""
Spécifie un queryset limité, autrement Django exécute un
select_related() sans paramètre, ce qui a pour effet de charger tous
"""
qs = self.model._default_manager.get_query_set()
# Si user est superuser afficher tous les candidats
- user_groupes = obj.user.groups.all()
- if not grp_drh_recrutement in user_groupes:
+ user_groupes = request.user.groups.all()
+ if not grp_drh_recrutement in user_groupes and \
+ not request.user.is_superuser:
# Si le user n'est ni un évaluateur ni un administrateur régional,
# retourner none
user_groupes = request.user.groups.all()
if grp_drh_recrutement in user_groupes or \
grp_administrateurs_recrutement in user_groupes or \
- grp_evaluateurs_recrutement in user_groupes:
+ grp_evaluateurs_recrutement in user_groupes or \
+ request.user.is_superuser:
return True
return False
"""
qs = self.model._default_manager.get_query_set()
user_groupes = request.user.groups.all()
- if grp_drh_recrutement in user_groupes:
+ if grp_drh_recrutement in user_groupes or \
+ request.user.is_superuser:
return qs.select_related('offre_emploi')
try:
# -*- encoding: utf-8 -*
from django.http import HttpResponse
-from django.template import Context, RequestContext, Template
+from django.template import RequestContext, Template
from django.shortcuts import render_to_response, redirect, get_object_or_404
from django.utils import simplejson
from django.contrib import messages
# return api_return(STATUS_ERROR_BADMETHOD)
api = API(request)
-
if hasattr(api, 'api_%s' % method):
return getattr(api, 'api_%s' % method)()
return api_return(STATUS_ERROR)
def api_return(status, text='', json=False):
- content_type = 'text/plain'
+ content_type = 'text/html'
if status == STATUS_OK and json:
content_type = 'text/json'
if text is None:
if self.request.method == "POST":
form = emploiForms.PostulerOffreEmploiForm(self.request.POST,
instance=cand, offre_emploi=offre_emploi)
- piecesForm = emploiForms.CandidatPieceForm(self.request.POST, self.request.FILES,
- instance=cand)
- if form.is_valid() and piecesForm.is_valid():
+ #piecesForm = emploiForms.CandidatPieceForm(self.request.POST, self.request.FILES,
+ # instance=cand)
+ if form.is_valid(): # and piecesForm.is_valid():
offre = form.save()
- piecesForm.instance = offre
- piecesForm.save()
+ #piecesForm.instance = offre
+ #piecesForm.save()
"""courriel_template = CourrielTemplate.objects.\
get(nom_modele='Confirmation postulation (automatique)')
send_templated_email(candidat, courriel_template)
"""
- messages.add_message(self.request, messages.SUCCESS,
- "Votre application à l'appel d'offre d'emploi a \
- été effectuée.")
return api_return(STATUS_OK)
else:
messages.add_message(self.request, messages.ERROR,
else:
form = emploiForms.PostulerOffreEmploiForm(instance=cand,
offre_emploi=offre_emploi)
- piecesForm = emploiForms.CandidatPieceForm(instance=cand)
+ #piecesForm = emploiForms.CandidatPieceForm(instance=cand)
- vars.update(dict(form=form, candidat=cand, piecesForm=piecesForm, ))
+ vars.update(dict(form=form, candidat=cand, ))#piecesForm=piecesForm, ))
return render_to_response('recrutement/postuler_appel_offre.html', vars,
RequestContext(self.request))
"nom": "%s" % offre.nom,
"resume": "%s" % offre.resume,
"description": "%s" % offre.description,
+ "region": "%s" % offre.region.id,
+ "bureau": "%s" % offre.bureau.id,
"date_limite": "%s" % offre.date_limite,
"duree_affectation": "%s" % offre.duree_affectation,
"renumeration": "%s" % offre.renumeration,
"debut_affectation": "%s" % offre.debut_affectation,
- "lieu_affectation": "%s" % offre.lieu_affectation}
+ "lieu_affectation": "%s" % offre.lieu_affectation.id}
for offre in emploi.OffreEmploi.objects.all()]), json=True)
def api_offre_emploi(self):
"nom": "%s" % offre.nom,
"resume": "%s" % offre.resume,
"description": "%s" % offre.description,
+ "region": "%s" % offre.region.id,
+ "bureau": "%s" % offre.bureau.id,
"date_limite": "%s" % offre.date_limite,
"duree_affectation": "%s" % offre.duree_affectation,
"renumeration": "%s" % offre.renumeration,
"debut_affectation": "%s" % offre.debut_affectation,
- "lieu_affectation": "%s" % offre.lieu_affectation}), json=True)
+ "lieu_affectation": "%s" % offre.lieu_affectation.id} ), json=True)
# -*- encoding: utf-8 -*
from django.shortcuts import render_to_response, redirect, get_object_or_404
+from django.template import Context, RequestContext
from django.utils import simplejson
from auf.django.emploi import models as emploi
from auf.django.emploi import forms as emploiForms
from restkit import request as req
+import datamaster_modeles.models as ref
class API:
def __init__(self, request):
offre.resume = offre_dict['resume']
offre.description = offre_dict['description']
#offre.poste = offre_dict['poste']
- offre.date_limite = offre_dict['date_limite']
- #offre.region = offre_dict['region']
- #offre.bureau = offre_dict['bureau']
+ offre.date_limite = offre_dict['date_limite']
+ offre.region = ref.Region.objects.get(id=offre_dict['region'])
+ offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
offre.duree_affectation = offre_dict['duree_affectation']
offre.renumeration = offre_dict['renumeration']
offre.debut_affectation = offre_dict['debut_affectation']
- #offre.lieu_affectation = offre_dict['lieu_affectation']
+ offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
obj_offres_emploi.append(offre)
return obj_offres_emploi
def offre_emploi(self, offre_id):
- url = "/call/offre_emploi/%s"
+ url = "http://127.0.0.1:8080/api/offre_emploi/?id=%s"
r = req(url % (offre_id))
offre_json = r.body_string()
offre_dict = simplejson.loads(offre_json)
+ obj_offres_emploi = []
- obj_offre = emploi.OffreEmploi()
- obj_offre.est_affiche = offre_dict('est_affiche')
- obj_offre.statut = offre_dict('statut')
- obj_offre.nom = offre_dict('nom')
- obj_offre.resume = offre_dict('resume')
- obj_offre.description = offre_dict('description')
+ offre = emploi.OffreEmploi()
+ #obj_offre.est_affiche = offre_dict('est_affiche')
+ #obj_offre.statut = offre_dict('statut')
+ offre.nom = offre_dict['nom']
+ offre.resume = offre_dict['resume']
+ offre.description = offre_dict['description']
#obj_offre.poste = offre_dict('poste')
- obj_offre.date_limite = offre_dict('date_limite')
- obj_offre.region = offre_dict('region')
- obj_offre.bureau = offre_dict('bureau')
- obj_offre.duree_affectation = offre_dict('duree_affectation')
- obj_offre.renumeration = offre_dict('renumeration')
- obj_offre.debut_affectation = offre_dict('debut_affectation')
- obj_offre.lieu_affectation = offre_dict('lieu_affectation')
- return obj_offre
+ offre.date_limite = offre_dict['date_limite']
+ offre.region = ref.Region.objects.get(id=offre_dict['region'])
+ offre.bureau = ref.Bureau.objects.get(id=offre_dict['bureau'])
+ offre.duree_affectation = offre_dict['duree_affectation']
+ offre.renumeration = offre_dict['renumeration']
+ offre.debut_affectation = offre_dict['debut_affectation']
+ offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation'])
+ obj_offres_emploi.append(offre)
+ return obj_offres_emploi
+
+ def candidat_add(self, offre_id):
+ url = "http://127.0.0.1:8080/api/candidat_add/?id=%s" % (offre_id)
+ return redirect(url)
+