diff options
-rw-r--r-- | patchwork/context_processors.py | 32 | ||||
-rw-r--r-- | patchwork/requestcontext.py | 6 | ||||
-rw-r--r-- | patchwork/templatetags/filter.py | 36 | ||||
-rw-r--r-- | patchwork/templatetags/listurl.py | 51 | ||||
-rw-r--r-- | patchwork/templatetags/order.py | 66 | ||||
-rw-r--r-- | patchwork/templatetags/patch.py | 42 | ||||
-rw-r--r-- | patchwork/templatetags/pwurl.py | 76 | ||||
-rw-r--r-- | templates/base.html | 1 |
8 files changed, 4 insertions, 306 deletions
diff --git a/patchwork/context_processors.py b/patchwork/context_processors.py deleted file mode 100644 index f4ab5a9..0000000 --- a/patchwork/context_processors.py +++ /dev/null @@ -1,32 +0,0 @@ -# Patchwork - automated patch tracking system -# Copyright (C) 2008 Jeremy Kerr <jk@ozlabs.org> -# -# This file is part of the Patchwork package. -# -# Patchwork is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Patchwork is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Patchwork; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -from patchwork.models import Bundle -from patchwork.utils import order_map, get_order - -def bundle(request): - user = request.user - if not user.is_authenticated(): - return {} - return {'bundles': Bundle.objects.filter(owner = user)} - - -def patchlists(request): - diff --git a/patchwork/requestcontext.py b/patchwork/requestcontext.py index 342d380..3652edc 100644 --- a/patchwork/requestcontext.py +++ b/patchwork/requestcontext.py @@ -30,12 +30,6 @@ def bundle(request): return {} return {'bundles': Bundle.objects.filter(owner = user)} -def _params_as_qs(params): - return '&'.join([ '%s=%s' % (escape(k), escape(v)) for k, v in params ]) - -def _params_as_hidden_fields(params): - return '\n'.join([ '<input type="hidden" name="%s" value="%s"/>' % \ - (escape(k), escape(v)) for k, v in params ]) class PatchworkRequestContext(RequestContext): def __init__(self, request, project = None, diff --git a/patchwork/templatetags/filter.py b/patchwork/templatetags/filter.py deleted file mode 100644 index 7a5d9df..0000000 --- a/patchwork/templatetags/filter.py +++ /dev/null @@ -1,36 +0,0 @@ -# Patchwork - automated patch tracking system -# Copyright (C) 2008 Jeremy Kerr <jk@ozlabs.org> -# -# This file is part of the Patchwork package. -# -# Patchwork is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Patchwork is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Patchwork; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -from django import template -from django.utils.html import escape - -import re - - -register = template.Library() - -@register.filter -def personify(person): - if person.name: - linktext = escape(person.name) - else: - linktext = escape(person.email) - - return '<a href="javascript:personpopup(\'%s\')">%s</a>' % (escape(person.email), linktext) - diff --git a/patchwork/templatetags/listurl.py b/patchwork/templatetags/listurl.py index 5fe03e4..6dbdd74 100644 --- a/patchwork/templatetags/listurl.py +++ b/patchwork/templatetags/listurl.py @@ -78,8 +78,8 @@ class ListURLNode(template.defaulttags.URLNode): def listurl(parser, token): bits = token.contents.split(' ', 1) if len(bits) < 1: - raise TemplateSyntaxError("'%s' takes at least one argument" - " (path to a view)" % bits[0]) + raise template.TemplateSyntaxError( + "'%s' takes at least one argument (path to a view)" % bits[0]) kwargs = {} if len(bits) > 1: for arg in bits[1].split(','): @@ -88,49 +88,6 @@ def listurl(parser, token): k = k.strip() kwargs[k] = parser.compile_filter(v) else: - raise TemplateSyntaxError("'%s' requires name=value params" \ - % bits[0]) + raise template.TemplateSyntaxError( + "'%s' requires name=value params" % bits[0]) return ListURLNode(kwargs) - -class ListFieldsNode(template.Node): - def __init__(self, params): - self.params = params - - def render(self, context): - self.view_name = template.Variable('list_view.view').resolve(context) - try: - qs_var = template.Variable('list_view.params') - params = dict(qs_var.resolve(context)) - except Exception: - pass - - params.update(self.params) - - if not params: - return '' - - str = '' - for (k, v) in params.iteritems(): - str += '<input type="hidden" name="%s" value="%s"\>' % \ - (k, escape(v)) - - return mark_safe(str) - -@register.tag -def listfields(parser, token): - bits = token.contents.split(' ', 1) - if len(bits) < 1: - raise TemplateSyntaxError("'%s' takes at least one argument" - " (path to a view)" % bits[0]) - params = {} - if len(bits) > 2: - for arg in bits[2].split(','): - if '=' in arg: - k, v = arg.split('=', 1) - k = k.strip() - params[k] = parser.compile_filter(v) - else: - raise TemplateSyntaxError("'%s' requires name=value params" \ - % bits[0]) - return ListFieldsNode(bits[1], params) - diff --git a/patchwork/templatetags/order.py b/patchwork/templatetags/order.py deleted file mode 100644 index e392f03..0000000 --- a/patchwork/templatetags/order.py +++ /dev/null @@ -1,66 +0,0 @@ -# Patchwork - automated patch tracking system -# Copyright (C) 2008 Jeremy Kerr <jk@ozlabs.org> -# -# This file is part of the Patchwork package. -# -# Patchwork is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Patchwork is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Patchwork; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -from django import template -import re - -register = template.Library() - -@register.tag(name = 'ifpatcheditable') -def do_patch_is_editable(parser, token): - try: - tag_name, name, cur_order = token.split_contents() - except ValueError: - raise template.TemplateSyntaxError("%r tag requires two arguments" \ - % token.contents.split()[0]) - - end_tag = 'endifpatcheditable' - nodelist_true = parser.parse([end_tag, 'else']) - - token = parser.next_token() - if token.contents == 'else': - nodelist_false = parser.parse([end_tag]) - parser.delete_first_token() - else: - nodelist_false = template.NodeList() - - return EditablePatchNode(patch_var, nodelist_true, nodelist_false) - -class EditablePatchNode(template.Node): - def __init__(self, patch_var, nodelist_true, nodelist_false): - self.nodelist_true = nodelist_true - self.nodelist_false = nodelist_false - self.patch_var = template.Variable(patch_var) - self.user_var = template.Variable('user') - - def render(self, context): - try: - patch = self.patch_var.resolve(context) - user = self.user_var.resolve(context) - except template.VariableDoesNotExist: - return '' - - if not user.is_authenticated(): - return self.nodelist_false.render(context) - - if not patch.is_editable(user): - return self.nodelist_false.render(context) - - return self.nodelist_true.render(context) diff --git a/patchwork/templatetags/patch.py b/patchwork/templatetags/patch.py index ea23ebd..57f289e 100644 --- a/patchwork/templatetags/patch.py +++ b/patchwork/templatetags/patch.py @@ -19,51 +19,9 @@ from django import template from django.utils.safestring import mark_safe -import re register = template.Library() -@register.tag(name = 'ifpatcheditable') -def do_patch_is_editable(parser, token): - try: - tag_name, patch_var = token.split_contents() - except ValueError: - raise template.TemplateSyntaxError("%r tag requires one argument" \ - % token.contents.split()[0]) - - end_tag = 'endifpatcheditable' - nodelist_true = parser.parse([end_tag, 'else']) - - token = parser.next_token() - if token.contents == 'else': - nodelist_false = parser.parse([end_tag]) - parser.delete_first_token() - else: - nodelist_false = template.NodeList() - - return EditablePatchNode(patch_var, nodelist_true, nodelist_false) - -class EditablePatchNode(template.Node): - def __init__(self, patch_var, nodelist_true, nodelist_false): - self.nodelist_true = nodelist_true - self.nodelist_false = nodelist_false - self.patch_var = template.Variable(patch_var) - self.user_var = template.Variable('user') - - def render(self, context): - try: - patch = self.patch_var.resolve(context) - user = self.user_var.resolve(context) - except template.VariableDoesNotExist: - return '' - - if not user.is_authenticated(): - return self.nodelist_false.render(context) - - if not patch.is_editable(user): - return self.nodelist_false.render(context) - - return self.nodelist_true.render(context) @register.filter(name='patch_tags') def patch_tags(patch): diff --git a/patchwork/templatetags/pwurl.py b/patchwork/templatetags/pwurl.py deleted file mode 100644 index 98bc1ca..0000000 --- a/patchwork/templatetags/pwurl.py +++ /dev/null @@ -1,76 +0,0 @@ -# Patchwork - automated patch tracking system -# Copyright (C) 2008 Jeremy Kerr <jk@ozlabs.org> -# -# This file is part of the Patchwork package. -# -# Patchwork is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Patchwork is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Patchwork; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -from django import template -from django.utils.html import escape -from django.utils.safestring import mark_safe -from patchwork.filters import filterclasses -import re - -register = template.Library() - -# params to preserve across views -list_params = [ c.param for c in filterclasses ] + ['order', 'page'] - -class ListURLNode(template.defaulttags.URLNode): - def __init__(self, *args, **kwargs): - super(ListURLNode, self).__init__(*args, **kwargs) - self.params = {} - for (k, v) in kwargs: - if k in list_params: - self.params[k] = v - - def render(self, context): - self.view_name = template.Variable('list_view.view') - str = super(ListURLNode, self).render(context) - if str == '': - return str - params = [] - try: - qs_var = template.Variable('list_view.params') - params = dict(qs_var.resolve(context)) - except Exception: - pass - - params.update(self.params) - - if not params: - return str - - return str + '?' + '&'.join(['%s=%s' % (k, escape(v)) \ - for (k, v) in params.iteritems()]) - -@register.tag -def listurl(parser, token): - bits = token.contents.split(' ', 1) - if len(bits) < 1: - raise TemplateSyntaxError("'%s' takes at least one argument" - " (path to a view)" % bits[0]) - args = [''] - kwargs = {} - if len(bits) > 1: - for arg in bits[2].split(','): - if '=' in arg: - k, v = arg.split('=', 1) - k = k.strip() - kwargs[k] = parser.compile_filter(v) - else: - args.append(parser.compile_filter(arg)) - return PatchworkURLNode(bits[1], args, kwargs) - diff --git a/templates/base.html b/templates/base.html index 3d289fb..c2053d4 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,5 +1,4 @@ {% load staticfiles %} -{% load pwurl %} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> |