from django.db import models from admin_ordering.models import OrderableModel # Create your models here. class Post(models.Model): title = models.CharField('Tytuł', max_length=250) content = models.TextField('Treść') created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title class Meta: verbose_name = 'Ogłoszenie' verbose_name_plural = 'Ogłoszenia' ordering = ['-created_at'] class AttachmentModel(models.Model): year = models.IntegerField('Rok', blank=True, null=True) title = models.CharField('Tytuł', max_length=250) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title class Meta: abstract = True ordering = ['-created_at'] class SingletonModel(models.Model): class Meta: abstract = True def save(self, *args, **kwargs): self.pk = 1 super(SingletonModel, self).save(*args, **kwargs) def delete(self, *args, **kwargs): pass @classmethod def load(cls): obj, created = cls.objects.get_or_create(pk=1) return obj class AdministrationStatute(AttachmentModel): attachment = models.FileField('Plik pdf', upload_to='statutes') class Meta: verbose_name = 'Zarząd - Statut' verbose_name_plural = 'Zarząd - Statuty' class AdministrationAnnouncement(AttachmentModel): attachment = models.FileField('Plik pdf', upload_to='announcements') class Meta: verbose_name = 'Zarząd - Ogłoszenie' verbose_name_plural = 'Zarząd - Ogłoszenia' class AdministrationProtocol(AttachmentModel): attachment = models.FileField('Plik pdf', upload_to='protocols') class Meta: verbose_name = 'Zarząd - Protokół / Uchwała' verbose_name_plural = 'Zarząd - Protokoły / Uchwały' class AdministrationRegulation(AttachmentModel): attachment = models.FileField('Plik pdf', upload_to='regulations') class Meta: verbose_name = 'Zarząd - Regulamin' verbose_name_plural = 'Zarząd - Regulaminy' class AdministrationMember(OrderableModel): name = models.CharField('Imię i nazwisko', max_length=512) contact = models.CharField('Dane kontaktowe', max_length=512) function = models.CharField('Funkcja', max_length=512) def __str__(self): return f'{self.function} - {self.name}' class Meta(OrderableModel.Meta): verbose_name = 'Zarząd - Członek' verbose_name_plural = 'Zarząd - Członkowie' class Membership(models.Model): year = models.IntegerField('Rok', primary_key=True) attachment = models.FileField('Plik pdf', upload_to='skladki') def __str__(self): return f'Składki członkowskie {self.year}' class Meta: verbose_name = 'Składka członkowska' verbose_name_plural = 'Składki członkowskie' ordering = ['-year'] class League(models.Model): year = models.IntegerField('Rok', primary_key=True) link = models.CharField('Link do wyników', max_length=512) def __str__(self): return f'III Liga {self.year}' class Meta: verbose_name = 'Wyniki III Ligi' verbose_name_plural = 'Wyniki III Ligi' ordering = ['-year'] class Calendar(models.Model): year = models.IntegerField('Rok', primary_key=True) content = models.TextField('Kalendarz') def __str__(self): return f'Kalendarz {self.year}' class Meta: verbose_name = 'Kalendarz' verbose_name_plural = 'Kalendarze' ordering = ['-year'] class GrandPrix(SingletonModel): content = models.TextField('Tekst GPB') def __str__(self): return 'Grand Prix Białegostoku' class Meta: verbose_name = 'Grand Prix Białegostoku' verbose_name_plural = 'Grand Prix Białegostoku' class RODO(models.Model): who = models.CharField( 'Przez kogo przetwarzane dane osobowe?', max_length=512) attachment = models.FileField('Plik pdf', upload_to='rodo') def __str__(self): return f'RODO - {self.who}' class Meta: verbose_name = 'Dokument RODO' verbose_name_plural = 'Dokumenty RODO'