projet cartographie preuve concept francis.ngatsi
[davin.git] / projets / cartographie / carto / formation / models.py
1 # -*- coding: utf-8 -*
2
3 # Create your models here.
4 from django.db import models
5
6 typediplome = (
7 (u'DN', u"Diplôme National"),
8 (u'DS', u'Diplôme de structure de la structure d\'accueil'),
9 (u'CE', u'Cerficat'),
10 )
11
12 delivre_par = (
13 (u'DS', u"Diplôme de la Structure d'accueil"),
14 (u'DO', u'Diplôme d\'un organisme partenaire'),
15 (u'CD', u'Codiplôme'),
16 (u'DD', u'Double diplôme'),
17 )
18
19 t_formation = (
20 (u'1', u"Ouverte à distance"),
21 (u'2', u"Uniquement en présentiel"),
22 (u'3', u"Mixte"),
23 )
24
25 genre = (
26 (u'M', u"Mademoiselle"),
27 (u'F', u"Madame"),
28 (u'F', u"Monsieur"),
29 )
30 niveau_dpl = (
31 (u'MI', u"Maîtrise"),
32 (u'MA', u"Master"),
33 (u'MG', u"Magistère"),
34 (u'DE', u"DESS"),
35 (u'DI', u"Diplôme d'Ingenieur"),
36 (u'DO', u"Doctorat"),
37 (u'DP', u"PhD"),
38 )
39
40
41 class Formation(models.Model):
42 """"Une formation est dispensé par un étblissement, concerne un domaine et a un niveau (type de formation)
43 Une formation se fait en présentiel, à distance ou combine les deux modes et pendant une durée précise.
44 """
45
46
47 #domaine = models.CharField(max_length=256, verbose_name='Domaine de la formation')
48 #diplome = models.CharField(max_length=256, verbose_name='Dipplôme')
49
50 #Identification de la formation
51 intitule = models.CharField(max_length=512, verbose_name='Intitulé de la formation')
52 sigle = models.CharField(max_length=32, verbose_name='Sigle de la formation', null=True, blank=True)
53 traduction = models.CharField(max_length=512, verbose_name='Traduction en français', null=True, blank=True)
54 type_diplome = models.CharField(max_length=255, choices=niveau_dpl, verbose_name='Type de diplôme')
55 discipline_auf = models.CharField(max_length=255, verbose_name='Disciple(s) AUF', help_text='Si plusieurs, séparez par les points virgules')
56 niveau_entree = models.CharField(max_length=128, verbose_name='Niveau d\'entrée', help_text='Formulez-le en nombre d\'années d\'étude dans l\'enseignement supérieur')
57 niveau_sortie = models.CharField(max_length=128, verbose_name='Niveau de sortie', help_text='Formulez-le en nombre d\'années d\'étude dans l\'enseignement supérieur')
58 homologation = models.CharField(max_length=255, choices=typediplome, verbose_name='Homologation')
59 delivrance = models.CharField(max_length=255, choices=delivre_par, verbose_name='Délivrance du diplôme')
60 vocation = models.CharField(max_length=128, help_text='Saisir professionnelle et/ou recherche', blank=True)
61 debouches = models.TextField(null=True, blank=True)
62 url = models.URLField(max_length=128, verbose_name='Lien Internet de la formation', null=True, blank=True)
63
64 #Etablissement(s)
65 etablissement = models.CharField(max_length=256, verbose_name='Structure d\'accueil', help_text='Format: Nom_Etablissement(SIGLE)')
66 #sigle_etab = models.CharField(max_length=32, verbose_name='Sigle de l\'établisement', null=True)
67 composante = models.CharField(max_length=256, verbose_name='Composante', help_text='Format: Nom_Composante(SIGLE)', null=True, blank=True)
68 #sigle_comp = models.CharField(max_length=32, verbose_name='Sigle de la composante', null=True)
69 pays = models.CharField(max_length=256, verbose_name='Pays')
70 ville = models.CharField(max_length=256, verbose_name='Ville')
71 url_comp = models.CharField(max_length=256, verbose_name='Lien Internet', null=True, blank=True)
72 #partenaire_mbre = models.CharField(max_length=512, verbose_name='Etablisements partenaires membre', help_text='Entrez la liste séparée par un point virgule', null=True)
73 #partenaire = models.CharField(max_length=512, verbose_name='Autres partenaires', help_text='Entrez la lisete séparée par un point virgule', null=True)
74
75 #Organisation de la formation
76 presentation = models.TextField(null=True, blank=True)
77 duree = models.CharField(max_length=128, verbose_name='Durée de la formation', blank=True)
78 type_formation = models.CharField(max_length=64, choices=t_formation, blank=True)
79 langue = models.CharField(max_length=64, verbose_name='Langue(s) d\'enseignement', help_text='Si plusieurs, séparez par le point virgule')
80 admision = models.CharField(max_length=256, null=True, blank=True)
81 cout = models.FloatField(verbose_name='Coût de la formation', null=True, blank=True)
82 respo = models.CharField(max_length=255, verbose_name='Responsable de la formation', null=True, blank=True)
83 co_respo = models.CharField(max_length=255, verbose_name='Co-responsable', null=True, blank=True)
84 date_saisie = models.DateField(auto_now=True, blank=True)
85
86 # meta
87 actif = models.BooleanField()
88 class Meta:
89 db_table = u'ref_formation'
90 #ordering = ['diplome']
91 verbose_name = u"Formation"
92 verbose_name_plural = u"Formations"
93 #order_with_respect_to = 'structure'
94
95
96 def __unicode__(self):
97 return "%s %s [%s]" % (self.intitule, self.sigle, self.etablissement)
98
99
100 statut = (
101 (u'O', u"Oui"),
102 (u'N', u"Non"),
103 )
104
105 class Partenaire(models.Model):
106 formation = models.ForeignKey(Formation)
107 nom_partner = models.CharField(max_length=512, verbose_name='Structure partenaire', blank=True)
108 sigle_partner = models.CharField(max_length=32, verbose_name='sigle', null=True, blank=True)
109 ville_partner = models.CharField(max_length=64, verbose_name='ville', null=True, blank=True)
110 pays_partner = models.CharField(max_length=62, verbose_name='Pays', blank=True)
111 statut_membre = models.CharField(max_length=64, choices=statut, verbose_name='Membre de l\'AUF?', blank=True)
112
113 def __unicode__(self):
114 return "%s %s [%s]" % (self.nom_partner, self.sigle_partner, self.ville_partner)
115
116
117
118
119