From 75ec30549d9c1c3c4b5c33fc5e5f579e76d2e73d Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Tue, 8 Mar 2016 09:00:27 -0300 Subject: [PATCH] Pass crud titles on the context --- crud.py | 25 +++++++------------------ crud_tests/templates/base.html | 12 ++++++++---- crud_tests/test_flux.py | 2 +- templates/base.html | 8 ++++---- templates/crud/confirm_delete.html | 6 ------ templates/crud/detail.html | 1 - 6 files changed, 20 insertions(+), 34 deletions(-) diff --git a/crud.py b/crud.py index 1b4194739..57cfd2e22 100644 --- a/crud.py +++ b/crud.py @@ -88,10 +88,6 @@ class CrudListMixin(): paginate_by = 10 no_entries_msg = _('Nenhum registro encontrado.') - @property - def title(self): - return self.verbose_name_plural - def _as_row(self, obj): return [ (get_field_display(obj, name)[1], obj.pk if i == 0 else None) @@ -99,6 +95,7 @@ class CrudListMixin(): def get_context_data(self, **kwargs): context = super(CrudListMixin, self).get_context_data(**kwargs) + context.setdefault('title', self.verbose_name_plural) # pagination page_obj = context['page_obj'] @@ -128,11 +125,6 @@ class CrudCreateMixin(FormMessagesMixin): form_invalid_message = make_form_invalid_message( _('O registro não foi criado.')) - @property - def title(self): - return _('Adicionar %(verbose_name)s') % { - 'verbose_name': self.verbose_name} - @property def cancel_url(self): return self.list_url @@ -140,13 +132,14 @@ class CrudCreateMixin(FormMessagesMixin): def get_success_url(self): return self.detail_url + def get_context_data(self, **kwargs): + kwargs.setdefault('title', _('Adicionar %(verbose_name)s') % { + 'verbose_name': self.verbose_name}) + return super(CrudCreateMixin, self).get_context_data(**kwargs) + class CrudDetailMixin(): - - @property - def title(self): - # TODO: can we just use view.object in the templates???? - return str(self.object) + pass class CrudUpdateMixin(FormMessagesMixin): @@ -155,10 +148,6 @@ class CrudUpdateMixin(FormMessagesMixin): form_invalid_message = make_form_invalid_message( _('Suas alterações não foram salvas.')) - @property - def title(self): - return str(self.object) - @property def cancel_url(self): return self.detail_url diff --git a/crud_tests/templates/base.html b/crud_tests/templates/base.html index 75b4487c2..8a9dc002b 100644 --- a/crud_tests/templates/base.html +++ b/crud_tests/templates/base.html @@ -24,11 +24,15 @@ {% block base_header %}
- {% block title %} - {% if view.title %} -

{{ view.title|linebreaksbr }}

+ {% block title %} +

+ {% if title %} + {{ title|safe|linebreaksbr }} + {% elif object %} + {{ object|safe|linebreaksbr }} {% endif %} - {% endblock %} +

+ {% endblock %}
{% endblock base_header %} diff --git a/crud_tests/test_flux.py b/crud_tests/test_flux.py index 1c7cfef42..f60b2e6a0 100644 --- a/crud_tests/test_flux.py +++ b/crud_tests/test_flux.py @@ -148,7 +148,7 @@ def test_reverse(): def assert_h1(res, title): - assert res.html.find('main').find('h1').text == title + assert res.html.find('main').find('h1').text.strip() == title NO_ENTRIES_MSG = str(CrudListMixin.no_entries_msg) # "unlazy" diff --git a/templates/base.html b/templates/base.html index 94a6b4357..4c541d06f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -155,10 +155,10 @@ {% block title %}

- {% if view.title %} - {{ view.title|safe|linebreaksbr }} - {% else %} - {{ title|safe|linebreaksbr }} + {% if title %} + {{ title|safe|linebreaksbr }} + {% elif object %} + {{ object|safe|linebreaksbr }} {% endif %}

{% endblock %} diff --git a/templates/crud/confirm_delete.html b/templates/crud/confirm_delete.html index 703afe2a2..367f5857d 100644 --- a/templates/crud/confirm_delete.html +++ b/templates/crud/confirm_delete.html @@ -1,12 +1,6 @@ {% extends "base.html" %} {% load i18n %} -{% block title %} - {% with object as title %} - {{ block.super }} - {% endwith %} -{% endblock %} - {% block base_content %}
{% csrf_token %}
diff --git a/templates/crud/detail.html b/templates/crud/detail.html index f35d0d469..5eb502d19 100644 --- a/templates/crud/detail.html +++ b/templates/crud/detail.html @@ -3,7 +3,6 @@ {% block base_content %} - {# FIXME is this the best markup to use? #}
{% block actions %}