diff --git a/src/agenda_culturel/forms.py b/src/agenda_culturel/forms.py
index 88a0a75..f73ff7b 100644
--- a/src/agenda_culturel/forms.py
+++ b/src/agenda_culturel/forms.py
@@ -574,9 +574,10 @@ class MergeDuplicates(Form):
if self.event:
- choices = [("event_" + str(self.event.pk), _("Value of the selected version"))] + \
- [
- ("event_" + str(e.pk), _("Value of version {}").format(e.pk)) for e in self.events if e != self.event
+ choices = [
+ ("event_" + str(e.pk), _("Value of version {}").format(e.pk)) if e != self.event else
+ ("event_" + str(e.pk), _("Value of the selected version"))
+ for e in self.events
]
else:
choices = [
@@ -603,20 +604,30 @@ class MergeDuplicates(Form):
result += (
'
' + e.title + ""
)
- result += (
- "Création : " + localize(e.created_date) + ""
- )
- result += (
- "Dernière modification : "
- + localize(e.modified_date)
- + ""
- )
- if e.imported_date:
- result += (
- "Dernière importation : "
- + localize(e.imported_date)
- + ""
- )
+ for step in e.chronology_dates():
+ if step["data"] == "created_date":
+ result += 'Création le ' + localize(step["timestamp"]) + ' par ' + str(step["user"]) + ''
+ if step["data"] == "modified_date":
+ result += 'Dernière modification le ' + localize(step["timestamp"])
+ if e.modified_by_user:
+ result += ' par ' + e.modified_by_user.username
+ else:
+ result += ' par import récurrent'
+ result += ''
+
+ if step["data"] == "moderated_date":
+ result += 'Dernière modération le ' + localize(step["timestamp"])
+ if e.moderated_by_user:
+ result += ' par ' + e.moderated_by_user.username
+ result += ''
+ if step["data"] == "imported_date":
+ result += 'Dernière importation le ' + localize(step["timestamp"])
+ if e.imported_by_user:
+ result += ' par ' + e.imported_by_user.username
+ else:
+ result += ' par import récurrent'
+ result += ''
+
result += ""
result += ""
result += ""
diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py
index f060af0..06c33cf 100644
--- a/src/agenda_culturel/models.py
+++ b/src/agenda_culturel/models.py
@@ -432,6 +432,12 @@ class DuplicatedEvents(models.Model):
msgs.append(m)
return msgs
+ def get_event_index(self, event):
+ for i, e in enumerate(self.get_duplicated()):
+ if e.pk == event.pk:
+ return i
+ return -1
+
class ReferenceLocation(models.Model):
diff --git a/src/agenda_culturel/templates/agenda_culturel/update_duplicate.html b/src/agenda_culturel/templates/agenda_culturel/update_duplicate.html
index de94b05..293fd8a 100644
--- a/src/agenda_culturel/templates/agenda_culturel/update_duplicate.html
+++ b/src/agenda_culturel/templates/agenda_culturel/update_duplicate.html
@@ -14,7 +14,7 @@
Mise à jour par sélection de champs
- Vous allez mettre à jour la version A en sélectionnant
+
Vous allez mettre à jour la version {{ event_id|int_to_abc }} en sélectionnant
pour chaque champ les valeurs des autres versions.
La version ainsi créée mise à jour deviendra la version représentative.
diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py
index 8664060..98a12fe 100644
--- a/src/agenda_culturel/views.py
+++ b/src/agenda_culturel/views.py
@@ -1519,7 +1519,7 @@ def update_duplicate_event(request, pk, epk):
return render(
request,
"agenda_culturel/update_duplicate.html",
- context={"form": form, "object": edup, "event": event},
+ context={"form": form, "object": edup, "event_id": edup.get_event_index(event)},
)
@@ -1648,7 +1648,7 @@ def fix_duplicate(request, pk):
else:
form = FixDuplicates(edup=edup)
elif form.is_action_update():
- # otherwise, a new event will be created using a merging process
+ # otherwise, an event will be updated using other elements
event = form.get_selected_event(edup)
if event is None:
messages.error(request, _("The selected item is no longer included in the list of duplicates. Someone else has probably modified the list in the meantime."))