import re
import datetime
-try:
- from email.mime.nonmultipart import MIMENonMultipart
- from email.encoders import encode_7or8bit
- from email.parser import HeaderParser
- from email.header import Header
- import email.utils
-except ImportError:
- # Python 2.4 compatibility
- from email.MIMENonMultipart import MIMENonMultipart
- from email.Encoders import encode_7or8bit
- from email.Parser import HeaderParser
- from email.Header import Header
- import email.Utils
- email.utils = email.Utils
+from email.mime.nonmultipart import MIMENonMultipart
+from email.encoders import encode_7or8bit
+from email.parser import HeaderParser
+from email.header import Header
+import email.utils
def generic_list(request, project, view,
view_args = {}, filter_settings = [], patches = None,
list_view_params = view_args)
context.project = project
- order = Order(request.REQUEST.get('order'), editable = editable_order)
+ data = {}
+ if request.method == 'GET':
+ data = request.GET
+ elif request.method == 'POST':
+ data = request.POST
+ order = Order(data.get('order'), editable=editable_order)
# Explicitly set data to None because request.POST will be an empty dict
# when the form is not submitted, but passing a non-None data argument to
# a forms.Form will make it bound and we don't want that to happen unless
# there's been a form submission.
- data = None
- if request.method == 'POST':
- data = request.POST
+ if request.method != 'POST':
+ data = None
user = request.user
properties_form = None
if project.is_editable(user):
if patches is None:
patches = Patch.objects.filter(project=project)
+ # annotate with tag counts
+ patches = patches.with_tag_counts(project)
+
patches = context.filters.apply(patches)
if not editable_order:
patches = order.apply(patches)
# but we will need to follow the state and submitter relations for
# rendering the list template
- patches = patches.select_related('state', 'submitter')
+ patches = patches.select_related('state', 'submitter', 'delegate')
paginator = Paginator(request, patches)