import reversion
from auf.django.emploi.models import \
GENRE_CHOICES, SITUATION_CHOICES # devrait plutot être dans references
-from auf.django.metadata.models import AUFMetadata
-from auf.django.metadata.managers import NoDeleteManager
from auf.django.references import models as ref
from django.core.files.storage import FileSystemStorage
from django.db import models
return int(round(float(self.montant) * float(taux), 2))
-class Commentaire(AUFMetadata):
+class Commentaire(models.Model):
texte = models.TextField()
owner = models.ForeignKey(
'auth.User', db_column='owner', related_name='+',
verbose_name=u"Commentaire de"
)
+ date_creation = models.DateTimeField(
+ u'date', auto_now_add=True, blank=True, null=True
+ )
class Meta:
abstract = True
)
-class Poste_(AUFMetadata):
+class Poste_(models.Model):
"""
Un Poste est un emploi (job) à combler dans une implantation.
Un Poste peut être comblé par un Employe, auquel cas un Dossier est créé.
UTILISE pour mettre a jour le flag vacant
"""
return [
- d.employe for d in self.rh_dossiers
- .filter(supprime=False)
- .exclude(date_fin__lt=date.today())
+ d.employe
+ for d in self.rh_dossiers.exclude(date_fin__lt=date.today())
]
reversion.register(Poste, format='xml', follow=[
'rh_financements', 'rh_pieces', 'rh_comparaisons_internes',
- 'commentaires', 'rh_dossiers'
+ 'commentaires'
])
reversion.register(PostePiece, format='xml')
-class PosteComparaison_(AUFMetadata, DevisableMixin):
+class PosteComparaison_(models.Model, DevisableMixin):
"""
De la même manière qu'un dossier, un poste peut-être comparé à un autre
poste.
Poste, related_name='rh_comparaisons_internes'
)
- objects = NoDeleteManager()
-
reversion.register(PosteComparaison, format='xml')
### EMPLOYÉ/PERSONNE
-class Employe(AUFMetadata):
+class Employe(models.Model):
"""
Personne occupant ou ayant occupé un Poste. Un Employe aura autant de
Dossiers qu'il occupe ou a occupé de Postes.
return regions
reversion.register(Employe, format='xml', follow=[
- 'pieces', 'commentaires', 'ayantdroits', 'rh_dossiers'
+ 'pieces', 'commentaires', 'ayantdroits'
])
)
-class AyantDroit(AUFMetadata):
+class AyantDroit(models.Model):
"""
Personne en relation avec un Employe.
"""
)
-class Dossier_(AUFMetadata, DevisableMixin):
+class Dossier_(models.Model, DevisableMixin):
"""
Le Dossier regroupe les informations relatives à l'occupation
d'un Poste par un Employe. Un seul Dossier existe par Poste occupé
### RÉMUNÉRATION
-class RemunerationMixin(AUFMetadata):
+class RemunerationMixin(models.Model):
# Identification
type = models.ForeignKey(
### CONTRATS
-class ContratManager(NoDeleteManager):
+class ContratManager(models.Manager):
+
def get_query_set(self):
return super(ContratManager, self).get_query_set() \
.select_related('dossier', 'dossier__poste')
-class Contrat_(AUFMetadata):
+class Contrat_(models.Model):
"""
Document juridique qui encadre la relation de travail d'un Employe
pour un Poste particulier. Pour un Dossier (qui documente cette
### RÉFÉRENCES RH
-class CategorieEmploi(AUFMetadata):
+class CategorieEmploi(models.Model):
"""
Catégorie utilisée dans la gestion des Postes.
Catégorie supérieure à TypePoste.
reversion.register(FamilleProfessionnelle, format='xml')
-class TypePoste(AUFMetadata):
+class TypePoste(models.Model):
"""
Catégorie de Poste.
"""
)
-class TypeRemuneration(AUFMetadata):
+class TypeRemuneration(models.Model):
"""
Catégorie de Remuneration.
"""
reversion.register(TypeRemuneration, format='xml')
-class TypeRevalorisation(AUFMetadata):
+class TypeRevalorisation(models.Model):
"""
Justification du changement de la Remuneration.
(Actuellement utilisé dans aucun traitement informatique.)
reversion.register(TypeRevalorisation, format='xml')
-class Service(AUFMetadata):
+class Service(models.Model):
"""
Unité administrative où les Postes sont rattachés.
"""
)
-class OrganismeBstg(AUFMetadata):
+class OrganismeBstg(models.Model):
"""
Organisation d'où provient un Employe mis à disposition (MAD) de
ou détaché (DET) à l'AUF à titre gratuit.
reversion.register(OrganismeBstg, format='xml')
-class Statut(AUFMetadata):
+class Statut(models.Model):
"""
Statut de l'Employe dans le cadre d'un Dossier particulier.
"""
return qs.all()
-class Classement_(AUFMetadata):
+class Classement_(models.Model):
"""
Éléments de classement de la
"Grille générique de classement hiérarchique".
reversion.register(Classement, format='xml')
-class TauxChange_(AUFMetadata):
+class TauxChange_(models.Model):
"""
Taux de change de la devise vers l'euro (EUR)
pour chaque année budgétaire.
reversion.register(TauxChange, format='xml')
-class ValeurPointManager(NoDeleteManager):
+class ValeurPointManager(models.Manager):
def get_query_set(self):
return super(ValeurPointManager, self).get_query_set() \
.select_related('devise', 'implantation')
-class ValeurPoint_(AUFMetadata):
+class ValeurPoint_(models.Model):
"""
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
salaire de base = coefficient * valeur du point de l'Implantation du Poste
"""
+ objects = models.Manager()
actuelles = ValeurPointManager()
valeur = models.FloatField(null=True)
reversion.register(ValeurPoint, format='xml')
-class Devise(AUFMetadata):
+class Devise(models.Model):
"""
Devise monétaire.
"""
reversion.register(Devise, format='xml')
-class TypeContrat(AUFMetadata):
+class TypeContrat(models.Model):
"""
Type de contrat.
"""