On garde l'ordre au moment d'intégrer des champs dans un dupliqué
Fix #317
This commit is contained in:
parent
d6b8ae1ca6
commit
2ace02a5b7
@ -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 += (
|
||||
'<li><a href="' + e.get_absolute_url() + '">' + e.title + "</a></li>"
|
||||
)
|
||||
result += (
|
||||
"<li>Création : " + localize(e.created_date) + "</li>"
|
||||
)
|
||||
result += (
|
||||
"<li>Dernière modification : "
|
||||
+ localize(e.modified_date)
|
||||
+ "</li>"
|
||||
)
|
||||
if e.imported_date:
|
||||
result += (
|
||||
"<li>Dernière importation : "
|
||||
+ localize(e.imported_date)
|
||||
+ "</li>"
|
||||
)
|
||||
for step in e.chronology_dates():
|
||||
if step["data"] == "created_date":
|
||||
result += '<li><em>Création</em> le ' + localize(step["timestamp"]) + ' par ' + str(step["user"]) + '</li>'
|
||||
if step["data"] == "modified_date":
|
||||
result += '<li><em>Dernière modification</em> le ' + localize(step["timestamp"])
|
||||
if e.modified_by_user:
|
||||
result += ' par ' + e.modified_by_user.username
|
||||
else:
|
||||
result += ' par import récurrent'
|
||||
result += '</li>'
|
||||
|
||||
if step["data"] == "moderated_date":
|
||||
result += '<li><em>Dernière modération</em> le ' + localize(step["timestamp"])
|
||||
if e.moderated_by_user:
|
||||
result += ' par ' + e.moderated_by_user.username
|
||||
result += '</li>'
|
||||
if step["data"] == "imported_date":
|
||||
result += '<li><em>Dernière importation</em> le ' + localize(step["timestamp"])
|
||||
if e.imported_by_user:
|
||||
result += ' par ' + e.imported_by_user.username
|
||||
else:
|
||||
result += ' par import récurrent'
|
||||
result += '</li>'
|
||||
|
||||
result += "</ul>"
|
||||
result += "</div>"
|
||||
result += "</div>"
|
||||
|
@ -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):
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
<article>
|
||||
<header>
|
||||
<h1>Mise à jour par sélection de champs</h1>
|
||||
<p>Vous allez mettre à jour la version <span class="badge-small">A</span> en sélectionnant
|
||||
<p>Vous allez mettre à jour la version <span class="badge-small">{{ event_id|int_to_abc }}</span> en sélectionnant
|
||||
pour chaque champ les valeurs des autres versions.</p>
|
||||
<p>La version ainsi créée mise à jour deviendra la version représentative.</p>
|
||||
|
||||
|
@ -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."))
|
||||
|
Loading…
x
Reference in New Issue
Block a user