From e36442fdd43b99a274164d18a792b3e2a197ca14 Mon Sep 17 00:00:00 2001 From: Rui Manuel da Silva Martins Date: Tue, 12 May 2015 18:00:43 +0100 Subject: [PATCH] Version 0.0.2 --- README.rst | 34 +++++++++------- dist/wagtail-modeltranslation-0.0.2.tar.gz | Bin 0 -> 3434 bytes setup.py | 2 +- wagtail_modeltranslation.egg-info/PKG-INFO | 37 ++++++++++-------- wagtail_modeltranslation.egg-info/SOURCES.txt | 1 + .../js/translated_slugs.js | 16 ++++++++ wagtail_modeltranslation/translation.py | 6 ++- wagtail_modeltranslation/translation.pyc | Bin 696 -> 776 bytes wagtail_modeltranslation/wagtail_hooks.py | 26 ++++++++++++ wagtail_modeltranslation/wagtail_hooks.pyc | Bin 0 -> 1345 bytes 10 files changed, 89 insertions(+), 33 deletions(-) create mode 100644 dist/wagtail-modeltranslation-0.0.2.tar.gz create mode 100644 wagtail_modeltranslation/static/wagtail_modeltranslation/js/translated_slugs.js create mode 100644 wagtail_modeltranslation/wagtail_hooks.py create mode 100644 wagtail_modeltranslation/wagtail_hooks.pyc diff --git a/README.rst b/README.rst index ec81872..aeb093b 100644 --- a/README.rst +++ b/README.rst @@ -1,28 +1,32 @@ -===== -WAGTAIL MODELTRANSLATION ADAPTATION -===== +# WAGTAIL MODELTRANSLATION ADAPTATION Simple app containing a mixin model that integrates modeltranslation (https://github.com/deschler/django-modeltranslation) into wagtail panels system. -Quick start ------------ +## Quick start 1. Add "wagtail_modeltranslation" to your INSTALLED_APPS setting like this:: - INSTALLED_APPS = ( - ... - 'wagtail_modeltranslation', - **YOUR APPS** - ) + INSTALLED_APPS = ( + ... + 'wagtail_modeltranslation', + **YOUR APPS** + ) 2. Use TranslationMixin to integrate django-modeltranslation with Wagtail admin: - from wagtail_modeltranslation.models import TranslationMixin + from wagtail_modeltranslation.models import TranslationMixin + class FooModel(Page, TranslationMixin): + foo = models.CharField() + FooModel.panels = [...] - class FooModel(Page, TranslationMixin): - foo = models.CharField() +3. Visit django-modeltranslation for documentation - http://django-modeltranslation.readthedocs.org/en/latest/ - FooModel.panels = [...] -2. Visit django-modeltranslation for documentation - http://django-modeltranslation.readthedocs.org/en/latest/ \ No newline at end of file +## Release Notes: + +### v0.0.2 + +**Features**: + +- Prepopulated fields now works for translated fields (title and slug) diff --git a/dist/wagtail-modeltranslation-0.0.2.tar.gz b/dist/wagtail-modeltranslation-0.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cb6f462b07efeb488482acd4ec7a30b2dd4c3cb0 GIT binary patch literal 3434 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 M|2m}5kN|i909YH{sQ>@~ literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index 4b05554..23a4600 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup( name='wagtail-modeltranslation', - version='0.0.1', + version='0.0.2', packages=['wagtail_modeltranslation'], include_package_data=True, license='BSD License', diff --git a/wagtail_modeltranslation.egg-info/PKG-INFO b/wagtail_modeltranslation.egg-info/PKG-INFO index 0d8d2ed..32dd6b0 100644 --- a/wagtail_modeltranslation.egg-info/PKG-INFO +++ b/wagtail_modeltranslation.egg-info/PKG-INFO @@ -1,39 +1,44 @@ Metadata-Version: 1.1 Name: wagtail-modeltranslation -Version: 0.0.1 +Version: 0.0.2 Summary: Integration of django-modeltranslation with Wagtail CMS Home-page: UNKNOWN Author: Rui Martins Author-email: rmartins16@gmail.com License: BSD License -Description: ===== - WAGTAIL MODELTRANSLATION ADAPTATION - ===== +Description: # WAGTAIL MODELTRANSLATION ADAPTATION Simple app containing a mixin model that integrates modeltranslation (https://github.com/deschler/django-modeltranslation) into wagtail panels system. - Quick start - ----------- + ## Quick start 1. Add "wagtail_modeltranslation" to your INSTALLED_APPS setting like this:: - INSTALLED_APPS = ( - ... - 'wagtail_modeltranslation', - **YOUR APPS** - ) + INSTALLED_APPS = ( + ... + 'wagtail_modeltranslation', + **YOUR APPS** + ) 2. Use TranslationMixin to integrate django-modeltranslation with Wagtail admin: - from wagtail_modeltranslation.models import TranslationMixin + from wagtail_modeltranslation.models import TranslationMixin + class FooModel(Page, TranslationMixin): + foo = models.CharField() + FooModel.panels = [...] - class FooModel(Page, TranslationMixin): - foo = models.CharField() + 3. Visit django-modeltranslation for documentation - http://django-modeltranslation.readthedocs.org/en/latest/ - FooModel.panels = [...] - 2. Visit django-modeltranslation for documentation - http://django-modeltranslation.readthedocs.org/en/latest/ + ## Release Notes: + + ### v0.0.2 + + **Features**: + + - Prepopulated fields now works for translated fields (title and slug) + Platform: UNKNOWN Classifier: Environment :: Web Environment Classifier: Framework :: Django diff --git a/wagtail_modeltranslation.egg-info/SOURCES.txt b/wagtail_modeltranslation.egg-info/SOURCES.txt index 46021b1..2097771 100644 --- a/wagtail_modeltranslation.egg-info/SOURCES.txt +++ b/wagtail_modeltranslation.egg-info/SOURCES.txt @@ -7,6 +7,7 @@ wagtail_modeltranslation/models.py wagtail_modeltranslation/tests.py wagtail_modeltranslation/translation.py wagtail_modeltranslation/views.py +wagtail_modeltranslation/wagtail_hooks.py wagtail_modeltranslation.egg-info/PKG-INFO wagtail_modeltranslation.egg-info/SOURCES.txt wagtail_modeltranslation.egg-info/dependency_links.txt diff --git a/wagtail_modeltranslation/static/wagtail_modeltranslation/js/translated_slugs.js b/wagtail_modeltranslation/static/wagtail_modeltranslation/js/translated_slugs.js new file mode 100644 index 0000000..972f625 --- /dev/null +++ b/wagtail_modeltranslation/static/wagtail_modeltranslation/js/translated_slugs.js @@ -0,0 +1,16 @@ +$(document).ready(function() { + $.each(langs, function(idx, lang_code){ + $('#id_title_'+lang_code).on('focus', function() { + console.log('focus'); + $('#id_slug_'+lang_code).data('previous-val', $('#id_slug_'+lang_code).val()); + $(this).data('previous-val', $(this).val()); + }); + + $('#id_title_'+lang_code).on('keyup keydown keypress blur', function() { + if ($('body').hasClass('create') || (!$('#id_slug_'+lang_code).data('previous-val').length || cleanForSlug($('#id_title_'+lang_code).data('previous-val')) === $('#id_slug_'+lang_code).data('previous-val'))) { + // only update slug if the page is being created from scratch, if slug is completely blank, or if title and slug prior to typing were identical + $('#id_slug_'+lang_code).val(cleanForSlug($('#id_title_'+lang_code).val())); + } + }); + }); +}); \ No newline at end of file diff --git a/wagtail_modeltranslation/translation.py b/wagtail_modeltranslation/translation.py index 2aa5f1d..915b435 100644 --- a/wagtail_modeltranslation/translation.py +++ b/wagtail_modeltranslation/translation.py @@ -7,6 +7,10 @@ from modeltranslation.translator import translator, TranslationOptions # regist wagtail Page model for translation class PageTR(TranslationOptions): - fields = ('title', 'slug') + fields = ( + 'title', + 'slug', + 'seo_title', + 'search_description',) translator.register(Page, PageTR) diff --git a/wagtail_modeltranslation/translation.pyc b/wagtail_modeltranslation/translation.pyc index d1783bdfdea6ba04d0f983b2f7f3a02ade05dd7e..d94d2840a299322f151f5d726d617993b9f70ae8 100644 GIT binary patch delta 188 zcmdnN+QG)o{F#?)m?zdI=|pk(wW00u~km^Ad}aGvZTHi<65o3raHc^EAM!;hKwKnu}317mH!n ZJz0QpH8%&)U^XTOMj)JgfblycI{@ajFLD3? delta 89 zcmeBR+ri4t{F#@_DcyM@`#w`91_lNvATH(u5~&OfQH%^JObk&>3_-yf%s`', + ((settings.STATIC_URL, filename) for filename in js_files) + ) + + lang_codes = [] + for lang in settings.LANGUAGES: + if lang[0] != settings.LANGUAGE_CODE: + lang_codes.append("'%s'" % lang[0]) + + js_languages = "" % (", ".join(lang_codes)) + + return format_html(js_languages) + js_includes \ No newline at end of file diff --git a/wagtail_modeltranslation/wagtail_hooks.pyc b/wagtail_modeltranslation/wagtail_hooks.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8bbc3fcdd02e2135a329216c41c69645104301ba GIT binary patch literal 1345 zcmchWOKaOe5P)YT+j+DBw=OA#QcNJkhhim%oa&f{B!oh6K~7q52||_DiWI%FvrbZC zozh$XWdB2dKs&Q``UvzIp&e;vXLo15nYDkcEPwC1CjrbKi@tAZpi3g8S3nAo2^a~; zEEriJ*lIy)Lso-PZKm6h)*)-ar~yJYAX$L02DbvjI(!BG87)HCfMI8WwvB(%)8Ui! zBNF36Wxn>#be8Jozq*$cao!Q^xkv(~)^Q%;%u*-ISy7y$Srz9fmG)#9>q2=6nvB?m z#~v^KMuO6b1XQ%2Ng}j4PKs~}uuoCm+E9@PKxM&o543>9g8kDisBD;$ZyjE+&4zOu z)HX~lNNSwdd~TJt5Et7(@5hi3EJ9LeCo->AHPGZ}s7wVsA9j`~o&h=}ulz{+aq4A7 zC{wNc98+J%MeZc%+^I73Fr7r$O%NH#GQJ|&!$8HQZlelz)^0Ydo2_cC-*aZxe!z~* z*`|R!cn#%x`i%1=28jR)W^BO+aY6Y3RfyLNOm$pSqGi&D$GgYx_Pi7KXjV3!=x&;t zjN?@1ekMC)0wWB1=d8%2bLmHvjdrf&=Ta4k47B5`ViNd~EJ|OU-`C0#o&UnPn=m!+ zmS2zo_9B_f>r(Z(bCBa|Kui*_Mq*