parent
0d4d6b5e9b
commit
d74e1abd67
@ -663,7 +663,7 @@ class SelectEventInList(Form):
|
|||||||
class MergeDuplicates(Form):
|
class MergeDuplicates(Form):
|
||||||
required_css_class = "required"
|
required_css_class = "required"
|
||||||
|
|
||||||
checkboxes_fields = ["reference_urls", "description", "tags"]
|
checkboxes_fields = ["reference_urls", "description", "tags", "organisers"]
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self.duplicates = kwargs.pop("duplicates", None)
|
self.duplicates = kwargs.pop("duplicates", None)
|
||||||
|
@ -48,23 +48,27 @@ def update_duplicate_event(request, pk, epk):
|
|||||||
if len(values) != 0:
|
if len(values) != 0:
|
||||||
if isinstance(values[0], str):
|
if isinstance(values[0], str):
|
||||||
setattr(event, f["key"], "\n".join(values))
|
setattr(event, f["key"], "\n".join(values))
|
||||||
|
elif (
|
||||||
|
values[0].__class__.__name__ == "ManyRelatedManager"
|
||||||
|
):
|
||||||
|
rels = set()
|
||||||
|
for v in values:
|
||||||
|
rels.update(v.all())
|
||||||
|
getattr(event, f["key"]).set(rels)
|
||||||
else:
|
else:
|
||||||
setattr(event, f["key"], sum(values, []))
|
setattr(event, f["key"], sum(values, []))
|
||||||
else:
|
else:
|
||||||
if f["key"] == "organisers":
|
setattr(
|
||||||
event.organisers.set(selected.organisers.all())
|
event,
|
||||||
else:
|
f["key"],
|
||||||
|
getattr(selected, f["key"]),
|
||||||
|
)
|
||||||
|
if f["key"] == "image":
|
||||||
setattr(
|
setattr(
|
||||||
event,
|
event,
|
||||||
f["key"],
|
"local_image",
|
||||||
getattr(selected, f["key"]),
|
getattr(selected, "local_image"),
|
||||||
)
|
)
|
||||||
if f["key"] == "image":
|
|
||||||
setattr(
|
|
||||||
event,
|
|
||||||
"local_image",
|
|
||||||
getattr(selected, "local_image"),
|
|
||||||
)
|
|
||||||
|
|
||||||
event.other_versions.fix(event)
|
event.other_versions.fix(event)
|
||||||
event.save()
|
event.save()
|
||||||
@ -116,6 +120,12 @@ def merge_duplicate(request, pk):
|
|||||||
else:
|
else:
|
||||||
if isinstance(values[0], str):
|
if isinstance(values[0], str):
|
||||||
new_event_data[f["key"]] = "\n".join(values)
|
new_event_data[f["key"]] = "\n".join(values)
|
||||||
|
elif values[0].__class__.__name__ == "ManyRelatedManager":
|
||||||
|
new_event_data[f["key"]] = values[0]
|
||||||
|
rels = set()
|
||||||
|
for v in values:
|
||||||
|
rels.update(v.all())
|
||||||
|
new_event_data[f["key"]].set(rels)
|
||||||
else:
|
else:
|
||||||
new_event_data[f["key"]] = sum(values, [])
|
new_event_data[f["key"]] = sum(values, [])
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user