From 60d0f6523162aa915fb5a9211fe89c144a20357e Mon Sep 17 00:00:00 2001 From: Dmitriy Sintsov Date: Mon, 16 Nov 2015 15:22:48 +0300 Subject: [PATCH] forms.UnchangableModelMixin is used in DisplayModelMetaclass to set form.has_changed() result to False. bs_breadcrumbs() Jinja2 macro offers optional title kwarg. bs_inline_formsets() Jinja2 macro now offers caller() sections for begin / end of each formset / form in formset. models.get_verbose_name() now supports foreign key fields specified as strings like 'action__type'. common.css support to highlight current hash as id of element. Better naming for conditional display css classes. Support for bs_breadcrumbs() title kwarg in views.ListSortingView. --- django_jinja_knockout/forms.py | 8 ++++++++ django_jinja_knockout/jinja2/bs_breadcrumbs.htm | 5 ++++- django_jinja_knockout/jinja2/bs_inline_formsets.htm | 5 ++++- django_jinja_knockout/models.py | 11 +++++++---- django_jinja_knockout/static/css/front/common.css | 9 +++++++-- django_jinja_knockout/views.py | 2 ++ 6 files changed, 32 insertions(+), 8 deletions(-) diff --git a/django_jinja_knockout/forms.py b/django_jinja_knockout/forms.py index 791969dc..1251d36e 100644 --- a/django_jinja_knockout/forms.py +++ b/django_jinja_knockout/forms.py @@ -35,11 +35,19 @@ def display_model_formfield_callback(db_field, **kwargs): return db_field.formfield(**defaults) +class UnchangableModelMixin(): + + def has_changed(self): + # Display forms never change. + return False + + # Metaclass used to create read-only forms (display models). # class DisplayModelMetaclass(ModelFormMetaclass): def __new__(mcs, name, bases, attrs): if attrs is None: attrs = {} + bases = bases + (UnchangableModelMixin,) attrs.update({'formfield_callback': display_model_formfield_callback}) return ModelFormMetaclass.__new__(mcs, name, bases, attrs) diff --git a/django_jinja_knockout/jinja2/bs_breadcrumbs.htm b/django_jinja_knockout/jinja2/bs_breadcrumbs.htm index 556f1b0c..9119c028 100644 --- a/django_jinja_knockout/jinja2/bs_breadcrumbs.htm +++ b/django_jinja_knockout/jinja2/bs_breadcrumbs.htm @@ -1,5 +1,8 @@ -{% macro bs_breadcrumbs(navs) -%} +{% macro bs_breadcrumbs(title=None, navs) -%}