from django.urls import reverse
from django.utils.html import mark_safe
from django.utils.timezone import utc
-from django.utils.translation import override
+from django.utils.translation import gettext_lazy as _, override
from catalogue.models import Book
from catalogue.utils import get_random_hash
from polls.models import Poll
class Spent(models.Model):
""" Some of the remaining money spent on a book. """
- book = models.ForeignKey(Book, models.PROTECT, null=True, blank=True)
- link = models.URLField(blank=True, help_text='zamiast książki, np. kolekcja')
+ book = models.ForeignKey(
+ Book, models.PROTECT, null=True, blank=True,
+ verbose_name='książka',
+ help_text='Książka, na którą zostały wydatkowane środki. '
+ 'Powinny tu być uwzględnione zarówno książki na które zbierano środki, jak i dodatkowe książki '
+ 'sfinansowane z nadwyżek ze zbiórek.'
+ )
+ link = models.URLField(
+ blank=True,
+ help_text="Jeśli wydatek nie dotyczy pojedynczej książki, to zamiast pola „Książka” "
+ "powinien zostać uzupełniony link do sfinansowanego obiektu (np. kolekcji)."
+ )
amount = models.DecimalField('kwota', decimal_places=2, max_digits=10)
timestamp = models.DateField('kiedy')
- annotation = models.CharField('adnotacja', max_length=255, blank=True, help_text="np. 'audiobook'")
+ annotation = models.CharField(
+ 'adnotacja', max_length=255, blank=True,
+ help_text="Adnotacja pojawi się w nawiasie w rozliczeniu, by wyjaśnić sytuację w której "
+ "do tej samej książki może być przypisany więcej niż jeden wydatek. "
+ "Np. osobny wydatek na audiobook może mieć adnotację „audiobook”.")
class Meta:
verbose_name = 'pieniądze wydane na książkę'
ordering = ['-timestamp']
def __str__(self):
- return "Spent: %s" % str(self.book)
+ return "Wydane na: %s" % str(self.book or self.link)