+++ /dev/null
-- model: managedref.region
- pk: 1
- fields:
- code: A
- nom: Amériques
-- model: managedref.region
- pk: 2
- fields:
- code: EO
- nom: "Europe de l'Ouest"
-- model: managedref.pays
- pk: 1
- fields:
- code: CA
- code_iso3: CAN
- nom: Canada
- region: 1
-- model: managedref.pays
- pk: 2
- fields:
- code: FR
- code_iso3: FRA
- nom: France
- region: 2
-- model: managedref.etablissement
- pk: 1
- fields:
- nom: "Université de Montréal"
- pays: CA
from django.db import connection
from django.db.models import get_models, signals
+from django.conf import settings
import auf.django.references.models
def post_syncdb(sender, **kwargs):
- if connection.vendor == 'mysql':
+ if 'auf.django.references.managedref' not in settings.INSTALLED_APPS:
print u'Création des vues pour les données de référence...'
cursor = connection.cursor()
for model in get_models():
for model in get_models():
if issubclass(model, ref.EtablissementBase):
self.stdout.write('Mise à jour de %s.%s...\n' %
- (model._meta.app_label, model.__class__.__name__))
+ (model._meta.app_label, model.__name__))
for obj in model._default_manager.exclude(ref=None):
for f in obj.ref._meta.fields:
if f.name != 'id':
+++ /dev/null
-# encoding: utf-8
-
-from __future__ import absolute_import
-
-from django.core import management
-from django.db import models
-from django.test import TestCase
-
-from auf.django.references import models as ref
-from tests.universite.models import Universite
-
-
-class EtablissementBaseTestCase(TestCase):
- fixtures = ['tests.yaml']
-
- def test_add_universite(self):
- canada = ref.Pays.objects.get(code='CA')
- uqam = Universite.objects.create(nom='UQAM', pays=canada, recteur='Claude Corbo')
- self.assertEqual(uqam.ref, None)
- self.assertEqual(Universite.objects.count(), 1)
-
- def test_create_universite_from_etablissement(self):
- etablissement = ref.Etablissement.objects.get(nom='Université de Montréal')
- udem = Universite.objects.create(ref=etablissement, recteur='Guy Breton')
- self.assertEqual(udem.nom, u'Université de Montréal')
- self.assertEqual(udem.pays.nom, u'Canada')
- self.assertEqual(udem.recteur, u'Guy Breton')
- self.assertEqual(udem.ref, etablissement)
-
- def test_sync_references(self):
- etablissement = ref.Etablissement.objects.get(nom='Université de Montréal')
- udem = Universite.objects.create(ref=etablissement, recteur='Guy Breton')
- self.assertEqual(udem.nom, u'Université de Montréal')
- self.assertEqual(udem.pays.nom, u'Canada')
- udem.save()
- etablissement.nom = 'UdeM'
- etablissement.pays = ref.Pays.objects.get(code='FR')
- etablissement.save()
- management.call_command('sync_references')
- udem2 = Universite.objects.get(pk=udem.pk)
- self.assertEqual(udem2.nom, u'UdeM')
- self.assertEqual(udem2.pays.nom, u'France')
- self.assertEqual(udem2.recteur, u'Guy Breton')
--- /dev/null
+- model: managedref.region
+ pk: 1
+ fields:
+ code: A
+ nom: Amériques
+- model: managedref.region
+ pk: 2
+ fields:
+ code: EO
+ nom: "Europe de l'Ouest"
+- model: managedref.pays
+ pk: 1
+ fields:
+ code: CA
+ code_iso3: CAN
+ nom: Canada
+ region: 1
+- model: managedref.pays
+ pk: 2
+ fields:
+ code: FR
+ code_iso3: FRA
+ nom: France
+ region: 2
+- model: managedref.etablissement
+ pk: 1
+ fields:
+ nom: "Université de Montréal"
+ pays: CA
--- /dev/null
+# encoding: utf-8
+
+from __future__ import absolute_import
+
+from django.core import management
+from django.db import models
+from django.test import TestCase
+
+from auf.django.references import models as ref
+from tests.universite.models import Universite
+
+
+class EtablissementBaseTestCase(TestCase):
+ fixtures = ['tests.yaml']
+
+ def test_add_universite(self):
+ canada = ref.Pays.objects.get(code='CA')
+ uqam = Universite.objects.create(nom='UQAM', pays=canada, recteur='Claude Corbo')
+ self.assertEqual(uqam.ref, None)
+ self.assertEqual(Universite.objects.count(), 1)
+
+ def test_create_universite_from_etablissement(self):
+ etablissement = ref.Etablissement.objects.get(nom='Université de Montréal')
+ udem = Universite.objects.create(ref=etablissement, recteur='Guy Breton')
+ self.assertEqual(udem.nom, u'Université de Montréal')
+ self.assertEqual(udem.pays.nom, u'Canada')
+ self.assertEqual(udem.recteur, u'Guy Breton')
+ self.assertEqual(udem.ref, etablissement)
+
+ def test_sync_references(self):
+ etablissement = ref.Etablissement.objects.get(nom='Université de Montréal')
+ udem = Universite.objects.create(ref=etablissement, recteur='Guy Breton')
+ self.assertEqual(udem.nom, u'Université de Montréal')
+ self.assertEqual(udem.pays.nom, u'Canada')
+ udem.save()
+ etablissement.nom = 'UdeM'
+ etablissement.pays = ref.Pays.objects.get(code='FR')
+ etablissement.save()
+ management.call_command('sync_references')
+ udem2 = Universite.objects.get(pk=udem.pk)
+ self.assertEqual(udem2.nom, u'UdeM')
+ self.assertEqual(udem2.pays.nom, u'France')
+ self.assertEqual(udem2.recteur, u'Guy Breton')