pdlzbs/db/membership/models.py

36 lines
1.1 KiB
Python

from django.db import models
from tinymce.models import HTMLField
from db.help import buttons_help_text
# Create your models here.
class Membership(models.Model):
published = models.BooleanField('Wpis opublikowany', default=True)
year = models.IntegerField('Rok', primary_key=True)
content = HTMLField('Treść', default='', blank=True)
buttons = models.TextField(
'Przyciski', default='', blank=True, help_text=buttons_help_text)
current = models.BooleanField(
'Aktualne składki (pokazywane przy przekierowaniu na stronę)', default=False)
@staticmethod
def get_current():
return Membership.objects.filter(current=True).first()
def save(self, *args, **kwargs):
if self.current is True:
Membership.objects.exclude(year=self.year).update(current=False)
super(Membership, self).save(*args, **kwargs)
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']