fix conflict
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Wed, 25 May 2011 14:00:25 +0000 (10:00 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Wed, 25 May 2011 14:00:25 +0000 (10:00 -0400)
1  2 
project/rh/admin.py
project/rh/models.py

diff --combined project/rh/admin.py
  # -*- encoding: utf-8 -*-
  
- from models import *
  from django.contrib import admin
 -
+ from rh.models import *
+ from rh.lib import *
  
  
 +class CommentaireAdmin(admin.ModelAdmin):
 +    pass
 +
 +class PosteAdmin(admin.ModelAdmin):
 +    fieldsets = (
 +        (None, {
 +            'fields': ('nom', 'nom_feminin', 'implantation', 'type_poste',
 +                       'service', 'responsable')
 +        }),
 +        ('Contrat', {
 +            'fields': ('regime_travail', 'regime_travail_nb_heure_semaine')
 +        }),
 +        ('Recrutement', {
 +            'fields': ('local', 'expatrie', 'mise_a_disposition', 'appel')
 +        }),
 +        ('Rémunération', {
 +            'fields': ('classement_min', 'classement_max', 'valeur_point_min',
 +                       'valeur_point_max', 'devise_min', 'devise_max',
 +                       'salaire_min', 'salaire_max', 'indemn_min',
 +                       'indemn_max', 'autre_min', 'autre_max')
 +        }),
 +        ('Comparatifs de rémunération', {
 +            'fields': ('devise_comparaison', 'comp_locale_min',
 +                       'comp_locale_max', 'comp_universite_min',
 +                       'comp_universite_max', 'comp_fonctionpub_min',
 +                       'comp_fonctionpub_max', 'comp_ong_min', 'comp_ong_max',
 +                       'comp_autre_min', 'comp_autre_max')
 +        }),
 +        ('Justification', {
 +            'fields': ('justification',)
 +        }),
 +        ('Autres Metadata', {
 +            'fields': ('date_validation', 'date_debut', 'date_fin')
 +        }),
 +    )
 +
 +
 +class PosteFinancementAdmin(admin.ModelAdmin):
 +    pass
 +
 +class PostePieceAdmin(admin.ModelAdmin):
 +    pass
 +
 +class PosteCommentaireAdmin(admin.ModelAdmin):
 +    pass
 +
 +class EmployeAdmin(admin.ModelAdmin):
 +    pass
 +
 +class EmployePieceAdmin(admin.ModelAdmin):
 +    pass
 +
 +class EmployeCommentaireAdmin(admin.ModelAdmin):
 +    pass
 +
 +class AyantDroitAdmin(admin.ModelAdmin):
 +    pass
 +
 +class AyantDroitCommentaireAdmin(admin.ModelAdmin):
 +    pass
 +
 +class DossierAdmin(admin.ModelAdmin):
 +    list_display = ('_employe', '_poste')
 +    
 +    def _poste(self, dossier):
 +        return unicode(dossier.poste.nom)
 +    _poste.short_description = u'Poste'
 +        
 +    def _employe(self, dossier):
 +        return unicode(dossier.employe)
 +    _employe.short_description = u'Employé'
 +    
 +class DossierPieceAdmin(admin.ModelAdmin):
 +    pass
 +
 +class DossierCommentaireAdmin(admin.ModelAdmin):
 +    pass
 +
 +class RemunerationAdmin(admin.ModelAdmin):
 +    pass
 +
 +class ContratAdmin(admin.ModelAdmin):
 +    pass
 +
 +class EvenementAdmin(admin.ModelAdmin):
 +    pass
 +
 +class EvenementRemunerationAdmin(admin.ModelAdmin):
 +    pass
 +
 +class FamilleEmploiAdmin(admin.ModelAdmin):
 +    pass
 +
 +class TypePosteAdmin(admin.ModelAdmin):
 +    pass
 +
 +class TypeRemunerationAdmin(admin.ModelAdmin):
 +    pass
 +
 +class TypeRevalorisationAdmin(admin.ModelAdmin):
 +    pass
 +
 +class ServiceAdmin(admin.ModelAdmin):
 +    pass
 +
 +class OrganismeBstgAdmin(admin.ModelAdmin):
 +    pass
 +
 +class StatutAdmin(admin.ModelAdmin):
 +    pass
 +
 +class ClassementAdmin(admin.ModelAdmin):
 +    pass
 +
 +class TauxChangeAdmin(admin.ModelAdmin):
 +    pass
 +
 +class ValeurPointAdmin(admin.ModelAdmin):
 +    pass
 +
 +class DeviseAdmin(admin.ModelAdmin):
 +    pass
 +
 +class TypeContratAdmin(admin.ModelAdmin):
 +    pass
 +
 +
  admin.site.register(Commentaire, CommentaireAdmin)
  admin.site.register(Poste, PosteAdmin)
  admin.site.register(PosteFinancement, PosteFinancementAdmin)
diff --combined project/rh/models.py
@@@ -204,12 -204,13 +204,13 @@@ POSTE_FINANCEMENT_CHOICES = 
      ('C', 'C - Autre')
  )
  
