Skip to content

Commit

Permalink
Merge pull request #721 from inventaire-des-orgues/dates_facteurs
Browse files Browse the repository at this point in the history
Ajout de deux champs pour indiquer les dates de naissance et de mort …
  • Loading branch information
GwilhermPoullennec authored Feb 5, 2024
2 parents 3bc8341 + ef6fdaa commit 1e1baa2
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
28 changes: 28 additions & 0 deletions orgues/migrations/0068_auto_20240205_1836.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Generated by Django 3.1.14 on 2024-02-05 18:36

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('orgues', '0067_auto_20231103_1430'),
]

operations = [
migrations.AddField(
model_name='facteur',
name='annee_deces',
field=models.IntegerField(blank=True, null=True, verbose_name='Année de décès'),
),
migrations.AddField(
model_name='facteur',
name='annee_naissance',
field=models.IntegerField(blank=True, null=True, verbose_name='Année de naissance'),
),
migrations.AlterField(
model_name='orgue',
name='etat',
field=models.CharField(blank=True, choices=[('tres_bon', 'Très bon, tout à fait jouable'), ('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')], help_text="Se rapporte au fait que l'orgue est jouable ou non.", max_length=20, null=True),
),
]
17 changes: 17 additions & 0 deletions orgues/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,27 @@ class Facteur(models.Model):
nom = models.CharField(max_length=100)
latitude_atelier = models.FloatField(null=True, blank=True, verbose_name="Latitude de l'atelier")
longitude_atelier = models.FloatField(null=True, blank=True, verbose_name="Longitude de l'atelier")
annee_naissance = models.IntegerField(verbose_name="Année de naissance", null=True, blank=True)
annee_deces = models.IntegerField(verbose_name="Année de décès", null=True, blank=True)
updated_by_user = models.ForeignKey(User, null=True, editable=False, on_delete=models.SET_NULL)

def __str__(self):
return self.nom

def nom_dates(self):
if self.annee_deces is None and self.annee_naissance is None:
return self.nom
else:
if self.annee_naissance is None:
annee_naissance = "?"
else:
annee_naissance = self.annee_naissance
if self.annee_deces is None:
annee_deces = "?"
else:
annee_deces = self.annee_deces

return "{} ({} - {}) ".format(self.nom, annee_naissance, annee_deces)

class Meta:
ordering = ['latitude_atelier']
Expand Down
5 changes: 2 additions & 3 deletions orgues/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ def get_context_data(self, **kwargs):
queryset = Facteur.objects.all().order_by("nom")
facteurs = []
for facteur in queryset:
facteurs.append({"nom":facteur.nom, "pk":facteur.pk})
facteurs.append({"nom":facteur.nom_dates(), "pk":facteur.pk})
context["facteurs"] = facteurs
return context

Expand Down Expand Up @@ -780,8 +780,7 @@ def render_to_response(self, context, **response_kwargs):
more = context["page_obj"].number < context["paginator"].num_pages
if context["object_list"]:
for u in context["object_list"]:
# results = [{"id": u.id, "text": u.nom} for u in context["object_list"]]
results.append({"id": u.id, "text": u.nom})
results.append({"id": u.id, "text": u.nom_dates()})
return JsonResponse({"results": results, "pagination": {"more": more}})


Expand Down

0 comments on commit 1e1baa2

Please sign in to comment.