Browse Source

[beeswax] Clone copy to a new owner option

Romain Rigaux 11 years ago
parent
commit
7316408352
2 changed files with 8 additions and 2 deletions
  1. 4 2
      apps/beeswax/src/beeswax/models.py
  2. 4 0
      apps/beeswax/src/beeswax/views.py

+ 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})