]> git.ozlabs.org Git - patchwork/commitdiff
[views] Allow Order class to be user-editable
authorJeremy Kerr <jk@ozlabs.org>
Sun, 8 Feb 2009 03:00:11 +0000 (14:00 +1100)
committerJeremy Kerr <jk@ozlabs.org>
Sun, 8 Feb 2009 03:00:11 +0000 (14:00 +1100)
This can be enabled with the editable_order parameter to
generic_list

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/utils.py
apps/patchwork/views/__init__.py

index 07c71e21b87b77aa2907fb7e2087bdb89982e698..63daa85c541fd77a845a3e9a952222cd827e5742 100644 (file)
@@ -48,8 +48,12 @@ class Order(object):
     }
     default_order = ('date', True)
 
-    def __init__(self, str = None):
+    def __init__(self, str = None, editable = False):
         self.reversed = False
+        self.editable = editable
+
+        if self.editable:
+            return
 
         if str is None or str == '':
             (self.order, self.reversed) = self.default_order
@@ -114,7 +118,7 @@ def set_bundle(user, project, action, data, patches, context):
 
     for patch in patches:
         if action == 'create' or action == 'add':
-            bundle.patches.add(patch)
+            bundle.append_patch(patch)
 
         elif action == 'remove':
             bundle.patches.remove(patch)
index 4aadce4ac1a8a7d5a311e06cfc0673799db42631..3f50380632afc4528a4f275781c195a164f6b566 100644 (file)
@@ -24,14 +24,15 @@ from patchwork.paginator import Paginator
 from patchwork.forms import MultiplePatchForm
 
 def generic_list(request, project, view,
-        view_args = {}, filter_settings = [], patches = None):
+        view_args = {}, filter_settings = [], patches = None,
+        editable_order = False):
 
     context = PatchworkRequestContext(request,
             list_view = view,
             list_view_params = view_args)
 
     context.project = project
-    order = Order(request.REQUEST.get('order'))
+    order = Order(request.REQUEST.get('order'), editable = editable_order)
 
     form = MultiplePatchForm(project)
 
@@ -75,7 +76,8 @@ def generic_list(request, project, view,
         patches = Patch.objects.filter(project=project)
 
     patches = context.filters.apply(patches)
-    patches = patches.order_by(order.query())
+    if not editable_order:
+        patches = patches.order_by(order.query())
 
     paginator = Paginator(request, patches)