Browse Source

Pass crud titles on the context

pull/249/head
Marcio Mazza 9 years ago
parent
commit
75ec30549d
  1. 25
      crud.py
  2. 12
      crud_tests/templates/base.html
  3. 2
      crud_tests/test_flux.py
  4. 8
      templates/base.html
  5. 6
      templates/crud/confirm_delete.html
  6. 1
      templates/crud/detail.html

25
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

12
crud_tests/templates/base.html

@ -24,11 +24,15 @@
{% block base_header %}
<div class="clearfix">
{% block title %}
{% if view.title %}
<h1 class="page-header">{{ view.title|linebreaksbr }}</h1>
{% block title %}
<h1 class="page-header">
{% if title %}
{{ title|safe|linebreaksbr }}
{% elif object %}
{{ object|safe|linebreaksbr }}
{% endif %}
{% endblock %}
</h1>
{% endblock %}
</div>
{% endblock base_header %}

2
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"

8
templates/base.html

@ -155,10 +155,10 @@
{% block title %}
<h1 class="page-header">
{% if view.title %}
{{ view.title|safe|linebreaksbr }}
{% else %}
{{ title|safe|linebreaksbr }}
{% if title %}
{{ title|safe|linebreaksbr }}
{% elif object %}
{{ object|safe|linebreaksbr }}
{% endif %}
</h1>
{% endblock %}

6
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 %}
<form action="" method="post">{% csrf_token %}
<div class="panel panel-danger">

1
templates/crud/detail.html

@ -3,7 +3,6 @@
{% block base_content %}
{# FIXME is this the best markup to use? #}
<div class="clearfix">
{% block actions %}
<div class="actions btn-group pull-right" role="group">

Loading…
Cancel
Save