From: Olivier Larchevêque Date: Wed, 10 Aug 2011 16:10:47 +0000 (-0400) Subject: merge dev X-Git-Tag: DAE+RH~253^2~1 X-Git-Url: http://git.auf.org/?p=auf_rh_dae.git;a=commitdiff_plain;h=bf4f5c77f5077d7f64c5b4622c06b9aadd90a4a8 merge dev --- bf4f5c77f5077d7f64c5b4622c06b9aadd90a4a8 diff --cc project/dae/models.py index e2a912e,21e76d7..aeba9f7 --- a/project/dae/models.py +++ b/project/dae/models.py @@@ -133,10 -133,11 +133,11 @@@ class Poste(PosteWorkflow, models.Model # 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) @@@ -439,15 -451,16 +451,16 @@@ class Dossier(DossierWorkflow, models.M 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( diff --cc project/rh/models.py index f5497b8,c05e28d..b9f954d --- a/project/rh/models.py +++ b/project/rh/models.py @@@ -249,10 -250,19 +250,19 @@@ class PosteComparaison(models.Model) """ 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): @@@ -287,9 -297,10 +297,10 @@@ class Employe(AUFMetadata) 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) @@@ -373,9 -392,10 +392,10 @@@ class AyantDroit(AUFMetadata) 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) @@@ -431,8 -451,8 +451,8 @@@ class Dossier_(AUFMetadata) """ # 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) diff --cc project/settings.py index 7fef0eb,7805bcd..1bd85f2 --- a/project/settings.py +++ b/project/settings.py @@@ -61,7 -61,7 +61,8 @@@ INSTALLED_APPS = 'django.contrib.messages', 'django.contrib.sessions', 'django.contrib.admin', + 'django_qbe', + 'auf.django.emploi', 'auf.django.admingroup', 'ajax_select', 'south', diff --cc project/urls.py index 21487aa,c0438ad..cf14e27 --- a/project/urls.py +++ b/project/urls.py @@@ -9,36 -10,28 +10,34 @@@ handler500 # Pyflake 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[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.*)$', '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: