SILENCED_SYSTEM_CHECKS = ['fields.W342',]
ADMIN_MENU_ORDER = (
- (_('Content'), ('pages.Page', 'blog.BlogPost', 'mezzanine_agenda.Event',
- 'generic.ThreadedComment', (_('Media Library'), 'fb_browse'),)),
- (_("Magazine"), ("magazine.Article",)),
- (_('team'), ('organization.team.Organization', 'organization.team.Team',
- 'organization.team.Department', 'organization.team.Person',
- 'organization.team.Activity')),
- (_('Projects'), ('organization.project.Project')),
- (_('Festival'), ('organization.festival.Artist', 'organization.festival.Video',
- 'organization.festival.Audio', 'organization.festival.Playlist',
- 'organization.festival.Featured', 'mezzanine_agenda.EventLocation',
- 'mezzanine_agenda.EventCategory', 'mezzanine_agenda.EventPrice',
- 'festival.PageCategory',)),
+ (_('Content'), ('pages.Page', 'blog.BlogPost', (_('Media Library'), 'fb_browse'), 'featured.Featured', "generic.ThreadedComment",)),
+ (_('Events'), ('mezzanine_agenda.Event', 'mezzanine_agenda.EventLocation', 'mezzanine_agenda.EventCategory', 'mezzanine_agenda.EventPrice',)),
+ (_('Magazine'), ('magazine.Article', 'magazine.Brief',)),
+ (_('Organization'), ('team.Organization', 'team.Team', 'team.Department', 'team.Person', 'team.Activity',)),
+ (_('Projects'), ('project.Project',)),
+ (_('Festival'), ('festival.Artist',)),
(_('Users'), ('auth.User', 'auth.Group',)),
(_('Site'), ('sites.Site', 'redirects.Redirect', 'conf.Setting')),
)
from django import forms
from copy import deepcopy
from mezzanine.core.admin import DisplayableAdmin
-from organization.magazine.models import Brief
+from organization.magazine.models import Article, Brief
+
+
+class ArticleAdmin(admin.ModelAdmin):
+
+ model = Article
+
+
+class ArticleAdminDisplayable(DisplayableAdmin):
+
+ fieldsets = deepcopy(ArticleAdmin.fieldsets)
+
class BriefAdmin(admin.ModelAdmin):
fieldsets = deepcopy(BriefAdmin.fieldsets)
+
+admin.site.register(Article, ArticleAdminDisplayable)
admin.site.register(Brief, BriefAdminDisplayable)
+from copy import deepcopy
from django.contrib import admin
-from mezzanine.blog.admin import BlogPostAdmin
-from organization.magazine.models import Article
+from organization.project.models import Project
#from custom.admin import SubTitleAdmin
-from copy import deepcopy
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):
+class ProjectAdmin(admin.ModelAdmin):
+
+ model = Project
- model = Article
+class ProjectAdminDisplayable(DisplayableAdmin):
-class ArticleAdminDisplayable(DisplayableAdmin):
+ fieldsets = deepcopy(ProjectAdmin.fieldsets)
- fieldsets = deepcopy(ArticleAdmin.fieldsets)
-admin.site.register(Article, ArticleAdminDisplayable)
+admin.site.register(Project, ProjectAdminDisplayable)
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-07-13 13:01
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import mezzanine.core.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organization project', '0002_auto_20160707_1053'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='project',
+ name='content_en',
+ field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'),
+ ),
+ migrations.AddField(
+ model_name='project',
+ name='content_fr',
+ field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'),
+ ),
+ migrations.AddField(
+ model_name='project',
+ name='description_en',
+ field=models.TextField(blank=True, null=True, verbose_name='Description'),
+ ),
+ migrations.AddField(
+ model_name='project',
+ name='description_fr',
+ field=models.TextField(blank=True, null=True, verbose_name='Description'),
+ ),
+ migrations.AddField(
+ model_name='project',
+ name='title_en',
+ field=models.CharField(max_length=500, null=True, verbose_name='Title'),
+ ),
+ migrations.AddField(
+ model_name='project',
+ name='title_fr',
+ field=models.CharField(max_length=500, null=True, verbose_name='Title'),
+ ),
+ ]
--- /dev/null
+from modeltranslation.translator import translator, register, TranslationOptions
+
+from organization.project.models import *
+
+
+@register(Project)
+class ProjectTranslationOptions(TranslationOptions):
+
+ fields = ('title', 'description', 'content')
from django.contrib import admin
+from django import forms
+from copy import deepcopy
+from mezzanine.core.admin import DisplayableAdmin, BaseDynamicInlineAdmin, BaseTranslationModelAdmin
+from organization.team.models import *
-# Register your models here.
+
+
+class ActivityInline(admin.StackedInline):
+
+ model = Activity
+ extras = 3
+
+
+class PersonAdmin(admin.ModelAdmin):
+
+ model = Person
+
+
+class PersonAdminDisplayable(DisplayableAdmin):
+
+ fieldsets = deepcopy(PersonAdmin.fieldsets)
+ inlines = [ActivityInline,]
+
+
+admin.site.register(Organization)
+admin.site.register(OrganizationType)
+admin.site.register(Department)
+admin.site.register(Team)
+admin.site.register(Person, PersonAdminDisplayable)
+admin.site.register(Activity)
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-07-13 13:04
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import mezzanine.core.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organization team', '0002_auto_20160707_1614'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='activity',
+ old_name='work',
+ new_name='description',
+ ),
+ migrations.RemoveField(
+ model_name='person',
+ name='content',
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='content',
+ field=mezzanine.core.fields.RichTextField(default='', verbose_name='Content'),
+ preserve_default=False,
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='content_en',
+ field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'),
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='content_fr',
+ field=mezzanine.core.fields.RichTextField(null=True, verbose_name='Content'),
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='description_en',
+ field=models.TextField(blank=True, null=True, verbose_name='work'),
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='description_fr',
+ field=models.TextField(blank=True, null=True, verbose_name='work'),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='description_en',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='description_fr',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='name_en',
+ field=models.CharField(max_length=512, null=True, verbose_name='name'),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='name_fr',
+ field=models.CharField(max_length=512, null=True, verbose_name='name'),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='description_en',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='description_fr',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='bio_en',
+ field=mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='bio_fr',
+ field=mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='biography'),
+ ),
+ migrations.AddField(
+ model_name='team',
+ name='description_en',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='team',
+ name='description_fr',
+ field=models.TextField(blank=True, null=True, verbose_name='description'),
+ ),
+ migrations.AddField(
+ model_name='team',
+ name='name_en',
+ field=models.CharField(max_length=512, null=True, verbose_name='name'),
+ ),
+ migrations.AddField(
+ model_name='team',
+ name='name_fr',
+ field=models.CharField(max_length=512, null=True, verbose_name='name'),
+ ),
+ ]
return u"Team"
-class Person(Displayable, RichText, AdminThumbMixin, Photo):
+class Person(Displayable, AdminThumbMixin, Photo):
"""(Person description)"""
user = models.ForeignKey(User, verbose_name=_('user'), blank=True, null=True, on_delete=models.SET_NULL)
return self.name
-class Activity(models.Model):
+class Activity(RichText):
"""(Activity description)"""
person = models.ForeignKey('Person', verbose_name=_('person'))
date_begin = models.DateField(_('begin date'), null=True, blank=True)
date_end = models.DateField(_('end date'), null=True, blank=True)
role = models.CharField(_('role'), blank=True, max_length=512)
- work = models.TextField(_('work'), blank=True)
+ description = models.TextField(_('work'), blank=True)
def __unicode__(self):
return ' - '.join((self.person, self.role, self.date_begin, self.date_end))
--- /dev/null
+from modeltranslation.translator import translator, register, TranslationOptions
+
+from organization.team.models import *
+
+
+@register(Organization)
+class OrganizationTranslationOptions(TranslationOptions):
+
+ fields = ('description',)
+
+
+@register(Department)
+class DepartmentTranslationOptions(TranslationOptions):
+
+ fields = ('name', 'description',)
+
+
+@register(Team)
+class TeamTranslationOptions(TranslationOptions):
+
+ fields = ('name', 'description',)
+
+
+@register(Person)
+class PersonTranslationOptions(TranslationOptions):
+
+ fields = ('bio',)
+
+
+@register(Activity)
+class ActivityTranslationOptions(TranslationOptions):
+
+ fields = ('description', 'content')
#!/bin/sh
-docker-compose run app /srv/app/manage.py makemigrations
+docker-compose run app python /srv/app/manage.py makemigrations
#!/bin/sh
-docker-compose run app /srv/app/manage.py migrate
+docker-compose run app python /srv/app/manage.py migrate