Kod źródłowy modułu petycja_norweskie.campaigns.models

# coding=utf-8
from django.contrib.sites.models import Site
from django.db import models
from django.utils.translation import ugettext_lazy as _
# Create your models here.
from model_utils.models import TimeStampedModel

from petycja_norweskie.themes.models import Theme
from petycja_norweskie.users.models import User


class CampaignQuerySet(models.QuerySet):
    def for_admin(self, user: User):
        if user.is_superuser:
            return self
        return self.filter(users=user)


[dokumenty]class Campaign(TimeStampedModel): name = models.CharField(verbose_name=_("Name"), max_length=100) organizer = models.CharField(verbose_name=_("Organizer"), max_length=250, help_text=_("Person or organization responsible for campaign organization")) theme = models.ForeignKey(Theme, on_delete=models.CASCADE) site = models.ForeignKey(Site, verbose_name=_("Site"), help_text=_("Sites used in campaign"), on_delete=models.CASCADE) site_title = models.CharField(verbose_name=_("Name"), max_length=150) site_subtitle = models.CharField(verbose_name=_("Subtitle"), max_length=150) users = models.ManyToManyField(to=User, verbose_name=_("Users"), help_text=_("Users responsive to manage of campaign")) show_title = models.BooleanField(default=True, help_text=_("Show title of petition")) objects = CampaignQuerySet.as_manager() class Meta: verbose_name = _("Campaign") verbose_name_plural = _("Campaigns") ordering = ['created', ] def __str__(self): return self.name