verbose_name=u"Employé")
-class DossierPiece(models.Model):
+class DossierPiece_(models.Model):
"""Documents relatifs au Dossier (à l'occupation de ce poste par employé).
Ex.: Lettre de motivation.
"""
- dossier = models.ForeignKey('Dossier', db_column='dossier',
- related_name='+')
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)
class Meta:
+ abstract = True
ordering = ['nom']
def __unicode__(self):
return u'%s' % (self.nom)
-class DossierCommentaire(Commentaire):
- dossier = models.ForeignKey('Dossier', db_column='dossier',
- related_name='+')
+class DossierPiece(DossierPiece_):
+ dossier = models.ForeignKey('Dossier', db_column='dossier', related_name='+')
+
+
+class DossierCommentaire_(Commentaire):
+ class Meta:
+ abstract = True
+
+class DossierCommentaire(DossierCommentaire_):
+ dossier = models.ForeignKey('Dossier', db_column='dossier', related_name='+')
-class DossierComparaison(models.Model):
+
+class DossierComparaison_(models.Model):
"""
Photo d'une comparaison salariale au moment de l'embauche.
"""
objects = DossierComparaisonManager()
- dossier = models.ForeignKey('Dossier', related_name='comparaisons')
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)
devise = models.ForeignKey('Devise', default=5, related_name='+', null=True, blank=True)
+ class Meta:
+ abstract = True
+
def taux_devise(self):
liste_taux = self.devise.tauxchange_set.order_by('-annee').filter(implantation=self.dossier.poste.implantation)
if len(liste_taux) == 0:
def montant_euros(self):
return round(float(self.montant) * float(self.taux_devise()), 2)
+class DossierComparaison(DossierComparaison_):
+ dossier = models.ForeignKey('Dossier', related_name='comparaisons')
### RÉMUNÉRATION
return super(ContratManager, self).get_query_set().select_related('dossier', 'dossier__poste')
-class Contrat(AUFMetadata):
+class Contrat_(AUFMetadata):
"""Document juridique qui encadre la relation de travail d'un Employe
pour un Poste particulier. Pour un Dossier (qui documente cette
relation de travail) plusieurs contrats peuvent être associés.
objects = ContratManager()
- dossier = models.ForeignKey('Dossier', db_column='dossier',
- related_name='contrats')
type_contrat = models.ForeignKey('TypeContrat', db_column='type_contrat',
related_name='+',
verbose_name = u"Type de contrat")
null=True, blank=True)
class Meta:
+ abstract = True
ordering = ['dossier__employe__nom_affichage']
verbose_name = u"Contrat"
verbose_name_plural = u"Contrats"
def __unicode__(self):
return u'%s - %s' % (self.dossier, self.id)
+
+class Contrat(Contrat_):
+ dossier = models.ForeignKey('Dossier', db_column='dossier', related_name='contrats')
-# TODO? class ContratPiece(models.Model):
-
### ÉVÉNEMENTS