from datamaster_modeles.models import Employe, Implantation, Region
from django.forms.models import BaseInlineFormSet
+from project.rh import models as rh
from recrutement.models import *
from recrutement.workflow import grp_administrateurs_recrutement,\
grp_evaluateurs_recrutement, grp_drh_recrutement
class OffreEmploiAdmin(VersionAdmin):
date_hierarchy = 'date_creation'
list_display = ('nom', 'resume', 'date_limite', 'region', 'statut',
- 'est_affiche', '_candidatsList')
+ 'est_affiche', '_candidatsList', )
+ exclude = ('poste_nom',)
list_filter = ('statut', 'est_affiche', )
actions = ['affecter_evaluateurs_offre_emploi', ]
form = OffreEmploiForm
_candidatsList.allow_tags = True
_candidatsList.short_description = "Afficher la liste des candidats"
-
def queryset(self, request):
qs = self.model._default_manager.get_query_set()
# Si user est superuser afficher toutes les offres d'emploi
"nom": "%s" % offre.nom,
"resume": "%s" % offre.resume,
"description": "%s" % offre.description,
- # "poste": "%s [%s]" %
+ "poste_nom": "%s" % offre.poste_nom,
"region": "%s" % offre.region.id,
"bureau": "%s" % offre.bureau.id,
"date_limite": "%s" % offre.date_limite,
"nom": "%s" % offre.nom,
"resume": "%s" % offre.resume,
"description": "%s" % offre.description,
+ "poste_nom": "%s" % offre.poste_nom,
"region": "%s" % offre.region.id,
"bureau": "%s" % offre.bureau.id,
"date_limite": "%s" % offre.date_limite,
from django.forms.widgets import CheckboxSelectMultiple
from django.contrib.admin import widgets as admin_widgets
from form_utils.forms import BetterModelForm
-from django.forms import ModelForm
+from django.forms import ModelForm, ModelChoiceField, HiddenInput, CharField
from django.forms.models import BaseInlineFormSet
from django.core.mail import send_mail
from recrutement import models as recr
from auf.django.emploi import forms as emploi
+from project.rh import models as rh
################################################################################
# EVALUATION
pass
class OffreEmploiForm(ModelForm):
+ poste = ModelChoiceField(queryset=rh.Poste.objects.all())
+
class Meta:
model = recr.OffreEmploi
+ def save(self, *args, **kwargs):
+ kwargs2 = kwargs.copy()
+ kwargs2['commit'] = False
+ offre = super(OffreEmploiForm, self).save(*args, **kwargs2)
+ offre.poste = self.cleaned_data.get("poste")
+ offre.poste_nom = self.cleaned_data.get("poste").nom
+ if 'commit' not in kwargs or kwargs['commit']:
+ offre.save()
+ return offre
+
def clean(self):
cleaned_data = self.cleaned_data
date_limite = cleaned_data.get("date_limite")
raise forms.ValidationError("La date limite ne peut pas être \
supérieure à la date d'affection.")
+ """if date_limite < datetime.date.today() or \
+ debut_affectation < datetime.date.today():
+ raise forms.ValidationError("La date limite et/ou la date \
+ d'affection doivent être supérieures à la date d'aujourdhui.")
+ """
return cleaned_data
################################################################################
import settings
import datamaster_modeles.models as ref
-from project.rh.models import Poste
from recrutement.workflow import grp_evaluateurs_recrutement
from auf.django.emploi import models as emploi
from auf.django.emploi.models import TYPE_PIECE_CHOICES
class Meta:
proxy = True
+
class CandidatPiece(emploi.CandidatPiece):
class Meta:
proxy = True
return super(OffreEmploiManager, self).get_query_set().\
select_related(*fkeys).all()
-class ProxyPoste(Poste):
- class Meta:
- proxy = True
-
- def __unicode__(self):
- return '%s [%s]' % (self.nom, self.id)
-
class ProxyOffreEmploi(emploi.OffreEmploi):
class Meta:
proxy = True
offre.nom = offre_dict['nom']
offre.resume = offre_dict['resume']
offre.description = offre_dict['description']
- #offre.poste = offre_dict['poste']
+ offre.poste_nom = offre_dict['poste_nom']
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.nom = offre_dict['nom']
offre.resume = offre_dict['resume']
offre.description = offre_dict['description']
- #obj_offre.poste = offre_dict('poste')
+ offre.poste_nom = offre_dict['poste_nom']
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'])
nom = models.CharField(max_length=255)
resume = models.TextField(verbose_name="Résumé")
description = models.TextField()
- #poste_id = models.IntegerField(verbose_name="Nombre de dépendant")
- #poste_nom = models.CharField(max_length=255, verbose_name="Nom du poste")
- #poste = models.ForeignKey('rh.Poste', db_column='poste')
+ poste = models.CharField(max_length=255)
+ poste_nom = models.CharField(max_length=255)
date_limite = models.DateField(verbose_name="Date limite",
help_text=HELP_TEXT_FORMAT_DATE,)
region = models.ForeignKey(ref.Region, db_column='region',