From b6272710d8ef2f29e13cd07cbf8562a5aa7678fe Mon Sep 17 00:00:00 2001 From: Juan Funez Date: Mon, 31 Mar 2014 16:45:25 -0300 Subject: [PATCH 1/2] Melhoras para suportar override do parametro page em cada link a outra pagina MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - agora é possivel passar um parametro opcional: `` {% simple_pagination checkins_pending "page_alernative_name" %}`` ou também para pagination: `` {% pagination checkins_pending "page_alernative_name" %}`` que muda o parametro get na url para cada link a outra pagina. - removido estilos inline (``style='...'``) nos strings de HTML gerados no template tag, o certo é usar classes (``class="..."``) para separar a logica da presentação. - foi refeito parte do HTML gerado para que seja mais amigável com bootstrap, e baseado em classes facilita o trabalho de adaptar a interface. --- .../templatetags/scielo_common.py | 76 +++++++++++-------- scielo_extensions/tests/tests_tools.py | 22 +++--- 2 files changed, 56 insertions(+), 42 deletions(-) diff --git a/scielo_extensions/templatetags/scielo_common.py b/scielo_extensions/templatetags/scielo_common.py index 0dd7dda..f7ecbe1 100755 --- a/scielo_extensions/templatetags/scielo_common.py +++ b/scielo_extensions/templatetags/scielo_common.py @@ -23,8 +23,8 @@ def inner(parser, token): inner.__doc__ = inner.__doc__ return inner -def full_path(context, **params): - +def full_path(context, page_param_name='page', **params): + url_path = '' url_get = context['request'].GET.copy() @@ -32,10 +32,13 @@ def full_path(context, **params): url_path = context['request'].META['PATH_INFO'] for key, value in params.items(): + if key == 'page' and page_param_name and page_param_name.lower() != 'page': + key = page_param_name.lower() url_get[key] = value if len(url_get): - url_path += "?%s" % "&".join(("%s=%s" % (key, value) for key, value in url_get.items() if value)) + url_path += '&' if '?' in url_get else '?' + url_path += "%s" % "&".join(("%s=%s" % (key, value) for key, value in url_get.items() if value)) return url_path.encode('utf8') @@ -50,17 +53,17 @@ def render(self, context): letters = self.letters.resolve(context) selected = self.selected.resolve(context) - html_snippet = '''