@@ -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,11 +48,15 @@ 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:
 | 
					 | 
				
			||||||
                            if f["key"] == "organisers":
 | 
					 | 
				
			||||||
                                event.organisers.set(selected.organisers.all())
 | 
					 | 
				
			||||||
                        else:
 | 
					                        else:
 | 
				
			||||||
                            setattr(
 | 
					                            setattr(
 | 
				
			||||||
                                event,
 | 
					                                event,
 | 
				
			||||||
@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user