From dee22de65cab11aa05b68313e22e0201308de826 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Wed, 10 Apr 2024 12:56:20 +0200 Subject: [PATCH] Funding: help texts for Spent objects. --- src/funding/admin.py | 1 + ...nt_annotation_alter_spent_book_and_more.py | 30 +++++++++++++++++++ src/funding/models.py | 22 +++++++++++--- 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py diff --git a/src/funding/admin.py b/src/funding/admin.py index bb44cd451..7402c2a95 100644 --- a/src/funding/admin.py +++ b/src/funding/admin.py @@ -73,6 +73,7 @@ class SpentAdmin(admin.ModelAdmin): model = Spent list_display = ['book', 'amount', 'timestamp'] search_fields = ['book__title'] + autocomplete_fields = ['book'] admin.site.register(Offer, OfferAdmin) diff --git a/src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py b/src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py new file mode 100644 index 000000000..0e6ea3bb1 --- /dev/null +++ b/src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.0.8 on 2024-04-10 10:54 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('catalogue', '0046_alter_book_options_alter_bookmedia_options_and_more'), + ('funding', '0013_missing_spent'), + ] + + operations = [ + migrations.AlterField( + model_name='spent', + name='annotation', + field=models.CharField(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”.', max_length=255, verbose_name='adnotacja'), + ), + migrations.AlterField( + model_name='spent', + name='book', + field=models.ForeignKey(blank=True, 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.', null=True, on_delete=django.db.models.deletion.PROTECT, to='catalogue.book', verbose_name='książka'), + ), + migrations.AlterField( + model_name='spent', + name='link', + field=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).'), + ), + ] diff --git a/src/funding/models.py b/src/funding/models.py index 12fa0ca3e..5afdc2259 100644 --- a/src/funding/models.py +++ b/src/funding/models.py @@ -372,11 +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, 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ę' @@ -384,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) -- 2.20.1