pdlzbs/core/models.py

52 lines
1.7 KiB
Python

from django.db import models
from admin_ordering.models import OrderableModel
from filebrowser.fields import FileBrowseField
from django.urls.base import reverse_lazy
from db.calendar.models import Calendar
from db.membership.models import Membership
# Create your models here.
class Button(OrderableModel):
published = models.BooleanField('Przycisk opublikowany', default=True)
title = models.CharField('Tekst na przycisku', max_length=50)
href = models.CharField('Link', max_length=50)
blank = models.BooleanField('Otwórz w nowej karcie')
def __str__(self):
return self.title or '-'
@property
def link(self):
h = self.href
c = None
if h == reverse_lazy('calendar'):
c = Calendar.get_current()
elif h in reverse_lazy('membership') and h != '/':
c = Membership.get_current()
return h + (('#' + str(c.year)) if c is not None else '')
class Meta(OrderableModel.Meta):
verbose_name = 'Przycisk nawigacji (zielony)'
verbose_name_plural = 'Przyciski nawigacji (zielone)'
class UpperButton(OrderableModel):
published = models.BooleanField('Przycisk opublikowany', default=True)
title = models.CharField('Tytuł przycisku', max_length=50)
photo = FileBrowseField(
'Ikona', directory='gorneprzyciski/', max_length=200, blank=True)
href = models.CharField('Link', max_length=50)
blank = models.BooleanField('Otwórz w nowej karcie')
def __str__(self):
return self.title or '-'
class Meta(OrderableModel.Meta):
verbose_name = 'Przycisk górny (łabs, atu, itd...)'
verbose_name_plural = 'Przyciski górne (łabs, atu, itd...)'