Pārlūkot izejas kodu

[beeswax] Clone copy to a new owner option

Romain Rigaux 11 gadi atpakaļ
vecāks
revīzija
7316408352

+ 4 - 2
apps/beeswax/src/beeswax/models.py

@@ -251,8 +251,10 @@ class SavedQuery(models.Model):
       # data is empty
       pass
 
-  def clone(self):
-    design = SavedQuery(type=self.type, owner=self.owner)
+  def clone(self, new_owner=None):
+    if new_owner is None:
+      new_owner = self.owner
+    design = SavedQuery(type=self.type, owner=new_owner)
     design.data = self.data
     design.name = self.name
     design.desc = self.desc

+ 4 - 0
apps/beeswax/src/beeswax/views.py

@@ -184,6 +184,10 @@ def clone_design(request, design_id):
     return list_designs(request)
 
   copy = design.clone(request.user)
+  copy.save()
+  copy_doc = design.doc.get().copy(owner=request.user)
+  copy.doc.all().delete()
+  copy.doc.add(copy_doc)
 
   messages.info(request, _('Copied design: %(name)s') % {'name': design.name})