diff --git a/orgues/forms.py b/orgues/forms.py index 9c7c018..171d571 100644 --- a/orgues/forms.py +++ b/orgues/forms.py @@ -145,7 +145,7 @@ class Meta: "annee_fin", "circa", "type", - "localisation", + "provenance", "facteurs", "resume", ] diff --git a/orgues/migrations/0067_auto_20231103_1430.py b/orgues/migrations/0067_auto_20231103_1430.py new file mode 100644 index 0000000..da6aef2 --- /dev/null +++ b/orgues/migrations/0067_auto_20231103_1430.py @@ -0,0 +1,27 @@ +# Generated by Django 3.1.14 on 2023-11-03 14:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('orgues', '0066_auto_20231101_1859'), + ] + + operations = [ + migrations.RenameModel( + old_name='Localisation', + new_name='Provenance', + ), + migrations.RemoveField( + model_name='evenement', + name='localisation', + ), + migrations.AddField( + model_name='evenement', + name='provenance', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='orgues.provenance', verbose_name='Provenance'), + ), + ] diff --git a/orgues/models.py b/orgues/models.py index e0e9be0..c005bdb 100644 --- a/orgues/models.py +++ b/orgues/models.py @@ -18,138 +18,7 @@ from accounts.models import User -CHOIX_REGION = ( - ('Auvergne-Rhône-Alpes', 'Auvergne-Rhône-Alpes'), - ('Bourgogne-Franche-Comté', 'Bourgogne-Franche-Comté'), - ('Bretagne', 'Bretagne'), - ('Centre-Val de Loire', 'Centre-Val de Loire'), - ('Corse', 'Corse'), - ('Grand Est', 'Grand Est'), - ('Guadeloupe', 'Guadeloupe'), - ('Guyane', 'Guyane'), - ('Hauts-de-France', 'Hauts-de-France'), - ('Île-de-France', 'Île-de-France'), - ('La Réunion', 'La Réunion'), - ('Martinique', 'Martinique'), - ('Normandie', 'Normandie'), - ('Nouvelle-Aquitaine', 'Nouvelle-Aquitaine'), - ('Nouvelle-Calédonie', 'Nouvelle-Calédonie'), - ('Occitanie', 'Occitanie'), - ('Pays de la Loire', 'Pays de la Loire'), - ("Provence-Alpes-Côte d'Azur", "Provence-Alpes-Côte d'Azur"), - ('Saint-Pierre-et-Miquelon', 'Saint-Pierre-et-Miquelon') -) -CHOIX_DEPARTEMENT = ( - ('01', 'Ain'), - ('02', 'Aisne'), - ('03', 'Allier'), - ('04', 'Alpes-de-Haute-Provence'), - ('05', 'Hautes-Alpes'), - ('06', 'Alpes-Maritimes'), - ('07', 'Ardèche'), - ('08', 'Ardennes'), - ('09', 'Ariège'), - ('10', 'Aube'), - ('11', 'Aude'), - ('12', 'Aveyron'), - ('13', 'Bouches-du-Rhône'), - ('14', 'Calvados'), - ('15', 'Cantal'), - ('16', 'Charente'), - ('17', 'Charente-Maritime'), - ('18', 'Cher'), - ('19', 'Corrèze'), - ('2A', 'Corse-du-Sud'), - ('2B', 'Haute-Corse'), - ("21", "Côte-d'Or"), - ("22", "Côtes-d'Armor"), - ('23', 'Creuse'), - ('24', 'Dordogne'), - ('25', 'Doubs'), - ('26', 'Drôme'), - ('27', 'Eure'), - ('28', 'Eure-et-Loir'), - ('29', 'Finistère'), - ('30', 'Gard'), - ('31', 'Haute-Garonne'), - ('32', 'Gers'), - ('33', 'Gironde'), - ('34', 'Hérault'), - ('35', 'Ille-et-Vilaine'), - ('36', 'Indre'), - ('37', 'Indre-et-Loire'), - ('38', 'Isère'), - ('39', 'Jura'), - ('40', 'Landes'), - ('41', 'Loir-et-Cher'), - ('42', 'Loire'), - ('43', 'Haute-Loire'), - ('44', 'Loire-Atlantique'), - ('45', 'Loiret'), - ('46', 'Lot'), - ('47', 'Lot-et-Garonne'), - ('48', 'Lozère'), - ('49', 'Maine-et-Loire'), - ('50', 'Manche'), - ('51', 'Marne'), - ('52', 'Haute-Marne'), - ('53', 'Mayenne'), - ('54', 'Meurthe-et-Moselle'), - ('55', 'Meuse'), - ('56', 'Morbihan'), - ('57', 'Moselle'), - ('58', 'Nièvre'), - ('59', 'Nord'), - ('60', 'Oise'), - ('61', 'Orne'), - ('62', 'Pas-de-Calais'), - ('63', 'Puy-de-Dôme'), - ('64', 'Pyrénées-Atlantiques'), - ('65', 'Hautes-Pyrénées'), - ('66', 'Pyrénées-Orientales'), - ('67', 'Bas-Rhin'), - ('68', 'Haut-Rhin'), - ('69', 'Rhône'), - ('70', 'Haute-Saône'), - ('71', 'Saône-et-Loire'), - ('72', 'Sarthe'), - ('73', 'Savoie'), - ('74', 'Haute-Savoie'), - ('75', 'Paris'), - ('76', 'Seine-Maritime'), - ('77', 'Seine-et-Marne'), - ('78', 'Yvelines'), - ('79', 'Deux-Sèvres'), - ('80', 'Somme'), - ('81', 'Tarn'), - ('82', 'Tarn-et-Garonne'), - ('83', 'Var'), - ('84', 'Vaucluse'), - ('85', 'Vendée'), - ('86', 'Vienne'), - ('87', 'Haute-Vienne'), - ('88', 'Vosges'), - ('89', 'Yonne'), - ('90', 'Territoire de Belfort'), - ('91', 'Essonne'), - ('92', 'Hauts-de-Seine'), - ('93', 'Seine-Saint-Denis'), - ('94', 'Val-de-Marne'), - ("95", "Val-d'Oise"), - ('971', 'Guadeloupe'), - ('972', 'Martinique'), - ('976', 'Mayotte'), - ('973', 'Guyane'), - ('974', 'La Réunion'), - ('975', 'Saint-Pierre-et-Miquelon'), - ('988', 'Nouvelle-Calédonie'), -) - -CHOIX_TYPE_OSM = ( - ("node", "Nœud (Node)"), - ("way", "Chemin (Way)"), - ("relation", "Relation (Relation)"), -) + class Facteur(models.Model): @@ -170,6 +39,139 @@ class Meta: class Orgue(models.Model): + CHOIX_REGION = ( + ('Auvergne-Rhône-Alpes', 'Auvergne-Rhône-Alpes'), + ('Bourgogne-Franche-Comté', 'Bourgogne-Franche-Comté'), + ('Bretagne', 'Bretagne'), + ('Centre-Val de Loire', 'Centre-Val de Loire'), + ('Corse', 'Corse'), + ('Grand Est', 'Grand Est'), + ('Guadeloupe', 'Guadeloupe'), + ('Guyane', 'Guyane'), + ('Hauts-de-France', 'Hauts-de-France'), + ('Île-de-France', 'Île-de-France'), + ('La Réunion', 'La Réunion'), + ('Martinique', 'Martinique'), + ('Normandie', 'Normandie'), + ('Nouvelle-Aquitaine', 'Nouvelle-Aquitaine'), + ('Nouvelle-Calédonie', 'Nouvelle-Calédonie'), + ('Occitanie', 'Occitanie'), + ('Pays de la Loire', 'Pays de la Loire'), + ("Provence-Alpes-Côte d'Azur", "Provence-Alpes-Côte d'Azur"), + ('Saint-Pierre-et-Miquelon', 'Saint-Pierre-et-Miquelon') + ) + + CHOIX_DEPARTEMENT = ( + ('01', 'Ain'), + ('02', 'Aisne'), + ('03', 'Allier'), + ('04', 'Alpes-de-Haute-Provence'), + ('05', 'Hautes-Alpes'), + ('06', 'Alpes-Maritimes'), + ('07', 'Ardèche'), + ('08', 'Ardennes'), + ('09', 'Ariège'), + ('10', 'Aube'), + ('11', 'Aude'), + ('12', 'Aveyron'), + ('13', 'Bouches-du-Rhône'), + ('14', 'Calvados'), + ('15', 'Cantal'), + ('16', 'Charente'), + ('17', 'Charente-Maritime'), + ('18', 'Cher'), + ('19', 'Corrèze'), + ('2A', 'Corse-du-Sud'), + ('2B', 'Haute-Corse'), + ("21", "Côte-d'Or"), + ("22", "Côtes-d'Armor"), + ('23', 'Creuse'), + ('24', 'Dordogne'), + ('25', 'Doubs'), + ('26', 'Drôme'), + ('27', 'Eure'), + ('28', 'Eure-et-Loir'), + ('29', 'Finistère'), + ('30', 'Gard'), + ('31', 'Haute-Garonne'), + ('32', 'Gers'), + ('33', 'Gironde'), + ('34', 'Hérault'), + ('35', 'Ille-et-Vilaine'), + ('36', 'Indre'), + ('37', 'Indre-et-Loire'), + ('38', 'Isère'), + ('39', 'Jura'), + ('40', 'Landes'), + ('41', 'Loir-et-Cher'), + ('42', 'Loire'), + ('43', 'Haute-Loire'), + ('44', 'Loire-Atlantique'), + ('45', 'Loiret'), + ('46', 'Lot'), + ('47', 'Lot-et-Garonne'), + ('48', 'Lozère'), + ('49', 'Maine-et-Loire'), + ('50', 'Manche'), + ('51', 'Marne'), + ('52', 'Haute-Marne'), + ('53', 'Mayenne'), + ('54', 'Meurthe-et-Moselle'), + ('55', 'Meuse'), + ('56', 'Morbihan'), + ('57', 'Moselle'), + ('58', 'Nièvre'), + ('59', 'Nord'), + ('60', 'Oise'), + ('61', 'Orne'), + ('62', 'Pas-de-Calais'), + ('63', 'Puy-de-Dôme'), + ('64', 'Pyrénées-Atlantiques'), + ('65', 'Hautes-Pyrénées'), + ('66', 'Pyrénées-Orientales'), + ('67', 'Bas-Rhin'), + ('68', 'Haut-Rhin'), + ('69', 'Rhône'), + ('70', 'Haute-Saône'), + ('71', 'Saône-et-Loire'), + ('72', 'Sarthe'), + ('73', 'Savoie'), + ('74', 'Haute-Savoie'), + ('75', 'Paris'), + ('76', 'Seine-Maritime'), + ('77', 'Seine-et-Marne'), + ('78', 'Yvelines'), + ('79', 'Deux-Sèvres'), + ('80', 'Somme'), + ('81', 'Tarn'), + ('82', 'Tarn-et-Garonne'), + ('83', 'Var'), + ('84', 'Vaucluse'), + ('85', 'Vendée'), + ('86', 'Vienne'), + ('87', 'Haute-Vienne'), + ('88', 'Vosges'), + ('89', 'Yonne'), + ('90', 'Territoire de Belfort'), + ('91', 'Essonne'), + ('92', 'Hauts-de-Seine'), + ('93', 'Seine-Saint-Denis'), + ('94', 'Val-de-Marne'), + ("95", "Val-d'Oise"), + ('971', 'Guadeloupe'), + ('972', 'Martinique'), + ('976', 'Mayotte'), + ('973', 'Guyane'), + ('974', 'La Réunion'), + ('975', 'Saint-Pierre-et-Miquelon'), + ('988', 'Nouvelle-Calédonie'), + ) + + CHOIX_TYPE_OSM = ( + ("node", "Nœud (Node)"), + ("way", "Chemin (Way)"), + ("relation", "Relation (Relation)"), + ) CHOIX_PROPRIETAIRE = ( ("commune", "Commune"), @@ -190,8 +192,7 @@ class Orgue(models.Model): ('bon', "Bon : jouable, défauts mineurs"), ('altere', "Altéré : difficilement jouable"), ('degrade', "Dégradé ou en ruine : injouable"), - ('restauration', "En restauration (ou projet initié)"), - ('disparu', 'Disparu') + ('restauration', "En restauration (ou projet initié)") ) CHOIX_QUALIFICATION_PALISSY = ( @@ -690,15 +691,15 @@ class Meta: verbose_name = "Plan sonore" -class Localisation(models.Model): +class Provenance(models.Model): edifice = models.CharField(max_length=300) commune = models.CharField(max_length=100) - departement = models.CharField(verbose_name="Département", choices=[(c[1], c[1]) for c in CHOIX_DEPARTEMENT], + departement = models.CharField(verbose_name="Département", choices=[(c[1], c[1]) for c in Orgue.CHOIX_DEPARTEMENT], max_length=50) - code_departement = models.CharField(choices=[(c[0], c[0]) for c in CHOIX_DEPARTEMENT], + code_departement = models.CharField(choices=[(c[0], c[0]) for c in Orgue.CHOIX_DEPARTEMENT], verbose_name="Code département", max_length=3) - region = models.CharField(verbose_name="Région", choices=CHOIX_REGION, max_length=50) - osm_type = models.CharField(choices=CHOIX_TYPE_OSM, verbose_name="Type OpenStreetMap", max_length=20, null=True, + region = models.CharField(verbose_name="Région", choices=Orgue.CHOIX_REGION, max_length=50) + osm_type = models.CharField(choices=Orgue.CHOIX_TYPE_OSM, verbose_name="Type OpenStreetMap", max_length=20, null=True, blank=True, help_text="Type OSM de l'objet représenant l'édifice.", default="way") osm_id = models.CharField(verbose_name="Id OpenStreetMap", max_length=20, null=True, blank=True, help_text="Identifiant OSM de l'objet décrivant l'édifice.") @@ -741,7 +742,7 @@ class Evenement(models.Model): annee = models.IntegerField(verbose_name="Année de début de l'évènement") annee_fin = models.IntegerField(verbose_name="Année de fin de l'évènement", null=True, blank=True, help_text="Optionnelle") - localisation = models.ForeignKey(Localisation, on_delete=models.CASCADE, blank=True, null=True, verbose_name="Ancienne localisation") + provenance = models.ForeignKey(Provenance, on_delete=models.CASCADE, blank=True, null=True, verbose_name="Provenance") circa = models.BooleanField(default=False, verbose_name="Cocher si dates approximatives") type = models.CharField(max_length=20, choices=CHOIX_TYPE) facteurs = models.ManyToManyField(Facteur, blank=True, related_name="evenements") diff --git a/orgues/templates/orgues/evenement_form.html b/orgues/templates/orgues/evenement_form.html index 98fcd00..8b633f5 100644 --- a/orgues/templates/orgues/evenement_form.html +++ b/orgues/templates/orgues/evenement_form.html @@ -9,31 +9,31 @@ {% block js_extra_2 %} {% include 'orgues/facteur_create_modal.html' %} - {% include 'orgues/localisation_create_modal.html' %} + {% include 'orgues/provenance_create_modal.html' %} diff --git a/orgues/templates/orgues/orgue_detail.html b/orgues/templates/orgues/orgue_detail.html index 1c5f55a..2660f9c 100644 --- a/orgues/templates/orgues/orgue_detail.html +++ b/orgues/templates/orgues/orgue_detail.html @@ -403,7 +403,7 @@
Facteur(s) : {{ evenement.facteurs.all|join:', ' }}
{% endif %} {% if evenement.type == 'deplacement' and evenement.localisation.osm_id %} {% with 'https://www.openstreetmap.org/way/'|add:evenement.localisation.osm_id as lien_osm %}Ancien emplacement : {{ evenement.localisation }}
{% endwith %} {% endif %}" + "text": "{% if evenement.resume %}{{ evenement.resume|linebreaksbr|safe|escapejs}}{% endif %}{% if evenement.facteurs.count %}Facteur(s) : {{ evenement.facteurs.all|join:', ' }}
{% endif %} {% if evenement.type == 'deplacement' and evenement.provenance.osm_id and evenement.provenance.osm_type %} {% with 'https://www.openstreetmap.org/'|add:evenement.provenance.osm_type|add:'/'|add:evenement.provenance.osm_id as lien_osm %}Provenance : {{ evenement.provenance }}
{% endwith %} {% endif %}" } }, {% endfor %} diff --git a/orgues/templates/orgues/localisation_create_modal.html b/orgues/templates/orgues/provenance_create_modal.html similarity index 67% rename from orgues/templates/orgues/localisation_create_modal.html rename to orgues/templates/orgues/provenance_create_modal.html index aec3204..ff7f481 100644 --- a/orgues/templates/orgues/localisation_create_modal.html +++ b/orgues/templates/orgues/provenance_create_modal.html @@ -1,21 +1,27 @@ -