# Méta
date_creation = models.DateTimeField(auto_now_add=True)
date_modification = models.DateTimeField(auto_now=True)
- date_debut = models.DateField(verbose_name=u"Date de début",
- help_text=HELP_TEXT_DATE)
+ date_debut = models.DateField(verbose_name="Date de début",
+ help_text=HELP_TEXT_DATE,
+ null=True, blank=True)
date_fin = models.DateField(null=True, blank=True,
- verbose_name="Date de fin",
+ verbose_name=u"Date de fin",
help_text=HELP_TEXT_DATE)
actif = models.BooleanField(default=True)
blank=True,)
# Données antérieures de l'employé
+ # la devise??
statut_anterieur = models.ForeignKey(
rh.Statut, related_name='+', null=True, blank=True,
- verbose_name='Statut antérieur')
+ verbose_name=u'Statut antérieur')
classement_anterieur = models.ForeignKey(
rh.Classement, related_name='+', null=True, blank=True,
- verbose_name='Classement précédent')
+ verbose_name=u'Classement précédent')
salaire_anterieur = models.DecimalField(
max_digits=12, decimal_places=2, null=True, default=None,
- blank=True, verbose_name='Salaire précédent')
+ blank=True, verbose_name=u'Salaire précédent')
# Données du titulaire précédent
employe_anterieur = models.ForeignKey(
"""
poste = models.ForeignKey('Poste', related_name='comparaisons_internes')
implantation = models.ForeignKey(ref.Implantation, null=True, blank=True, related_name="+")
- nom = models.CharField(verbose_name="Poste", max_length=255, null=True, blank=True)
+ nom = models.CharField(verbose_name = u"Poste", max_length=255, null=True, blank=True)
montant = models.IntegerField(null=True)
devise = models.ForeignKey("Devise", default=5, related_name='+', null=True, blank=True)
- montant_euros = models.IntegerField(null=True)
+
+ def taux_devise(self):
+ liste_taux = self.devise.tauxchange_set.order_by('-annee').filter(implantation=self.implantation)
+ if len(liste_taux) == 0:
+ raise Exception(u"La devise %s n'a pas de taux pour l'implantation %s" % (self.devise, self.implantation))
+ else:
+ return liste_taux[0].taux
+
+ def montant_euros(self):
+ return round(float(self.montant) * float(self.taux_devise()), 2)
class PosteCommentaire(Commentaire):
nationalite = models.ForeignKey(ref.Pays, to_field='code',
db_column='nationalite',
related_name='employes_nationalite',
- verbose_name="Nationalité")
+ verbose_name = u"Nationalité")
date_naissance = models.DateField(help_text=HELP_TEXT_DATE,
- verbose_name="Date de naissance",
+ verbose_name = u"Date de naissance",
+ validators=[validate_date_passee],
null=True, blank=True)
genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
nationalite = models.ForeignKey(ref.Pays, to_field='code',
db_column='nationalite',
related_name='ayantdroits_nationalite',
- verbose_name="Nationalité")
+ verbose_name = u"Nationalité")
date_naissance = models.DateField(help_text=HELP_TEXT_DATE,
- verbose_name="Date de naissance",
+ verbose_name = u"Date de naissance",
+ validators=[validate_date_passee],
null=True, blank=True)
genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
"""
# Identification
employe = models.ForeignKey('Employe', db_column='employe',
- related_name='+',
- verbose_name = u"Employé")
+ related_name='dossiers',
- verbose_name="Employé")
++ verbose_name=u"Employé")
poste = models.ForeignKey('Poste', db_column='poste', related_name='+')
statut = models.ForeignKey('Statut', related_name='+', default=3,
null=True)
'django.contrib.messages',
'django.contrib.sessions',
'django.contrib.admin',
+ 'django_qbe',
+ 'auf.django.emploi',
'auf.django.admingroup',
'ajax_select',
'south',
urlpatterns = patterns(
'',
+ (r'^$', 'project.views.index'),
- url(r'^qbe/', include('django_qbe.urls')),
+ #url(r'^private_files/', include('private_files.urls')),
+ url(r'^captcha/', include('captcha.urls')),
+ url(r'^admin_tools/', include('admin_tools.urls')),
++
+ # système
+ url(r'^$', 'project.views.accueil', name='accueil'),
+
(r'^admin/', include(admin.site.urls)),
+ url(r'^api/(?P<method>[a-z_-]+)/$', 'recrutement.api.api',
+ name='recrutement_api'),
(r'^connexion/$', 'django.contrib.auth.views.login'),
(r'^deconnexion/$', 'django.contrib.auth.views.logout'),
- (r'^dae/', include('project.dae.urls')),
- (r'^recrutement/', include('project.recrutement.urls')),
- url(r'^recrutement/affecter_evaluateurs_candidats/$',
- 'recrutement.views.affecter_evaluateurs_candidats',
- name='affecter_evaluateurs_candidats'),
- url(r'^recrutement/affecter_evaluateurs_offre_emploi/$',
- 'recrutement.views.affecter_evaluateurs_offre_emploi',
- name='affecter_evaluateurs_offre_emploi'),
- url(r'^recrutement/envoyer_courriel_candidats/$',
- 'recrutement.views.envoyer_courriel_candidats',
- name='envoyer_courriel_candidats'),
- url(r'^recrutement/selectionner_template/$',
- 'recrutement.views.selectionner_template',
- name='selectionner_template'),
- url(r'^recrutement/pieces/$', 'recrutement.views.postuler_appel_offre',
- name='pieces'),
- url(r'^recrutement/postuler_appel_offre/$',
- 'recrutement.views.postuler_appel_offre', name='postuler_appel_offre'),
- (r'^tinymce/', include('tinymce.urls')),
- (r'^', include('project.rh.urls')),
+ #url(r'^private_files/', include('private_files.urls')),
+ url(r'^captcha/', include('captcha.urls')),
+ url(r'^admin_tools/', include('admin_tools.urls')),
+ (r'^tinymce/', include('tinymce.urls')),
(r'^prive/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.PRIVE_MEDIA_ROOT}),
+ url(r'^404$', 'project.views.erreur404', name='404'),
+ url(r'^500$', 'project.views.erreur500', name='500'),
+ url(r'^550$', 'project.views.erreur550', name='550'),
+
+ # apps
+ (r'^dae/', include('project.dae.urls')),
+ (r'^recrutement/', include('recrutement.urls')),
+ (r'^', include('project.rh.urls')),
++ url(r'^qbe/', include('django_qbe.urls')),
)
if settings.DEBUG: