merge qbe in rh : conflits réglés
authorDavin Baragiotta <davin.baragiotta@auf.org>
Thu, 10 Nov 2011 16:57:10 +0000 (11:57 -0500)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Thu, 10 Nov 2011 16:57:10 +0000 (11:57 -0500)
1  2 
buildout.cfg
project/dae/models.py
project/recrutement/models.py
project/rh/models.py
project/settings.py
project/urls.py
src/auf.django.emploi/auf/django/emploi/models.py

diff --cc buildout.cfg
@@@ -10,9 -10,10 +10,11 @@@ find-links = http://pypi.auf.org/simple
      http://pypi.auf.org/simple/auf.django.workflow/
      http://pypi.auf.org/simple/auf.django.admingroup/
      http://pypi.auf.org/simple/auf.django.metadata/
 +    http://pypi.auf.org/simple/auf.django.emploi/
      http://pypi.auf.org/django-alphafilter/
  
+ develop = src/*
  eggs =
      django
      south
      django-form-utils
      django-tinymce
      django-simple-captcha
 +    auf.django.metadata
 +    django-alphafilter
 +    django-sendfile
+     django-qbe
  
  # LA PROD ne dispose que de reportlab 2.1, incompatible avec
  # les versions de pisa assez évoluées pour un bon rendu.
@@@ -58,21 -63,21 +58,21 @@@ class Poste(PosteWorkflow, models.Model
  
      # Contrat
      regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
 -                            default=REGIME_TRAVAIL_DEFAULT, 
 -                            verbose_name=u"Temps de travail", 
 +                            default=REGIME_TRAVAIL_DEFAULT,
-                             verbose_name="Temps de travail",
++                            verbose_name=u"Temps de travail",
                              help_text="% du temps complet")
      regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
                              decimal_places=2,
                              default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
-                             verbose_name="Nb. heures par semaine")
+                             verbose_name=u"Nb. heures par semaine")
  
      # Recrutement
-     local = models.BooleanField(verbose_name="Local", default=True, blank=True)
-     expatrie = models.BooleanField(verbose_name="Expatrié", default=False,
+     local = models.BooleanField(verbose_name=u"Local", default=True, blank=True)
 -    expatrie = models.BooleanField(verbose_name=u"Expatrié", default=False, 
++    expatrie = models.BooleanField(verbose_name=u"Expatrié", default=False,
                              blank=True)
-     mise_a_disposition = models.BooleanField(verbose_name="Mise à disposition")
+     mise_a_disposition = models.BooleanField(verbose_name=u"Mise à disposition")
      appel = models.CharField(max_length=10, default='interne',
-                             verbose_name="Appel à candidature",
+                             verbose_name=u"Appel à candidature",
                              choices=POSTE_APPEL_CHOICES)
  
      # Rémunération
@@@ -388,8 -372,10 +388,10 @@@ class PostePiece(models.Model)
      Ex.: Description de poste
      """
      poste = models.ForeignKey("Poste")
-     nom = models.CharField(verbose_name="Nom", max_length=255)
-     fichier = models.FileField(verbose_name="Fichier", upload_to='dae/poste', storage=UPLOAD_STORAGE)
+     nom = models.CharField(verbose_name=u"Nom", max_length=255)
+     fichier = models.FileField(verbose_name=u"Fichier", 
 -                            upload_to=poste_piece_dispatch, 
 -                            storage=storage_prive)
++                    upload_to='dae/poste', 
++                    storage=UPLOAD_STORAGE)
  
  class PosteComparaison(models.Model):
      poste = models.ForeignKey('Poste', related_name='comparaisons_internes')
@@@ -427,10 -409,10 +429,10 @@@ GENRE_CHOICES = 
  class Employe(models.Model):
  
      # Modèle existant
 -    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+', 
 +    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+',
-                             verbose_name='Employé')
+                             verbose_name=u'Employé')
      nom = models.CharField(max_length=255)
-     prenom = models.CharField(max_length=255, verbose_name='Prénom')
+     prenom = models.CharField(max_length=255, verbose_name=u'Prénom')
      genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
  
      def __unicode__(self):
@@@ -456,9 -438,9 +458,9 @@@ class Dossier(DossierWorkflow, models.M
      employe = models.ForeignKey('Employe', related_name='+', editable=False)
      poste = models.ForeignKey('Poste', related_name='dossiers', editable=False)
      statut = models.ForeignKey(rh.Statut, related_name='+')
 -    organisme_bstg = models.ForeignKey(rh.OrganismeBstg, 
 +    organisme_bstg = models.ForeignKey(rh.OrganismeBstg,
              null=True, blank=True,
-             verbose_name="Organisme",
 -            verbose_name=u"Organisme", 
++            verbose_name=u"Organisme",
              help_text="Si détaché (DET) ou mis à disposition (MAD), \
                      préciser l'organisme.",
              related_name='+')
          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=u'Salaire précédent')
 +            blank=True, verbose_name='Salaire précédent')
-     devise_anterieur = models.ForeignKey(rh.Devise, related_name='+', null=True, blank=True)
-     type_contrat_anterieur = models.ForeignKey(rh.TypeContrat, related_name='+', null=True, blank=True, verbose_name=u'Type contrat antérieur', )
++    devise_anterieur = models.ForeignKey(rh.Devise, related_name='+', 
++            null=True, blank=True)
++    type_contrat_anterieur = models.ForeignKey(rh.TypeContrat, 
++            related_name='+', null=True, blank=True, 
++            verbose_name=u'Type contrat antérieur', )
  
      # Données du titulaire précédent
      employe_anterieur = models.ForeignKey(
              rh.Employe, related_name='+', null=True, blank=True,
-             verbose_name='Employé précédent')
+             verbose_name=u'Employé précédent')
      statut_titulaire_anterieur = models.ForeignKey(
              rh.Statut, related_name='+', null=True, blank=True,
-             verbose_name='Statut titulaire précédent')
+             verbose_name=u'Statut titulaire précédent')
      classement_titulaire_anterieur = models.ForeignKey(
              rh.Classement, related_name='+', null=True, blank=True,
-             verbose_name='Classement titulaire précédent')
+             verbose_name=u'Classement titulaire précédent')
      salaire_titulaire_anterieur = models.DecimalField(
              max_digits=12, decimal_places=2, default=None, null=True,
 -            blank=True, verbose_name=u'Salaire titulaire précédent')
 +            blank=True, verbose_name='Salaire titulaire précédent')
 +    devise_titulaire_anterieur = models.ForeignKey(rh.Devise, related_name='+', null=True, blank=True)
  
      # Recrutement
      remplacement = models.BooleanField()
      # Rémunération
      classement = models.ForeignKey(rh.Classement, related_name='+',
                              null=True, blank=True,
-                             verbose_name='Classement proposé')
+                             verbose_name=u'Classement proposé')
      salaire = models.DecimalField(max_digits=12, decimal_places=2,
-                             verbose_name='Salaire de base',
+                             verbose_name=u'Salaire de base',
                              null=True, default=None)
      devise = models.ForeignKey(rh.Devise, default=5, related_name='+')
 -    regime_travail = models.DecimalField(max_digits=12, 
 +    regime_travail = models.DecimalField(max_digits=12,
                              decimal_places=2,
                              default=REGIME_TRAVAIL_DEFAULT,
-                             verbose_name="Régime de travail",
+                             verbose_name=u"Régime de travail",
                              help_text="% du temps complet")
      regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
 -                            decimal_places=2, 
 +                            decimal_places=2,
                              default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
-                             verbose_name="Nb. heures par semaine")
+                             verbose_name=u"Nb. heures par semaine")
  
      # Contrat
      type_contrat = models.ForeignKey(rh.TypeContrat, related_name='+')
@@@ -697,8 -646,10 +702,10 @@@ class DossierPiece(models.Model)
      Ex.: Lettre de motivation.
      """
      dossier = models.ForeignKey("Dossier")
 -    nom = models.CharField(verbose_name=u"Nom", max_length=255)
 -    fichier = models.FileField(verbose_name=u"Fichier", 
 -                            upload_to=dossier_piece_dispatch, 
 -                            storage=storage_prive)
 +    nom = models.CharField(verbose_name="Nom", max_length=255)
-     fichier = models.FileField(verbose_name="Fichier", upload_to='dae/dossier', storage=UPLOAD_STORAGE)
++    fichier = models.FileField(verbose_name="Fichier", 
++            upload_to='dae/dossier', 
++            storage=UPLOAD_STORAGE)
  
  
  class DossierComparaison(models.Model):
      Photo d'une comparaison salariale au moment de l'embauche.
      """
      dossier = models.ForeignKey('Dossier', related_name='comparaisons')
-     statut = models.ForeignKey(rh.Statut, related_name='+', verbose_name='Statut', null=True, blank=True, )
-     classement = models.ForeignKey(rh.Classement, related_name='+', verbose_name='Classement', null=True, blank=True, )
-     implantation = models.ForeignKey(ref.Implantation, related_name='+', null=True, blank=True)
 -    statut = models.ForeignKey(rh.Statut, related_name='+', verbose_name=u'Statut', null=True, blank=True, )
 -    classement = models.ForeignKey(rh.Classement, related_name='+', verbose_name=u'Classement', null=True, blank=True, )
 -    implantation = models.ForeignKey(ref.Implantation, null=True, blank=True)
++    statut = models.ForeignKey(rh.Statut, related_name='+', 
++            verbose_name='Statut', null=True, blank=True, )
++    classement = models.ForeignKey(rh.Classement, related_name='+', 
++            verbose_name='Classement', null=True, blank=True, )
++    implantation = models.ForeignKey(ref.Implantation, related_name='+', 
++            null=True, blank=True)
      poste = models.CharField(max_length=255, null=True, blank=True)
      personne = models.CharField(max_length=255, null=True, blank=True)
      montant = models.IntegerField(null=True)
@@@ -126,12 -124,9 +126,12 @@@ class CandidatEvaluation(models.Model)
                          help_text=HELP_TEXT_FORMAT_DATE, )  
  
      class Meta:
-         verbose_name = 'évaluation du candidat'
-         verbose_name_plural = 'évaluations des candidats'
+         verbose_name = u'évaluation du candidat'
+         verbose_name_plural = u'évaluations des candidats'
  
 +    def __unicode__(self):
 +        return u"Évaluation de %s" % self.candidat
 +
  #### TEMPLATE COURRIEL
  TEMPLATE_CHOICES = (
      ('SEL', 'Sélectionné'),
  )
  
  class CourrielTemplate(models.Model):
-     nom_modele = models.CharField(max_length=100, verbose_name='Nom du modèle',)
-     sujet = models.CharField(max_length=100, verbose_name='Sujet du courriel')
-     plain_text = models.TextField(verbose_name='Texte', 
+     nom_modele = models.CharField(max_length=100, verbose_name=u'Nom du modèle',)
+     sujet = models.CharField(max_length=100, verbose_name=u'Sujet du courriel')
+     plain_text = models.TextField(verbose_name=u'Texte', 
                                      help_text=HELP_TEXT_TAGS_ACCEPTES,  )
-     html = tinymce_models.HTMLField(verbose_name='Texte en HTML', 
+     html = tinymce_models.HTMLField(verbose_name=u'Texte en HTML', 
                                      help_text=HELP_TEXT_TAGS_ACCEPTES,  )
  
 +
      def __unicode__(self):
          return u'%s' % self.nom_modele
  
      class Meta:
          ordering = ['nom_modele',]
 +        verbose_name = "Modèle de courriel"
 +        verbose_name_plural = "Modèles de courriel"
  
  class CandidatCourriel(models.Model):
-     candidats = models.ManyToManyField(Candidat, verbose_name="Candidats", )
+     candidats = models.ManyToManyField(Candidat, verbose_name=u"Candidats", )
      template = models.ForeignKey(CourrielTemplate, db_column='template', 
-                 related_name='+', verbose_name="Modèle de courriel", )
+                 related_name='+', verbose_name=u"Modèle de courriel", )
      sujet = models.CharField(max_length=255, blank=True, 
                                  help_text=HELP_TEXT_TAGS_ACCEPTES, )
-     plain_text = models.TextField(verbose_name='Texte', blank=True,
+     plain_text = models.TextField(verbose_name=u'Texte', blank=True,
                                      help_text=HELP_TEXT_TAGS_ACCEPTES,  )
-     html = tinymce_models.HTMLField(verbose_name='Texte en HTML', null=True, 
+     html = tinymce_models.HTMLField(verbose_name=u'Texte en HTML', null=True, 
                                  blank=True, help_text=HELP_TEXT_TAGS_ACCEPTES, )
  
      def __unicode__(self):
          return '%s' % (self.titre)
  
      class Meta:
-         verbose_name = "modèle de courriel"
-         verbose_name_plural = "modèles de courriel"
+         verbose_name = u"modèle de courriel"
+         verbose_name_plural = u"modèles de courriel"
 -    
@@@ -554,19 -500,9 +554,19 @@@ class Dossier_(AUFMetadata)
      class Meta:
          abstract = True
          ordering = ['employe__nom', ]
-         verbose_name = "Dossier"
+         verbose_name = u"Dossier"
          verbose_name_plural = "Dossiers"
          
 +    def salaire_theorique(self):
 +        annee = date.today().year
 +        coeff = self.classement.coefficient
 +        implantation = self.poste.implantation
 +        point = ValeurPoint.objects.get(implantation=implantation, annee=annee)
 +        
 +        montant = coeff * point.valeur
 +        devise = point.devise
 +        return {'montant':montant, 'devise':devise}
 +        
      def __unicode__(self):
          poste = self.poste.nom
          if self.employe.genre == 'F':
@@@ -709,14 -645,14 +709,14 @@@ class Contrat(AUFMetadata)
      objects = ContratManager()
  
      dossier = models.ForeignKey('Dossier', db_column='dossier', 
 -                            related_name='+')
 +                            related_name='contrats')
      type_contrat = models.ForeignKey('TypeContrat', db_column='type_contrat', 
                              related_name='+',
-                             verbose_name="Type de contrat")
+                             verbose_name = u"Type de contrat")
      date_debut = models.DateField(help_text=HELP_TEXT_DATE,
-                             verbose_name="Date de début")
+                             verbose_name = u"Date de début")
      date_fin = models.DateField(help_text=HELP_TEXT_DATE,
-                             verbose_name="Date de fin",
+                             verbose_name = u"Date de fin",
                              null=True, blank=True)
  
      class Meta:
Simple merge
diff --cc project/urls.py
Simple merge
@@@ -70,25 -69,24 +70,25 @@@ class Metadata(models.Model)
  
  class OffreEmploi(Metadata):
      est_affiche = models.BooleanField(default=False, 
-                         verbose_name="À afficher sur le site institutionnel",
 -                                    verbose_name=u"En affichage sur le site")
++                        verbose_name=u"À afficher sur le site institutionnel",
 +                        help_text=HELP_TEXT_EN_AFFICHAGE)
      statut = models.CharField(max_length=4, choices=STATUT_OFFRE_EMPLOI_CHOICES,
                                  default='NOUV')
-     date_limite = models.DateField(verbose_name="Date limite",
++    date_limite = models.DateField(verbose_name=u"Date limite",
 +                        help_text=HELP_TEXT_FORMAT_DATE,)  
      nom = models.CharField(max_length=255)
-     resume = models.TextField(verbose_name="Résumé", blank=True)
 -    resume = models.TextField(verbose_name=u"Résumé")
++    resume = models.TextField(verbose_name=u"Résumé", blank=True)
      description = models.TextField()
      poste = models.CharField(max_length=255)
      poste_nom = models.CharField(max_length=255)
 -    date_limite = models.DateField(verbose_name=u"Date limite",
 -                        help_text=HELP_TEXT_FORMAT_DATE,)  
      region = models.ForeignKey(ref.Region, db_column='region', 
-                 verbose_name="Région")
+                 verbose_name=u"Région")
      bureau = models.ForeignKey(ref.Bureau, db_column='bureau', )
      duree_affectation = models.CharField(max_length=255, 
-                         verbose_name="Durée de l'affectation")
+                         verbose_name=u"Durée de l'affectation")
      renumeration = models.CharField(max_length=255,
-                     verbose_name='Rénumération')
-     debut_affectation = models.DateField(verbose_name="Début de l'affectation",
+                     verbose_name=u'Rénumération')
+     debut_affectation = models.DateField(verbose_name=u"Début de l'affectation",
                          help_text=HELP_TEXT_FORMAT_DATE,)
      lieu_affectation = models.ForeignKey(ref.Implantation,  
                          db_column='implantation', 
@@@ -129,7 -127,7 +129,7 @@@ class Candidat(Metadata)
      adresse = models.CharField(max_length=255)
      ville = models.CharField(max_length=255)
      etat_province = models.CharField(max_length=255, 
-                     verbose_name="État/Province", blank=True)
 -                    verbose_name=u"État/Province")
++                    verbose_name=u"État/Province", blank=True)
      code_postal = models.CharField(max_length=255, blank=True)
      pays = models.ForeignKey(ref.Pays, db_column='pays',
              related_name='+')