Moved club field + migrations

This commit is contained in:
gnikwo 2017-10-23 09:30:26 +02:00
parent 17d3860ec5
commit 693c3ed27e
No known key found for this signature in database
GPG Key ID: 7498D7DF2F867695
3 changed files with 46 additions and 3 deletions

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
('club', '0010_auto_20170912_2028'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('com', '0003_auto_20170115_2300'),
]
operations = [
migrations.CreateModel(
name='Poster',
fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
('name', models.CharField(verbose_name='name', max_length=128, default='')),
('file', models.ImageField(verbose_name='file', upload_to='com/posters')),
('date_begin', models.DateTimeField(default=django.utils.timezone.now)),
('date_end', models.DateTimeField(blank=True, null=True)),
('is_moderated', models.BooleanField(verbose_name='is moderated', default=False)),
('club', models.ForeignKey(verbose_name='club', related_name='posters', to='club.Club')),
('moderator', models.ForeignKey(verbose_name='moderator', blank=True, null=True, related_name='moderated_posters', to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Screen',
fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
('name', models.CharField(verbose_name='name', max_length=128)),
],
),
migrations.AddField(
model_name='poster',
name='screens',
field=models.ManyToManyField(related_name='posters', to='com.Screen'),
),
]

View File

@ -191,7 +191,6 @@ class WeekmailArticle(models.Model):
class Screen(models.Model):
name = models.CharField(_("name"), max_length=128)
club = models.ForeignKey(Club, related_name="screens", verbose_name=_("club"), null=False)
def active_posters(self):
now = timezone.now()
@ -206,6 +205,7 @@ class Screen(models.Model):
class Poster(models.Model):
name = models.CharField(_("name"), blank=False, null=False, max_length=128, default="")
file = models.ImageField(_("file"), null=False, upload_to="com/posters")
club = models.ForeignKey(Club, related_name="posters", verbose_name=_("club"), null=False)
screens = models.ManyToManyField(Screen, related_name="posters")
date_begin = models.DateTimeField(blank=False, null=False, default=timezone.now)
date_end = models.DateTimeField(blank=True, null=True)
@ -220,7 +220,7 @@ class Poster(models.Model):
def is_owned_by(self, user):
return user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID)
def can_moderate(self, user):
def can_be_moderated_by(self, user):
return user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID)
def __str__(self):

View File

@ -549,7 +549,7 @@ class PosterModerateView(IsComAdminMixin, ComTabsMixin, ModerateView):
"""Moderate communication poster"""
def get(self, request, *args, **kwargs):
obj = get_object_or_404(Poster, pk=kwargs['object_id'])
if obj.can_moderate(request.user):
if obj.can_be_moderated_by(request.user):
obj.is_moderated = True
obj.moderator = request.user
obj.save()