d'un chercheur."""
def __init__(self, data=None, chercheur=None):
- personne_form_class = PersonneInscriptionForm if chercheur is None else PersonneForm
+ chercheur_form_class = ChercheurInscriptionForm if chercheur is None else ChercheurForm
+ try:
+ these = chercheur and chercheur.these
+ except These.DoesNotExist:
+ these = These()
- self.chercheur = ChercheurForm(data=data, prefix='chercheur', instance=chercheur)
+ self.chercheur = chercheur_form_class(data=data, prefix='chercheur', instance=chercheur)
self.groupes = GroupesForm(data=data, prefix='chercheur', chercheur=chercheur)
- self.personne = personne_form_class(data=data, prefix='personne', instance=chercheur and chercheur.personne.utilisateur)
self.expertises = ExpertiseFormSet(data=data, prefix='expertise', instance=chercheur)
- self.these = TheseForm(data=data, prefix='these', instance=chercheur and chercheur.these)
+ self.these = TheseForm(data=data, prefix='these', instance=these)
self.publications = PublicationFormSet(data=data, prefix='publication', instance=chercheur)
@property
def filter_expert(self):
return self.get_query_set().filter_expert()
+ def order_by_nom(self, direction=''):
+ return self.get_query_set().order_by_nom(self, direction=direction)
+
+ def order_by_etablissement(self, direction=''):
+ return self.get_query_set().order_by_etablissement(self, direction=direction)
+
+ def order_by_pays(self, direction=''):
+ return self.get_query_set().order_by_pays(self, direction=direction)
+
STATUT_CHOICES = (('enseignant', 'Enseignant-chercheur dans un établissement'), ('etudiant', 'Étudiant-chercheur doctorant'), ('independant', 'Chercheur indépendant docteur'))
-class Chercheur(models.Model):
- id = models.AutoField(primary_key=True, db_column='id')
- personne = models.ForeignKey('Personne', db_column='personne', editable=False)
+class Chercheur(Personne):
nationalite = models.ForeignKey(Pays, null = True, db_column='nationalite', to_field='code',
verbose_name = 'nationalité', related_name='nationalite')
- #fonction = models.CharField(max_length=36, choices=FONCTION_CHOICES)
statut = models.CharField(max_length=36, choices=STATUT_CHOICES)
diplome = models.CharField(max_length=255, null=True, verbose_name = 'diplôme le plus élevé')
etablissement = models.ForeignKey(Etablissement, db_column='etablissement', null=True, blank=True)
--- /dev/null
--- /dev/null
++Ce répertoire contient des migrations datées de la base de données de Savoirs en
++partage. Pour mettre un système à jour, repérez la date de la dernière mise à
++jour dans la liste ci-bas, puis appliquez les migrations en les envoyant
++simplement à un client mysql. Par exemple:
++
++ $ cat migration1.sql migration2.sql migration3.sql | mysql
++
++Finalement, mettez à jour la date de la mise à jour pour votre système dans ce
++fichier.
++
++Dernières mises à jour
++======================
++
++DEV: 2010-12-07
++TEST: 2010-12-06
++PROD: 2010-12-06