From e59aa99f4b58a1a6a0c73b37efc0d7597ebc0705 Mon Sep 17 00:00:00 2001 From: Rui Martins Date: Thu, 7 Jan 2016 15:04:19 +0000 Subject: [PATCH] Preparing version 0.4.4 --- CHANGELOG.txt | 3 +++ PKG-INFO | 2 +- setup.py | 2 +- wagtail_modeltranslation/models.py | 20 +++++++++++++------- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d88bacd..c51baa6 100755 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,6 @@ +v0.4.4: +- Fix issue related to Django 1.9.x + v0.4.3: - Fixed bug when editing a page and parent url path of some language is None. diff --git a/PKG-INFO b/PKG-INFO index df31706..b787d57 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: wagtail-modeltranslation -Version: 0.4.3 +Version: 0.4.4 Summary: Translates Wagtail CMS models using a registration approach. Home-page: https://github.com/infoportugal/wagtail-modeltranslation Author: Diogo Marques, Eduardo Nogueira, Rui Martins diff --git a/setup.py b/setup.py index c575247..951cc40 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from distutils.core import setup setup( name='wagtail-modeltranslation', - version='0.4.3', + version='0.4.4', description='Translates Wagtail CMS models using a registration approach.', long_description=( 'The modeltranslation application can be used to translate dynamic ' diff --git a/wagtail_modeltranslation/models.py b/wagtail_modeltranslation/models.py index 057d01f..f2d928a 100755 --- a/wagtail_modeltranslation/models.py +++ b/wagtail_modeltranslation/models.py @@ -414,11 +414,18 @@ class TranslationMixin(object): @classmethod def _patch_inlinepanel(cls, instance, panel): relation = getattr(instance.__class__, panel.relation_name) - inline_panels = getattr(relation.related.model, 'panels', []) + + related_fieldname = 'related' + try: - inline_model_tr_fields = translator.get_options_for_model( - getattr(instance.__class__, panel.relation_name).related.model - ).fields + inline_panels = getattr(getattr(relation, related_fieldname).model, 'panels', []) + except AttributeError: + related_fieldname = 'rel' + inline_panels = getattr(getattr(relation, related_fieldname).model, 'panels', []) + + try: + model = getattr(getattr(instance.__class__, panel.relation_name), related_fieldname).model + inline_model_tr_fields = translator.get_options_for_model(model).fields except NotRegistered: return None @@ -427,8 +434,7 @@ class TranslationMixin(object): for item in cls._patch_fieldpanel(inlinepanel, inline_model_tr_fields): translated_inline.append(item) - getattr(instance.__class__, panel.relation_name).related.model.panels =\ - translated_inline + model.panels = translated_inline @transaction.atomic # only commit when all descendants are properly updated def move(self, target, pos=None): @@ -465,7 +471,7 @@ class TranslationMixin(object): tr_slug = getattr(self, 'slug_'+settings.LANGUAGE_CODE) if\ hasattr(self, 'slug_'+settings.LANGUAGE_CODE) else\ getattr(self, 'slug') - + if hasattr(parent, 'url_path_'+lang[0]) and getattr(parent, 'url_path_'+lang[0]) is not None: parent_url_path = getattr(parent, 'url_path_'+lang[0]) else: