Ajout de champs régions et disciplines
authorEric Mc Sween <eric.mcsween@gmail.com>
Mon, 1 Nov 2010 21:10:28 +0000 (17:10 -0400)
committerEric Mc Sween <eric.mcsween@gmail.com>
Mon, 1 Nov 2010 21:10:28 +0000 (17:10 -0400)
Modèles affectés: sites, actualités, évènements.

auf_savoirs_en_partage/savoirs/admin.py
auf_savoirs_en_partage/savoirs/forms.py
auf_savoirs_en_partage/savoirs/models.py
auf_savoirs_en_partage/sitotheque/models.py
auf_savoirs_en_partage/sql/2010-11-01.sql [new file with mode: 0644]

index 36c8465..e54aca8 100644 (file)
@@ -276,6 +276,7 @@ class EvenementAdmin(admin.ModelAdmin):
               'debut',
               'fin',
               'lieu',
+              'regions',
               'description',
               'contact',
               'url',
index 146d7bb..c1e45bd 100644 (file)
@@ -192,7 +192,7 @@ class EvenementForm(EvenementAdminForm):
 
     class Meta:
         model = Evenement
-        exclude = ('approuve', 'uid')
+        exclude = ('approuve', 'uid', 'regions')
 
 # Admin views pour les associations par lots
 
index b182cb1..44cb1a8 100644 (file)
@@ -52,6 +52,8 @@ class Actualite(models.Model):
     visible = models.BooleanField(db_column='visible_actualite', default = False)
     ancienid = models.IntegerField(db_column='ancienId_actualite', blank = True, null = True)
     source = models.ForeignKey(SourceActualite, blank = True, null = True)
+    disciplines = models.ManyToManyField(Discipline, blank=True, related_name="actualites")
+    regions = models.ManyToManyField(Region, blank=True, related_name="actualites", verbose_name='Régions')
 
     objects = ActualiteManager()
 
@@ -123,6 +125,7 @@ class Evenement(models.Model):
     #fichiers = TODO?
     contact = models.TextField(blank = True, null = True)
     url = models.CharField(max_length=255, blank = True, null = True)
+    regions = models.ManyToManyField(Region, blank=True, related_name="evenements", verbose_name='Régions')
 
     objects = EvenementManager()
 
@@ -346,7 +349,7 @@ class Record(models.Model):
     disciplines = models.ManyToManyField(Discipline)
     thematiques = models.ManyToManyField(Thematique)
     pays = models.ManyToManyField(Pays)
-    regions = models.ManyToManyField(Region)
+    regions = models.ManyToManyField(Region, verbose_name='Régions')
 
     # Manager
     objects = RecordManager()
index a02314b..478923e 100644 (file)
@@ -66,6 +66,7 @@ class Site(models.Model):
 
     # source    # dc:source (dc:relation?)
     pays = models.ForeignKey(Pays, null = True, blank=True, db_column='pays', to_field='code', verbose_name = 'Pays')
+    regions = models.ManyToManyField(Region, blank=True, related_name="sites", verbose_name='Régions')
     
     # meta
     actif = models.BooleanField()
diff --git a/auf_savoirs_en_partage/sql/2010-11-01.sql b/auf_savoirs_en_partage/sql/2010-11-01.sql
new file mode 100644 (file)
index 0000000..ce49a86
--- /dev/null
@@ -0,0 +1,40 @@
+-- Ajout des tables many-to-many pour les régions et les disciplines
+
+BEGIN;
+CREATE TABLE `savoirs_evenement_regions` (
+    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
+    `evenement_id` integer NOT NULL,
+    `region_id` integer NOT NULL,
+    UNIQUE (`evenement_id`, `region_id`)
+)
+;
+ALTER TABLE `savoirs_evenement_regions` ADD CONSTRAINT `evenement_id_refs_id_5e92e839` FOREIGN KEY (`evenement_id`) REFERENCES `savoirs_evenement` (`id`);
+ALTER TABLE `savoirs_evenement_regions` ADD CONSTRAINT `region_id_refs_id_771e693` FOREIGN KEY (`region_id`) REFERENCES `ref_region` (`id`);
+CREATE TABLE `actualite_regions` (
+    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
+    `actualite_id` integer NOT NULL,
+    `region_id` integer NOT NULL,
+    UNIQUE (`actualite_id`, `region_id`)
+)
+;
+ALTER TABLE `actualite_regions` ADD CONSTRAINT `actualite_id_refs_id_actualite_7d8ac265` FOREIGN KEY (`actualite_id`) REFERENCES `actualite` (`id_actualite`);
+ALTER TABLE `actualite_regions` ADD CONSTRAINT `region_id_refs_id_57ede84a` FOREIGN KEY (`region_id`) REFERENCES `ref_region` (`id`);
+CREATE TABLE `actualite_disciplines` (
+    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
+    `actualite_id` integer NOT NULL,
+    `discipline_id` integer NOT NULL,
+    UNIQUE (`actualite_id`, `discipline_id`)
+)
+;
+ALTER TABLE `actualite_disciplines` ADD CONSTRAINT `actualite_id_refs_id_actualite_23f21297` FOREIGN KEY (`actualite_id`) REFERENCES `actualite` (`id_actualite`);
+ALTER TABLE `actualite_disciplines` ADD CONSTRAINT `discipline_id_refs_id_discipline_682cd4d8` FOREIGN KEY (`discipline_id`) REFERENCES `discipline` (`id_discipline`);
+CREATE TABLE `sitotheque_site_regions` (
+    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
+    `site_id` integer NOT NULL,
+    `region_id` integer NOT NULL,
+    UNIQUE (`site_id`, `region_id`)
+)
+;
+ALTER TABLE `sitotheque_site_regions` ADD CONSTRAINT `site_id_refs_id_637ee69d` FOREIGN KEY (`site_id`) REFERENCES `sitotheque_site` (`id`);
+ALTER TABLE `sitotheque_site_regions` ADD CONSTRAINT `region_id_refs_id_63442bff` FOREIGN KEY (`region_id`) REFERENCES `ref_region` (`id`);
+COMMIT;