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']
