X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e24e657ebf536f55c1bde66bd41563fae30a98b0..7bbeecb5dd5c5f20120f9e40e41568a3bff1caa4:/src/funding/models.py diff --git a/src/funding/models.py b/src/funding/models.py index f44e37795..81d439df8 100644 --- a/src/funding/models.py +++ b/src/funding/models.py @@ -1,5 +1,5 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # from datetime import date, datetime from urllib.parse import urlencode @@ -12,7 +12,7 @@ from django.template.loader import render_to_string 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 @@ -262,7 +262,7 @@ class Funding(club.payu.models.Order): """ offer = models.ForeignKey(Offer, models.PROTECT, verbose_name='zbiórka') - customer_ip = models.GenericIPAddressField('adres IP', null=True) + customer_ip = models.GenericIPAddressField('adres IP', null=True, blank=True) name = models.CharField('nazwa', max_length=127, blank=True) email = models.EmailField('e-mail', blank=True, db_index=True) @@ -271,7 +271,7 @@ class Funding(club.payu.models.Order): perks = models.ManyToManyField(Perk, verbose_name='prezenty', blank=True) language_code = models.CharField(max_length=2, null=True, blank=True) notifications = models.BooleanField('powiadomienia', default=True, db_index=True) - notify_key = models.CharField(max_length=32) + notify_key = models.CharField(max_length=32, blank=True) class Meta: verbose_name = 'wpłata' @@ -372,9 +372,25 @@ class PayUNotification(club.payu.models.Notification): class Spent(models.Model): """ Some of the remaining money spent on a book. """ - book = models.ForeignKey(Book, models.PROTECT) + 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="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ę' @@ -382,5 +398,5 @@ class Spent(models.Model): ordering = ['-timestamp'] def __str__(self): - return "Spent: %s" % str(self.book) + return "Wydane na: %s" % str(self.book or self.link)