- class PosteFinancement(models.Model):
+ class PosteFinancement_(models.Model):
      """Pour un Poste, structure d'informations décrivant comment on prévoit
      financer ce Poste.
      """
      poste = models.ForeignKey('Poste', db_column='poste', 
-                             related_name='financements')
+                             related_name='%(app_label)s_financements')
      type = models.CharField(max_length=1, choices=POSTE_FINANCEMENT_CHOICES)
      pourcentage = models.DecimalField(max_digits=12, decimal_places=2,
              help_text=u"ex.: 33.33 % (décimale avec point)")
              help_text=u"Spécifiez la source de financement.")
  
      class Meta:
+         abstract = True
          ordering = ['type']
          
      def __unicode__(self):
          return u'%s : %s %' % (self.type, self.pourcentage)
  
+ class PosteFinancement(PosteFinancement_):
+     __doc__ = PosteFinancement_.__doc__
  class PostePiece(models.Model):
      """Documents relatifs au Poste.
      Ex.: Description de poste
@@@ -296,7 -303,7 +303,7 @@@ class Employe(Metadata)
                              null=True, blank=True)
  
      class Meta:
 -        ordering = ['nom_affichage','nom']
 +        ordering = ['nom_affichage','nom','prenom']
          
      def __unicode__(self):
          # TODO : gérer nom d'affichage
@@@ -382,6 -389,7 +389,7 @@@ COMPTE_COMPTA_CHOICES = 
      ('aucun', 'Aucun'),
  )
  
  class Dossier_(Metadata):
      """Le Dossier regroupe les informations relatives à l'occupation
      d'un Poste par un Employe. Un seul Dossier existe par Poste occupé
      
      class Meta:
          abstract = True
 -        ordering = ['poste__nom', 'employe__nom_affichage']
 +        ordering = ['employe__nom_affichage', 'employe__nom', 'poste__nom']
          
      def __unicode__(self):
 -        return u'%s - %s' % (self.poste.nom, self.employe)
 +        return u'%s - %s' % (self.employe, self.poste.nom)
  
  
  class Dossier(Dossier_):
@@@ -476,7 -484,8 +484,8 @@@ class DossierCommentaire(Commentaire)
      
  class RemunerationMixin(Metadata):
      # Identification
