calebasse/calebasse/ressources/models.py @ 8ee74769
| 998ef74c | Benjamin Dauvergne | # -*- coding: utf-8 -*-
|
|
from django.db import models
|
|||
| f7d9fa12 | Benjamin Dauvergne | from django.db.models import query
|
|
| 677bc5b0 | Mikaël Ates | from model_utils import Choices
|
|
| 96f613c6 | Benjamin Dauvergne | ||
from calebasse.models import PhoneNumberField, ZipCodeField
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| f7d9fa12 | Benjamin Dauvergne | from model_utils.managers import PassThroughManager
|
|
| e1926dd5 | Benjamin Dauvergne | ||
| f7d9fa12 | Benjamin Dauvergne | ||
class ServiceLinkedQuerySet(query.QuerySet):
|
|||
| e1926dd5 | Benjamin Dauvergne | def for_service(self, service, allow_global=True):
|
|
'''Allows service local and service global objects'''
|
|||
return self.filter(models.Q(service=service)
|
|||
|models.Q(service__isnull=allow_global))
|
|||
| f7d9fa12 | Benjamin Dauvergne | ServiceLinkedManager = PassThroughManager.for_queryset_class(ServiceLinkedQuerySet)
|
|
| 96f613c6 | Benjamin Dauvergne | class NamedAbstractModel(models.Model):
|
|
| a0f667ab | Jérôme Schneider | name = models.CharField(max_length=150, verbose_name=u'Nom')
|
|
| 1097fd0a | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | def __unicode__(self):
|
|
| 01b413fe | Benjamin Dauvergne | return self.name
|
|
| 96f613c6 | Benjamin Dauvergne | ||
def __repr__(self):
|
|||
return '<%s %r>' % (self.__class__.__name__, unicode(self))
|
|||
| 1097fd0a | Benjamin Dauvergne | ||
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
| 96f613c6 | Benjamin Dauvergne | abstract = True
|
|
ordering = ['name']
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | class ServiceLinkedAbstractModel(models.Model):
|
|
objects = ServiceLinkedManager()
|
|||
service = models.ForeignKey('Service', null=True, blank=True)
|
|||
| 1097fd0a | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | class Meta:
|
|
abstract = True
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 00baf982 | Jérôme Schneider | class HealthCenter(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
| 00baf982 | Jérôme Schneider | verbose_name = u'Centre d\'assurance maladie'
|
|
verbose_name_plural = u'Centres d\'assurances maladie'
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| c9db0256 | Jérôme Schneider | def __unicode__(self):
|
|
| 60264e91 | Mikaël Ates | return self.large_regime.code + ' ' + self.health_fund + ' ' + self.code + ' ' + self.name
|
|
| c9db0256 | Jérôme Schneider | ||
| 569eb325 | Jérôme Schneider | code = models.CharField(verbose_name=u"Code du centre",
|
|
| 00baf982 | Jérôme Schneider | max_length=4,
|
|
null=True, blank=True)
|
|||
large_regime = models.ForeignKey('LargeRegime',
|
|||
verbose_name=u"Grand régime")
|
|||
| 569eb325 | Jérôme Schneider | dest_organism = models.CharField(max_length=8,
|
|
verbose_name=u"Organisme destinataire")
|
|||
computer_center_code = models.CharField(max_length=8,
|
|||
verbose_name=u"Code centre informatique",
|
|||
null=True, default=True)
|
|||
abbreviation = models.CharField(verbose_name=u'Abbrévation',
|
|||
max_length=8,
|
|||
null=True, default=True)
|
|||
| 60264e91 | Mikaël Ates | health_fund = models.CharField(verbose_name=u"Numéro de la caisse",
|
|
max_length=3)
|
|||
| 1097fd0a | Benjamin Dauvergne | active = models.BooleanField(default=True)
|
|
address = models.CharField(max_length=120)
|
|||
address_complement = models.CharField(max_length=120, blank=True,
|
|||
null=True, default=None)
|
|||
| 569eb325 | Jérôme Schneider | zip_code = models.CharField(max_length=8)
|
|
| 1097fd0a | Benjamin Dauvergne | city = models.CharField(max_length=80)
|
|
phone = models.CharField(max_length=30)
|
|||
| 569eb325 | Jérôme Schneider | fax = models.CharField(max_length=30,
|
|
null=True, blank=True)
|
|||
| 00baf982 | Jérôme Schneider | email = models.EmailField(
|
|
null=True, blank=True)
|
|||
accounting_number = models.CharField(max_length=30,
|
|||
null=True, blank=True)
|
|||
| 1097fd0a | Benjamin Dauvergne | correspondant = models.CharField(max_length=80)
|
|
| 00baf982 | Jérôme Schneider | ||
class LargeRegime(NamedAbstractModel):
|
|||
class Meta:
|
|||
verbose_name = u'Grand régime'
|
|||
verbose_name_plural = u'Grands régimes'
|
|||
def __unicode__(self):
|
|||
| 569eb325 | Jérôme Schneider | return self.code + ' ' + self.name
|
|
| 00baf982 | Jérôme Schneider | ||
| 569eb325 | Jérôme Schneider | code = models.CharField(verbose_name=u"Code grand régime",
|
|
| 00baf982 | Jérôme Schneider | max_length=2)
|
|
| 0f4c0029 | Jérôme Schneider | ||
| 998ef74c | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | class TransportCompany(NamedAbstractModel):
|
|
| de505e40 | Mikaël Ates | 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 = PhoneNumberField(verbose_name=u"Téléphone",
|
|||
blank=True, null=True, default=None)
|
|||
fax = models.CharField(max_length=30,
|
|||
blank=True, null=True, default=None)
|
|||
email = models.EmailField(blank=True, null=True)
|
|||
correspondant = models.CharField(max_length=80, blank=True, null=True)
|
|||
old_camsp_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au CAMSP', blank=True, null=True)
|
|||
old_cmpp_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au CMPP', blank=True, null=True)
|
|||
old_sessad_dys_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au SESSAD TED', blank=True, null=True)
|
|||
old_sessad_ted_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au SESSAD DYS', blank=True, null=True)
|
|||
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Compagnie de transport'
|
|||
verbose_name_plural = u'Compagnies de transport'
|
|||
| 96f613c6 | Benjamin Dauvergne | class UninvoicableCode(models.Model):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Code de non-facturation'
|
|||
verbose_name_plural = u'Codes de non-facturation'
|
|||
| 1f17fe24 | Mikaël Ates | class Office(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Établissement'
|
|||
verbose_name_plural = u'Établissements'
|
|||
| 1097fd0a | Benjamin Dauvergne | def __unicode__(self):
|
|
| 1f17fe24 | Mikaël Ates | return self.name
|
|
| 1097fd0a | Benjamin Dauvergne | ||
| dfbedf34 | Jérôme Schneider | description = models.TextField(blank=True, null=True)
|
|
| 96f613c6 | Benjamin Dauvergne | ||
# Contact
|
|||
| dfbedf34 | Jérôme Schneider | phone = PhoneNumberField(verbose_name=u"Téléphone", blank=True, null=True)
|
|
fax = PhoneNumberField(verbose_name=u"Fax", blank=True, null=True)
|
|||
email = models.EmailField(blank=True, null=True)
|
|||
| 96f613c6 | Benjamin Dauvergne | ||
# Address
|
|||
address = models.CharField(max_length=120,
|
|||
| 1f17fe24 | Mikaël Ates | verbose_name=u"Adresse", blank=True, null=True, default=None)
|
|
| 96f613c6 | Benjamin Dauvergne | address_complement = models.CharField(max_length=120,
|
|
blank=True,
|
|||
null=True,
|
|||
default=None,
|
|||
| 1c4e6090 | Mikaël Ates | verbose_name=u"Complément d'adresse")
|
|
| 1f17fe24 | Mikaël Ates | 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)
|
|||
| 96f613c6 | Benjamin Dauvergne | ||
| 1097fd0a | Benjamin Dauvergne | # TODO: add this fields : finess, suite, dm, dpa, genre, categorie, statut_juridique, mft, mt, dmt
|
|
| 998ef74c | Benjamin Dauvergne | ||
| 6c60a174 | Mikaël Ates | class SchoolType(NamedAbstractModel):
|
|
class Meta:
|
|||
verbose_name = u'Type du lieu de socialisation'
|
|||
verbose_name_plural = u'Types du lieu de socialisation'
|
|||
services = models.ManyToManyField('ressources.Service')
|
|||
class School(NamedAbstractModel):
|
|||
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
| 45e8608e | Mikaël Ates | verbose_name = u'Lieu de socialisation'
|
|
verbose_name_plural = u'Lieux de socialisation'
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 1097fd0a | Benjamin Dauvergne | def __unicode__(self):
|
|
| 5458878e | Mikaël Ates | if self.school_type.name != 'Inconnu':
|
|
return unicode(self.school_type) + ' ' + self.name
|
|||
return self.name
|
|||
| 1097fd0a | Benjamin Dauvergne | ||
| 6c60a174 | Mikaël Ates | school_type = models.ForeignKey('ressources.SchoolType',
|
|
verbose_name=u"Type d'établissement")
|
|||
| 2d4b9891 | Jérôme Schneider | description = models.TextField(blank=True, null=True, default=None)
|
|
| 276485e3 | Frédéric Péters | address = models.CharField(max_length=120,
|
|
verbose_name=u"Adresse", blank=True, null=True, default=None)
|
|||
| 96f613c6 | Benjamin Dauvergne | address_complement = models.CharField(max_length=120,
|
|
blank=True,
|
|||
null=True,
|
|||
| 276485e3 | Frédéric Péters | default=None,
|
|
verbose_name=u"Complément d'adresse")
|
|||
| 6c60a174 | Mikaël Ates | zip_code = ZipCodeField(verbose_name=u"Code postal",
|
|
blank=True, null=True, default=None)
|
|||
| 276485e3 | Frédéric Péters | city = models.CharField(max_length=80, verbose_name=u"Ville",
|
|
| 6c60a174 | Mikaël Ates | blank=True, null=True, default=None)
|
|
phone = PhoneNumberField(verbose_name=u"Téléphone",
|
|||
blank=True, null=True, default=None)
|
|||
| 2d4b9891 | Jérôme Schneider | fax = models.CharField(max_length=30,
|
|
blank=True, null=True, default=None)
|
|||
| 6c60a174 | Mikaël Ates | email = models.EmailField(blank=True, null=True, default=None)
|
|
| 2d4b9891 | Jérôme Schneider | director_name = models.CharField(max_length=70,
|
|
| 276485e3 | Frédéric Péters | blank=True, null=True, default=None,
|
|
verbose_name=u"Nom du directeur")
|
|||
| 5458878e | Mikaël Ates | 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)
|
|||
| 1097fd0a | Benjamin Dauvergne | ||
| 45e8608e | Mikaël Ates | ||
| 96f613c6 | Benjamin Dauvergne | class SchoolTeacherRole(NamedAbstractModel):
|
|
class Meta:
|
|||
verbose_name = u'Type de rôle des professeurs'
|
|||
verbose_name_plural = u'Types de rôle des professeurs'
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 45e8608e | Mikaël Ates | ||
| 5458878e | Mikaël Ates | class SchoolLevel(NamedAbstractModel):
|
|
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'Classe'
|
|||
verbose_name_plural = u'Classes'
|
|||
| 6c60a174 | Mikaël Ates | ||
| 45e8608e | Mikaël Ates | class SocialisationDuration(models.Model):
|
|
class Meta:
|
|||
verbose_name = u'Période de socialisation'
|
|||
verbose_name_plural = u'Périodes de socialisation'
|
|||
| 6c60a174 | Mikaël Ates | school = models.ForeignKey('ressources.School',
|
|
verbose_name=u'Lieu de socialisation',
|
|||
blank=True, null=True)
|
|||
| 5458878e | Mikaël Ates | level = models.ForeignKey('ressources.SchoolLevel',
|
|
verbose_name=u'Classe',
|
|||
blank=True, null=True)
|
|||
| 14c6fc82 | Mikaël Ates | redoublement = models.BooleanField(verbose_name=u"Redoublement",
|
|
default=False)
|
|||
| 45e8608e | Mikaël Ates | start_date = models.DateField(verbose_name=u"Date d'arrivée")
|
|
| 6c60a174 | Mikaël Ates | contact = models.CharField(verbose_name=u"Contact", max_length=200, blank=True, null=True, default=None)
|
|
| 45e8608e | Mikaël Ates | end_date = models.DateField(verbose_name=u"Date de départ",
|
|
blank=True, null=True)
|
|||
created = models.DateTimeField(u'Création', auto_now_add=True)
|
|||
comment = models.TextField(max_length=3000,
|
|||
blank=True, null=True, verbose_name=u"Commentaire")
|
|||
| 96f613c6 | Benjamin Dauvergne | class InscriptionMotive(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Motif d\'inscription'
|
|||
verbose_name_plural = u'Motifs d\'inscription'
|
|||
| de505e40 | Mikaël Ates | class Provenance(NamedAbstractModel):
|
|
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'Provenance'
|
|||
verbose_name_plural = u'Provenances'
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | class Nationality(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Nationalité'
|
|||
verbose_name_plural = u'Nationalités'
|
|||
| 96f613c6 | Benjamin Dauvergne | class Job(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Profession'
|
|||
verbose_name_plural = u'Professions'
|
|||
| f7d9fa12 | Benjamin Dauvergne | class RoomQuerySet(query.QuerySet):
|
|
| 96f613c6 | Benjamin Dauvergne | def for_etablissement(self, etablissement):
|
|
return self.filter(etablissement=etablissement)
|
|||
def for_service(self, service):
|
|||
return self.filter(etablissement__service=service)
|
|||
| dfbedf34 | Jérôme Schneider | class Room(NamedAbstractModel):
|
|
| f7d9fa12 | Benjamin Dauvergne | objects = PassThroughManager.for_queryset_class(RoomQuerySet)()
|
|
| 96f613c6 | Benjamin Dauvergne | etablissement = models.ForeignKey('Office')
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
| 96f613c6 | Benjamin Dauvergne | verbose_name = u'Salle'
|
|
| 998ef74c | Benjamin Dauvergne | verbose_name_plural = u'Salles'
|
|
| 88a1a343 | Mikaël Ates | class AnalyseMotive(NamedAbstractModel):
|
|
| cea6ec34 | Jérôme Schneider | class Meta:
|
|
verbose_name = u"Motif analysé"
|
|||
verbose_name_plural = u"Motifs analysés"
|
|||
| 88a1a343 | Mikaël Ates | class FamilyMotive(NamedAbstractModel):
|
|
| cea6ec34 | Jérôme Schneider | class Meta:
|
|
verbose_name = u"Motif familiale"
|
|||
verbose_name_plural = u"Motifs familiaux"
|
|||
| a9381abc | Mikaël Ates | class OutMotive(NamedAbstractModel):
|
|
| dc1389b8 | Mikaël Ates | class Meta:
|
|
verbose_name = u"Motif de sortie"
|
|||
verbose_name_plural = u"Motifs de sortie"
|
|||
| a9381abc | Mikaël Ates | class OutTo(NamedAbstractModel):
|
|
| dc1389b8 | Mikaël Ates | class Meta:
|
|
verbose_name = u"Orientation de sortie"
|
|||
verbose_name_plural = u"Orientations de sortie"
|
|||
| 88a1a343 | Mikaël Ates | class AdviceGiver(NamedAbstractModel):
|
|
| cea6ec34 | Jérôme Schneider | class Meta:
|
|
verbose_name = u"Conseilleur"
|
|||
verbose_name_plural = u"Conseilleurs"
|
|||
| 96f613c6 | Benjamin Dauvergne | ||
| 91365af6 | Jérôme Schneider | class Service(NamedAbstractModel):
|
|
| 1097fd0a | Benjamin Dauvergne | admin_only = True
|
|
| 4079f834 | Benjamin Dauvergne | slug = models.SlugField()
|
|
| 96f613c6 | Benjamin Dauvergne | description = models.TextField()
|
|
# Contact
|
|||
phone = PhoneNumberField(verbose_name=u"Téléphone")
|
|||
fax = PhoneNumberField(verbose_name=u"Fax")
|
|||
email = models.EmailField()
|
|||
| 4079f834 | Benjamin Dauvergne | ||
class Meta:
|
|||
verbose_name = u'Service'
|
|||
verbose_name_plural = u'Services'
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| f7d9fa12 | Benjamin Dauvergne | class ActTypeQuerySet(query.QuerySet):
|
|
| b37eebfb | Jérôme Schneider | def for_service(self, service):
|
|
return self.filter(service=service)
|
|||
| 998ef74c | Benjamin Dauvergne | ||
| 906e14dc | Jérôme Schneider | class ActType(NamedAbstractModel, ServiceLinkedAbstractModel):
|
|
| f7d9fa12 | Benjamin Dauvergne | objects = PassThroughManager.for_queryset_class(ActTypeQuerySet)()
|
|
| fe0a540c | Mikaël Ates | billable = models.BooleanField(default=True, verbose_name=u"Facturable")
|
|
| 55bfb7f5 | Benjamin Dauvergne | old_id = models.CharField(max_length=256,
|
|
verbose_name=u'Ancien ID', blank=True, null=True)
|
|||
| 0f4a8003 | Benjamin Dauvergne | display_first = models.BooleanField(default=False, verbose_name=u"Acte principalement utilisé")
|
|
| 1097fd0a | Benjamin Dauvergne | ||
| 3fb70ba0 | Benjamin Dauvergne | class Meta(NamedAbstractModel.Meta):
|
|
| 998ef74c | Benjamin Dauvergne | verbose_name = u'Type d\'actes'
|
|
verbose_name_plural = u'Types d\'actes'
|
|||
| 0f4a8003 | Benjamin Dauvergne | ordering = ('-display_first','name')
|
|
| 998ef74c | Benjamin Dauvergne | ||
| 96f613c6 | Benjamin Dauvergne | class ParentalAuthorityType(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type d\'autorité parentale'
|
|||
verbose_name_plural = u'Types d\'autorités parentales'
|
|||
| 96f613c6 | Benjamin Dauvergne | class ParentalCustodyType(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type de gardes parentales'
|
|||
verbose_name_plural = u'Types de gardes parentales'
|
|||
| 96f613c6 | Benjamin Dauvergne | class SessionType(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type de séance'
|
|||
verbose_name_plural = u'Types de séances'
|
|||
| 96f613c6 | Benjamin Dauvergne | class FamilySituationType(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type de situation familiale'
|
|||
verbose_name_plural = u'Types de situations familiales'
|
|||
| 08391712 | Mikaël Ates | class MaritalStatusType(NamedAbstractModel):
|
|
class Meta:
|
|||
verbose_name = u'Régime matrimonial'
|
|||
verbose_name_plural = u'Régimes matrimoniaux'
|
|||
| 96f613c6 | Benjamin Dauvergne | class TransportType(NamedAbstractModel):
|
|
| 998ef74c | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type de transport'
|
|||
verbose_name_plural = u'Types de transports'
|
|||
| 96f613c6 | Benjamin Dauvergne | ||
class WorkerType(NamedAbstractModel):
|
|||
| 9ceeb537 | Benjamin Dauvergne | intervene = models.BooleanField(
|
|
verbose_name=u'Intervenant',
|
|||
blank=True)
|
|||
| 96f613c6 | Benjamin Dauvergne | class Meta:
|
|
verbose_name = u'Type de personnel'
|
|||
verbose_name_plural = u'Types de personnel'
|
|||
| 677bc5b0 | Mikaël Ates | ||
AXIS = Choices(
|
|||
(1, 'Axe I : catégories cliniques'),
|
|||
(2, 'Axe II : facteurs organiques'),
|
|||
| 6e7e04bb | Frédéric Péters | (3, 'Axe II : facteurs environnementaux'),
|
|
| 677bc5b0 | Mikaël Ates | )
|
|
class CodeCFTMEA(NamedAbstractModel):
|
|||
code = models.IntegerField(verbose_name=u"Code")
|
|||
axe = models.IntegerField(verbose_name=u"Axe", choices=AXIS,
|
|||
max_length=1)
|
|||
def __unicode__(self):
|
|||
return "%d %s" % (self.code, self.name)
|
|||
class Meta:
|
|||
ordering = ['code']
|
|||
| 1f17fe24 | Mikaël Ates | verbose_name = u'Code CFTMEA'
|
|
verbose_name_plural = u'Codes CFTMEA'
|
|||
| 1c4e6090 | Mikaël Ates | ||
| a4bccba9 | Mikaël Ates | class MDPH(models.Model):
|
|
| 1c4e6090 | Mikaël Ates | class Meta:
|
|
| 1f17fe24 | Mikaël Ates | verbose_name = u'Etablissement MDPH'
|
|
verbose_name_plural = u'Etablissements MDPH'
|
|||
| 1c4e6090 | Mikaël Ates | ||
def __unicode__(self):
|
|||
return self.department
|
|||
department = models.CharField(max_length=200,
|
|||
verbose_name=u"Département")
|
|||
description = models.TextField(blank=True, null=True)
|
|||
# Contact
|
|||
phone = PhoneNumberField(verbose_name=u"Téléphone", blank=True, null=True)
|
|||
fax = PhoneNumberField(verbose_name=u"Fax", blank=True, null=True)
|
|||
email = models.EmailField(blank=True, null=True)
|
|||
website = models.CharField(max_length=200,
|
|||
verbose_name=u"Site Web", blank=True, null=True)
|
|||
# Address
|
|||
address = models.CharField(max_length=120,
|
|||
verbose_name=u"Adresse", blank=True, null=True)
|
|||
address_complement = models.CharField(max_length=120,
|
|||
blank=True,
|
|||
null=True,
|
|||
default=None,
|
|||
verbose_name=u"Complément d'addresse")
|
|||
zip_code = ZipCodeField(verbose_name=u"Code postal",
|
|||
blank=True, null=True)
|
|||
city = models.CharField(max_length=80,
|
|||
verbose_name=u"Ville", blank=True, null=True)
|
|||
| b69d90d2 | Mikaël Ates | ||
class MDPHRequest(models.Model):
|
|||
| 1f17fe24 | Mikaël Ates | class Meta:
|
|
verbose_name = u'Demande MDPH'
|
|||
verbose_name_plural = u'Demandes MDPH'
|
|||
| b69d90d2 | Mikaël Ates | start_date = models.DateField(verbose_name=u"Date de la demande")
|
|
| a4bccba9 | Mikaël Ates | mdph = models.ForeignKey('ressources.MDPH',
|
|
verbose_name=u"MDPH")
|
|||
| b69d90d2 | Mikaël Ates | comment = models.TextField(max_length=3000,
|
|
blank=True, null=True, verbose_name=u"Commentaire")
|
|||
created = models.DateTimeField(u'Création', auto_now_add=True)
|
|||
MDPH_HELP = Choices(
|
|||
(0, "Non défini"),
|
|||
(1, "AEEH (Allocation d'éducation de l'enfant handicapé)"),
|
|||
(2, 'AVS (Assistant de vie scolaire)'),
|
|||
(3, 'EVS (Emplois de vie scolaire)'),
|
|||
)
|
|||
class MDPHResponse(models.Model):
|
|||
| 1f17fe24 | Mikaël Ates | class Meta:
|
|
verbose_name = u'Réponse MDPH'
|
|||
verbose_name_plural = u'Réponses MDPH'
|
|||
| b69d90d2 | Mikaël Ates | start_date = models.DateField(verbose_name=u"Date de début")
|
|
end_date = models.DateField(verbose_name=u"Date de fin")
|
|||
| a4bccba9 | Mikaël Ates | mdph = models.ForeignKey('ressources.MDPH',
|
|
verbose_name=u"MDPH")
|
|||
| b69d90d2 | Mikaël Ates | comment = models.TextField(max_length=3000,
|
|
blank=True, null=True, verbose_name=u"Commentaire")
|
|||
created = models.DateTimeField(u'Création', auto_now_add=True)
|
|||
type_aide = models.IntegerField(verbose_name=u"Type d'aide", choices=MDPH_HELP,
|
|||
max_length=1, default=0)
|
|||
name = models.CharField(max_length=200,
|
|||
verbose_name=u"Nom", blank=True, null=True)
|
|||
rate = models.CharField(max_length=10,
|
|||
verbose_name=u"Taux", blank=True, null=True)
|
|||
| 1f17fe24 | Mikaël Ates | ||
class HolidayType(NamedAbstractModel):
|
|||
for_group = models.BooleanField(
|
|||
verbose_name=u'Congé de groupe',
|
|||
blank=True)
|
|||
class Meta:
|
|||
verbose_name = u'Type de congé'
|
|||
verbose_name_plural = u'Types de congé'
|
|||
| 53ccde9e | Mikaël Ates | ||
class PatientRelatedLink(NamedAbstractModel):
|
|||
old_camsp_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au CAMSP', blank=True, null=True)
|
|||
old_cmpp_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au CMPP', blank=True, null=True)
|
|||
old_sessad_dys_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au SESSAD TED', blank=True, null=True)
|
|||
old_sessad_ted_id = models.CharField(max_length=256,
|
|||
verbose_name=u'Ancien ID au SESSAD DYS', blank=True, null=True)
|
|||
class Meta:
|
|||
verbose_name = u'Type de lien avec le patient (parenté)'
|
|||
verbose_name_plural = u'Types de lien avec le patient (parenté)'
|