From: Emilie Date: Thu, 7 Jul 2016 09:35:46 +0000 (+0200) Subject: Task #73: adding article content type X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=c4926316a3a111c5c8a8a29a656560d2dfdce256;p=mezzo.git Task #73: adding article content type --- diff --git a/app/custom/admin.py b/app/custom/admin.py index 7ca39c30..c31ded9b 100644 --- a/app/custom/admin.py +++ b/app/custom/admin.py @@ -3,16 +3,22 @@ from copy import deepcopy from mezzanine.pages.models import Page from mezzanine.pages.admin import PageAdmin from mezzanine.pages.models import RichTextPage +from mezzanine.core.admin import DisplayableAdmin from custom.models import BasicPage -# page_fieldsets = deepcopy(PageAdmin.fieldsets) -# page_fieldsets[0][1]["fields"] += ("sub_title",) -# print(page_fieldsets[0][1]["fields"]) -# PageAdmin.fieldsets = page_fieldsets +# class SubTitleAdmin(DisplayableAdmin): +# """ +# Admin class for blog posts. +# return False + +#admin.site.register(SubTitle, DisplayableAdmin) + + +# class SubTitleAdmin(admin.ModelAdmin): # -# admin.site.unregister(RichTextPage) -# admin.site.register(RichTextPage, PageAdmin) +# model = SubTitle + admin.site.register(BasicPage, PageAdmin) diff --git a/app/custom/migrations/0005_auto_20160706_1803.py b/app/custom/migrations/0005_auto_20160706_1803.py new file mode 100644 index 00000000..13527baa --- /dev/null +++ b/app/custom/migrations/0005_auto_20160706_1803.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:03 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('custom', '0004_auto_20160705_1810'), + ] + + operations = [ + migrations.AlterField( + model_name='basicpage', + name='sub_title', + field=models.TextField(blank=True, max_length=1000, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='basicpage', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='basicpage', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/custom/migrations/0006_auto_20160706_1839.py b/app/custom/migrations/0006_auto_20160706_1839.py new file mode 100644 index 00000000..c8422e85 --- /dev/null +++ b/app/custom/migrations/0006_auto_20160706_1839.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:39 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('custom', '0005_auto_20160706_1803'), + ] + + operations = [ + migrations.RemoveField( + model_name='basicpage', + name='sub_title_en', + ), + migrations.RemoveField( + model_name='basicpage', + name='sub_title_fr', + ), + ] diff --git a/app/custom/migrations/0007_auto_20160706_1841.py b/app/custom/migrations/0007_auto_20160706_1841.py new file mode 100644 index 00000000..38bd79ba --- /dev/null +++ b/app/custom/migrations/0007_auto_20160706_1841.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('custom', '0006_auto_20160706_1839'), + ] + + operations = [ + migrations.AddField( + model_name='basicpage', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='basicpage', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/custom/migrations/0008_auto_20160707_1047.py b/app/custom/migrations/0008_auto_20160707_1047.py new file mode 100644 index 00000000..a781714d --- /dev/null +++ b/app/custom/migrations/0008_auto_20160707_1047.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-07 08:47 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('custom', '0007_auto_20160706_1841'), + ] + + operations = [ + migrations.AlterField( + model_name='basicpage', + name='sub_title', + field=models.CharField(blank=True, max_length=1000, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='basicpage', + name='sub_title_en', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='basicpage', + name='sub_title_fr', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/custom/models.py b/app/custom/models.py index fb186b19..922db293 100644 --- a/app/custom/models.py +++ b/app/custom/models.py @@ -5,15 +5,15 @@ from mezzanine.pages.models import Page, RichText from mezzanine.core.fields import RichTextField, OrderField, FileField from django.conf import settings + ALIGNMENT_CHOICES = (('left', _('left')), ('right', _('right'))) MEDIA_BASE_URL = getattr(settings, 'MEDIA_BASE_URL', 'http://medias.ircam.fr/embed/media/') -class SubTitle(models.Model): - - sub_title = models.TextField(_('sub title'), blank=True) - - class Meta: - abstract = True +# class SubTitle(models.Model): +# +# sub_title = models.TextField(_('sub title'), blank=True, max_length=1000) +# class Meta: +# abstract = True class BasicPage(Page, RichText): diff --git a/app/custom/translations.py b/app/custom/translations.py index cbc624c8..ee0ca35d 100644 --- a/app/custom/translations.py +++ b/app/custom/translations.py @@ -3,6 +3,10 @@ from mezzanine.pages.models import Page, RichText from mezzanine.pages.translation import TranslatedRichText from custom.models import BasicPage +# @register(SubTitle) +# class SubTitleTranslationOptions(TranslationOptions): +# +# fields = ('sub_title',) @register(BasicPage) class BasicPageTranslationOptions(TranslationOptions): diff --git a/app/local_settings.py b/app/local_settings.py index 5b6f5d61..6a46b456 100644 --- a/app/local_settings.py +++ b/app/local_settings.py @@ -78,10 +78,12 @@ SITE_TAGLINE = 'Festival 2 juin | 2 juillet 2016' SILENCED_SYSTEM_CHECKS = ['fields.W342',] ADMIN_MENU_ORDER = ( - (_("Content"), ("pages.Page", "blog.BlogPost", "mezzanine_agenda.Event", + (_("Content"), ("pages.Page", "mezzanine_agenda.Event", "festival.Artist", "festival.Video", "festival.Audio", "festival.Playlist", "festival.Featured", "generic.ThreadedComment", (_("Media Library"), "fb_browse"),)), + + (_("Magazine"), ("magazine.Article",)), (_("Site"), ("sites.Site", "redirects.Redirect", "conf.Setting")), (_("Users"), ("auth.User", "auth.Group",)), (_("Festival"), ("mezzanine_agenda.EventLocation", @@ -137,3 +139,6 @@ DEBUG_TOOLBAR_PANELS = [ 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', ] + +# slug +BLOG_SLUG = 'article' diff --git a/app/magazine/admin.py b/app/magazine/admin.py index 8c38f3f3..1ea6c2ff 100644 --- a/app/magazine/admin.py +++ b/app/magazine/admin.py @@ -1,3 +1,25 @@ from django.contrib import admin +from mezzanine.blog.admin import BlogPostAdmin +from magazine.models import Article +#from custom.admin import SubTitleAdmin +from copy import deepcopy -# Register your models here. +from django.contrib import admin +from django.utils.translation import ugettext_lazy as _ +from mezzanine.core.admin import DisplayableAdmin, OwnableAdmin + +# class ArticleAdmin(BlogPostAdmin, SubTitleAdmin): +# +# model = Article + +#admin.site.register(Article, BlogPostAdmin) +class ArticleAdmin(admin.ModelAdmin): + + model = Article + + +class ArticleAdminDisplayable(DisplayableAdmin): + + fieldsets = deepcopy(ArticleAdmin.fieldsets) + +admin.site.register(Article, ArticleAdminDisplayable) diff --git a/app/magazine/migrations/0001_initial.py b/app/magazine/migrations/0001_initial.py new file mode 100644 index 00000000..bf9fec82 --- /dev/null +++ b/app/magazine/migrations/0001_initial.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 15:50 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('blog', '0003_auto_20151223_1313'), + ] + + operations = [ + migrations.CreateModel( + name='Article', + fields=[ + ('blogpost_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='blog.BlogPost')), + ], + options={ + 'abstract': False, + }, + bases=('blog.blogpost',), + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'category', + }, + ), + migrations.CreateModel( + name='Topic', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=512, verbose_name='name')), + ('description', models.TextField(blank=True, verbose_name='description')), + ], + options={ + 'verbose_name': 'topic', + }, + ), + ] diff --git a/app/magazine/migrations/0002_article_sub_title.py b/app/magazine/migrations/0002_article_sub_title.py new file mode 100644 index 00000000..7cf39221 --- /dev/null +++ b/app/magazine/migrations/0002_article_sub_title.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:07 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='sub_title', + field=models.TextField(blank=True, max_length=1000, verbose_name='sub title'), + ), + ] diff --git a/app/magazine/migrations/0003_auto_20160706_1810.py b/app/magazine/migrations/0003_auto_20160706_1810.py new file mode 100644 index 00000000..8085487e --- /dev/null +++ b/app/magazine/migrations/0003_auto_20160706_1810.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:10 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0002_article_sub_title'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='article', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/magazine/migrations/0004_auto_20160706_1820.py b/app/magazine/migrations/0004_auto_20160706_1820.py new file mode 100644 index 00000000..6c8cba82 --- /dev/null +++ b/app/magazine/migrations/0004_auto_20160706_1820.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:20 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0003_auto_20160706_1810'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={'verbose_name': 'article'}, + ), + ] diff --git a/app/magazine/migrations/0005_auto_20160706_1831.py b/app/magazine/migrations/0005_auto_20160706_1831.py new file mode 100644 index 00000000..5835bf9f --- /dev/null +++ b/app/magazine/migrations/0005_auto_20160706_1831.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:31 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0004_auto_20160706_1820'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={}, + ), + ] diff --git a/app/magazine/migrations/0006_auto_20160706_1839.py b/app/magazine/migrations/0006_auto_20160706_1839.py new file mode 100644 index 00000000..4123d5be --- /dev/null +++ b/app/magazine/migrations/0006_auto_20160706_1839.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:39 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0005_auto_20160706_1831'), + ] + + operations = [ + migrations.RemoveField( + model_name='article', + name='sub_title_en', + ), + migrations.RemoveField( + model_name='article', + name='sub_title_fr', + ), + ] diff --git a/app/magazine/migrations/0007_auto_20160706_1841.py b/app/magazine/migrations/0007_auto_20160706_1841.py new file mode 100644 index 00000000..19d320f3 --- /dev/null +++ b/app/magazine/migrations/0007_auto_20160706_1841.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0006_auto_20160706_1839'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='sub_title_en', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='article', + name='sub_title_fr', + field=models.TextField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/magazine/migrations/0008_auto_20160706_1852.py b/app/magazine/migrations/0008_auto_20160706_1852.py new file mode 100644 index 00000000..d3c2b121 --- /dev/null +++ b/app/magazine/migrations/0008_auto_20160706_1852.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-06 16:52 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0007_auto_20160706_1841'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={'verbose_name': 'article'}, + ), + ] diff --git a/app/magazine/migrations/0009_auto_20160707_1047.py b/app/magazine/migrations/0009_auto_20160707_1047.py new file mode 100644 index 00000000..cf8c6f75 --- /dev/null +++ b/app/magazine/migrations/0009_auto_20160707_1047.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-07 08:47 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0008_auto_20160706_1852'), + ] + + operations = [ + migrations.AlterField( + model_name='article', + name='sub_title', + field=models.CharField(blank=True, max_length=1000, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='article', + name='sub_title_en', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AlterField( + model_name='article', + name='sub_title_fr', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/magazine/migrations/0010_auto_20160707_1115.py b/app/magazine/migrations/0010_auto_20160707_1115.py new file mode 100644 index 00000000..99f5b9c0 --- /dev/null +++ b/app/magazine/migrations/0010_auto_20160707_1115.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-07 09:24 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0009_auto_20160707_1047'), + ] + + operations = [ + migrations.RemoveField( + model_name='article', + name='sub_title_en', + ), + migrations.RemoveField( + model_name='article', + name='sub_title_fr', + ), + ] diff --git a/app/magazine/migrations/0011_auto_20160707_1125.py b/app/magazine/migrations/0011_auto_20160707_1125.py new file mode 100644 index 00000000..44cb3285 --- /dev/null +++ b/app/magazine/migrations/0011_auto_20160707_1125.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-07 09:25 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('magazine', '0010_auto_20160707_1115'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='sub_title_en', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + migrations.AddField( + model_name='article', + name='sub_title_fr', + field=models.CharField(blank=True, max_length=1000, null=True, verbose_name='sub title'), + ), + ] diff --git a/app/magazine/models.py b/app/magazine/models.py index 267d5cdf..8384c5f8 100644 --- a/app/magazine/models.py +++ b/app/magazine/models.py @@ -1,8 +1,18 @@ from __future__ import unicode_literals - from django.db import models +from django.utils.translation import ugettext_lazy as _ +from django.core.urlresolvers import reverse, reverse_lazy +from mezzanine.blog.models import BlogPost +from organization.models import BaseNameModel + +class Article(BlogPost): + sub_title = models.CharField(_('sub title'), blank=True, max_length=1000) + class Meta: + verbose_name = _('article') + +# concert, spectacle etc.... class Category(BaseNameModel): """(Category description)""" @@ -12,7 +22,7 @@ class Category(BaseNameModel): def __unicode__(self): return self.name - +# rubrique du magazine class Topic(BaseNameModel): """(Topic description)""" diff --git a/app/magazine/translations.py b/app/magazine/translations.py new file mode 100644 index 00000000..ba743be2 --- /dev/null +++ b/app/magazine/translations.py @@ -0,0 +1,13 @@ +from modeltranslation.translator import translator, register, TranslationOptions +from mezzanine.pages.models import Page, RichText +from modeltranslation.translator import TranslationOptions +from mezzanine.core.translation import (TranslatedSlugged, + TranslatedDisplayable, + TranslatedRichText) +from magazine.models import Article + +@register(Article) +#class ArticleTranslationOptions(TranslatedDisplayable, TranslatedRichText): +class ArticleTranslationOptions(TranslationOptions): + + fields = ('sub_title',) diff --git a/app/settings.py b/app/settings.py index 18b8e05f..6a388f91 100644 --- a/app/settings.py +++ b/app/settings.py @@ -221,6 +221,7 @@ INSTALLED_APPS = [ "mezzanine.accounts", # "mezzanine.mobile", # "eve", + "magazine", 'djangobower', "meta", "mezzanine_agenda", @@ -248,6 +249,7 @@ MIGRATION_MODULES = { MODELTRANSLATION_TRANSLATION_FILES = ( 'custom.translations', + 'magazine.translations', 'translations', )