summaryrefslogtreecommitdiffstats
path: root/apps/patchwork
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2009-02-08 14:00:11 +1100
committerJeremy Kerr <jk@ozlabs.org>2009-02-08 14:00:11 +1100
commit6cf8d6e128b9117f10431eb9b534e9c8b1024cdf (patch)
tree676d813786b86dd01fadef9b4dfac692fc1cd754 /apps/patchwork
parentaca889fcc88b076ee03d01d33fb7ebc59ba1bfed (diff)
downloadpatchwork-6cf8d6e128b9117f10431eb9b534e9c8b1024cdf.tar.bz2
patchwork-6cf8d6e128b9117f10431eb9b534e9c8b1024cdf.tar.xz
[views] Allow Order class to be user-editable
This can be enabled with the editable_order parameter to generic_list Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'apps/patchwork')
-rw-r--r--apps/patchwork/utils.py8
-rw-r--r--apps/patchwork/views/__init__.py8
2 files changed, 11 insertions, 5 deletions
diff --git a/apps/patchwork/utils.py b/apps/patchwork/utils.py
index 07c71e2..63daa85 100644
--- a/apps/patchwork/utils.py
+++ b/apps/patchwork/utils.py
@@ -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)
diff --git a/apps/patchwork/views/__init__.py b/apps/patchwork/views/__init__.py
index 4aadce4..3f50380 100644
--- a/apps/patchwork/views/__init__.py
+++ b/apps/patchwork/views/__init__.py
@@ -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)