-     dossier = models.ForeignKey('Dossier', db_column='dossier')
+     dossier = models.ForeignKey('Dossier', db_column='dossier',
+                         related_name='%(app_label)s_%(class)s_remunerations')
      type = models.ForeignKey('TypeRemuneration', db_column='type', 
                              related_name='+')
      type_revalorisation = models.ForeignKey('TypeRevalorisation', 
      def __unicode__(self):
          return u'%s %s (%s)' % (self.montant, self.devise.code, self.type.nom)
      
- class Remuneration(RemunerationMixin):
+ class Remuneration_(RemunerationMixin):
      """Structure de rémunération (données budgétaires) en situation normale
      pour un Dossier. Si un Evenement existe, utiliser la structure de 
      rémunération EvenementRemuneration de cet événement.    
              devise = "???"
          return "%s %s" % (self.montant, devise)
  
+     class Meta:
+         abstract = True
+ class Remuneration(Remuneration_):
+     __doc__ = Remuneration_.__doc__
  
  ### CONTRATS
          
@@@ -556,7 -572,7 +572,7 @@@ class Contrat(Metadata)
  
  ### ÉVÉNEMENTS
  
- class Evenement(Metadata):
+ class Evenement_(Metadata):
      """Un Evenement sert à déclarer une situation temporaire (exceptionnelle) 
      d'un Dossier qui vient altérer des informations normales liées à un Dossier 
      (ex.: la Remuneration).
      date_debut = models.DateField(help_text=HELP_TEXT_DATE)
      date_fin = models.DateField(help_text=HELP_TEXT_DATE, 
                              null=True, blank=True)
      class Meta:
+         abstract = True
          ordering = ['nom']
                              
      def __unicode__(self):
          return u'%s' % (self.nom)
+ class Evenement(Evenement_):
+     __doc__ = Evenement_.__doc__
      
- class EvenementRemuneration(RemunerationMixin):
+ class EvenementRemuneration_(RemunerationMixin):
      """Structure de rémunération liée à un Evenement qui remplace 
      temporairement la Remuneration normale d'un Dossier, pour toute la durée
      de l'Evenement.
      evenement = models.ForeignKey("Evenement", db_column='evenement',
                              related_name='+')
  
+     class Meta:
+         abstract = True
+ class EvenementRemuneration(EvenementRemuneration_):
+     __doc__ = EvenementRemuneration_.__doc__
  
  ### RÉFÉRENCES RH 
  
@@@ -713,7 -743,8 +743,8 @@@ TYPE_CLASSEMENT_CHOICES = 
      ('HG', 'HG - Hors grille [direction]'),
  )
  
- class Classement(Metadata):
+ class Classement_(Metadata):
      """Éléments de classement de la 
      "Grille générique de classement hiérarchique".
      
      commentaire = models.TextField(null=True, blank=True)
      
      class Meta:
+         abstract = True
          ordering = ['type','echelon','degre','coefficient']
  
      def __unicode__(self):
          return u'%s.%s.%s (%s)' % (self.type, self.echelon, self.degre,
                                     self.coefficient)
  
- class TauxChange(Metadata):
+ class Classement(Classement_):
+     __doc__ = Classement_.__doc__
+ class TauxChange_(Metadata):
      """Taux de change de la devise vers l'euro (EUR) 
      pour chaque année budgétaire.
      """
                              related_name='+')
      annee = models.IntegerField()
      taux = models.FloatField()
-     
      class Meta:
+         abstract = True
          ordering = ['annee', 'devise__code']
      
      def __unicode__(self):
          return u'%s : %s €' % (self.devise.code, self.taux)
  
- class ValeurPoint(Metadata):
+ class TauxChange(TauxChange_):
+     __doc__ = TauxChange_.__doc__
+ class ValeurPoint_(Metadata):
      """Utile pour connaître, pour un Dossier, le salaire de base théorique lié 
      au classement dans la grille. La ValeurPoint s'obtient par l'implantation 
      du POste de ce Dossier : dossier.poste.implantation (pseudo code).
      devise = models.ForeignKey('Devise', db_column='devise', 
                              related_name='+', default=5)
      implantation = models.ForeignKey(ref.Implantation, 
-                             db_column='implantation', 
-                             related_name='valeur_point')
+                             db_column='implantation',
+                             related_name='%(app_label)s_valeur_point')
      # Méta
      annee = models.IntegerField()
  
                              .filter(annee=annee_courante)
  
      class Meta:
-         ordering = ['annee', 'implantation__nom']
+         abstract = True
+         ordering = ['valeur']
  
      def get_tauxchange_courant(self):
          """
              devise_code = "??"
          return u'%s %s (%s-%s)' % (self.valeur, devise_code, 
                              self.implantation_id, self.annee)
-         
-     class Meta:
-         ordering = ['valeur']
+ class ValeurPoint(ValeurPoint_):
+     __doc__ = ValeurPoint_.__doc__
  
  class Devise(Metadata):
      """Devise monétaire.