merge dev
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 10 Aug 2011 16:10:47 +0000 (12:10 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 10 Aug 2011 16:10:47 +0000 (12:10 -0400)
1  2 
buildout.cfg
project/dae/models.py
project/rh/models.py
project/settings.py
project/urls.py

diff --cc buildout.cfg
Simple merge
@@@ -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(
@@@ -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)
@@@ -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
@@@ -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<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: