Project

General

Profile

« Previous | Next » 

Revision 688c7fbe

Added by Mikaël Ates about 13 years ago

Personnes: Finally, it is required to implement models for external people.

View differences:

calebasse/dossiers/models.py
coordinators = models.ManyToManyField('personnes.Worker',
verbose_name=u"Coordinateurs",
null=True, blank=True, default=None)
externaldoctor = models.ForeignKey('personnes.ExternalDoctor',
externaldoctor = models.ForeignKey('personnes.ExternalTherapist',
verbose_name=u"Médecin extérieur",
null=True, blank=True, default=None)
externalintervener = models.ForeignKey('personnes.ExternalIntervener',
externalintervener = models.ForeignKey('personnes.ExternalWorker',
verbose_name=u"Intervenant extérieur",
null=True, blank=True, default=None)
calebasse/fixtures/worker_types.json
},
{
"fields": {
"intervene": false,
"name": "Professeur des écoles"
"intervene": true,
"name": "Non défini"
},
"model": "ressources.workertype",
"pk": 18
......
{
"fields": {
"intervene": true,
"name": "Non défini"
"name": "Pédiatre"
},
"model": "ressources.workertype",
"pk": 19
},
{
"fields": {
"intervene": true,
"name": "Médecin généraliste"
},
"model": "ressources.workertype",
"pk": 20
}
]
calebasse/personnes/models.py
from calebasse.models import PhoneNumberField
from calebasse.ressources.models import Service, NamedAbstractModel
from calebasse.models import BaseModelMixin, WeekRankField
from calebasse.models import (BaseModelMixin, WeekRankField,
PhoneNumberField, ZipCodeField)
from calebasse.utils import weeks_since_epoch, weekday_ranks
from interval import Interval
......
verbose_name = u'Personnel'
verbose_name_plural = u'Personnels'
reversion.register(Worker, follow=['people_ptr'])
reversion.register(User)
class ExternalWorker(People):
description = models.TextField(blank=True, null=True, default=None)
address = models.CharField(max_length=120,
verbose_name=u"Adresse", blank=True, null=True, default=None)
address_complement = models.CharField(max_length=120,
blank=True,
null=True,
default=None,
verbose_name=u"Complément d'adresse")
zip_code = ZipCodeField(verbose_name=u"Code postal",
blank=True, null=True, default=None)
city = models.CharField(max_length=80, verbose_name=u"Ville",
blank=True, null=True, default=None)
phone_work = PhoneNumberField(verbose_name=u"Téléphone du travail",
blank=True, null=True, default=None)
fax = models.CharField(max_length=30,
blank=True, null=True, default=None)
type = models.ForeignKey('ressources.WorkerType',
verbose_name=u'Spécialité')
old_id = models.CharField(max_length=256,
verbose_name=u'Ancien ID', blank=True, null=True)
old_service = models.CharField(max_length=256,
verbose_name=u'Ancien Service', blank=True, null=True)
class Meta:
verbose_name = u'Intervenant extérieur'
verbose_name_plural = u'Intervenants extérieurs'
reversion.register(ExternalWorker, follow=['people_ptr'])
class ExternalTherapist(People):
description = models.TextField(blank=True, null=True, default=None)
address = models.CharField(max_length=120,
verbose_name=u"Adresse", blank=True, null=True, default=None)
address_complement = models.CharField(max_length=120,
blank=True,
null=True,
default=None,
verbose_name=u"Complément d'adresse")
zip_code = ZipCodeField(verbose_name=u"Code postal",
blank=True, null=True, default=None)
city = models.CharField(max_length=80, verbose_name=u"Ville",
blank=True, null=True, default=None)
phone_work = PhoneNumberField(verbose_name=u"Téléphone du travail",
blank=True, null=True, default=None)
fax = models.CharField(max_length=30,
blank=True, null=True, default=None)
type = models.ForeignKey('ressources.WorkerType',
verbose_name=u'Spécialité')
old_id = models.CharField(max_length=256,
verbose_name=u'Ancien ID', blank=True, null=True)
old_service = models.CharField(max_length=256,
verbose_name=u'Ancien Service', blank=True, null=True)
old_id = models.CharField(max_length=256,
verbose_name=u'Ancien ID', blank=True, null=True)
old_service = models.CharField(max_length=256,
verbose_name=u'Ancien Service', blank=True, null=True)
class Meta:
verbose_name = u'Médecin extérieur'
verbose_name_plural = u'Médecins extérieurs'
reversion.register(ExternalTherapist, follow=['people_ptr'])
class UserWorker(BaseModelMixin, models.Model):
user = models.OneToOneField('auth.User')
worker = models.ForeignKey('Worker',
......
end_time = datetime_time(20, 0)
return Interval(datetime.combine(self.start_date, start_time),
datetime.combine(self.end_date, end_time))
class ExternalDoctor(People):
class Meta:
verbose_name = u'Médecin extérieur'
verbose_name_plural = u'Médecins extérieurs'
class ExternalIntervener(People):
class Meta:
verbose_name = u'Intervenant extérieur'
verbose_name_plural = u'Intervenants extérieurs'
calebasse/personnes/templates/personnes/index.html
{% endblock %}
{% block content %}
<h3>Personnel</h3>
<ul>
<li><a href="acces/">Accès</a></li>
<li><a href="gestion/">Administration du personnel et des externes</a></li>
<li><a href="gestion/">Administration du personnel</a></li>
<li><a href="conges/">Congés</a></li>
</ul>
<h3>Extérieurs</h3>
<ul>
<li><a href="intervenants-exterieurs/">Intervenants extérieurs</a></li>
<li><a href="medecins-exterieurs/">Médecins extérieurs</a></li>
</ul>
{% endblock %}

Also available in: Unified diff