From: Magnus Hagander Date: Wed, 4 Dec 2024 19:06:56 +0000 (+0100) Subject: Expose that sponsor cost is a VAT field in backend interface X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=dfff6e725710f307dce3f3ad445b038e82ac1ad4;p=pgeu-system.git Expose that sponsor cost is a VAT field in backend interface While normally sponsors are invoived without VAT, there are cases where VAT is added and in those cases we want the same VAT preview there as we have for registration types etc. The code for dealing with that preview was clearly already designed to handle this, but it was never enabled for levelcost. --- diff --git a/postgresqleu/confsponsor/backendforms.py b/postgresqleu/confsponsor/backendforms.py index acd295fa..10f945f0 100644 --- a/postgresqleu/confsponsor/backendforms.py +++ b/postgresqleu/confsponsor/backendforms.py @@ -308,6 +308,7 @@ class BackendSponsorshipLevelForm(BackendForm): linked_objects = OrderedDict({ 'benefit': BackendSponsorshipLevelBenefitManager(), }) + vat_fields = {'levelcost': 'sponsor'} allow_copy_previous = True auto_cascade_delete_to = ['sponsorshiplevel_paymentmethods', 'sponsorshipbenefit'] exclude_date_validators = ['paymentdueby', ] diff --git a/postgresqleu/confsponsor/migrations/0001_initial.py b/postgresqleu/confsponsor/migrations/0001_initial.py index 8a4d40cb..bd22bc13 100644 --- a/postgresqleu/confsponsor/migrations/0001_initial.py +++ b/postgresqleu/confsponsor/migrations/0001_initial.py @@ -93,7 +93,7 @@ class Migration(migrations.Migration): ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('levelname', models.CharField(max_length=100, verbose_name='Level name')), ('urlname', models.CharField(max_length=100, validators=[postgresqleu.util.validators.validate_lowercase, postgresqleu.util.validators.validate_urlname], verbose_name='URL name')), - ('levelcost', models.IntegerField(verbose_name="Cost")), + ('levelcost', models.IntegerField(verbose_name="Cost", help_text='Cost excluding VAT.')), ('available', models.BooleanField(default=True, verbose_name='Available for signup')), ('instantbuy', models.BooleanField(default=False, verbose_name="Instant buy available")), ('canbuyvoucher', models.BooleanField(default=True, verbose_name="Can buy vouchers")), diff --git a/postgresqleu/confsponsor/models.py b/postgresqleu/confsponsor/models.py index f6ab9b59..5536c9b2 100644 --- a/postgresqleu/confsponsor/models.py +++ b/postgresqleu/confsponsor/models.py @@ -42,7 +42,7 @@ class SponsorshipLevel(models.Model): urlname = models.CharField(max_length=100, null=False, blank=False, validators=[validate_lowercase, validate_urlname], verbose_name="URL name") - levelcost = models.IntegerField(null=False, blank=False, verbose_name="Cost") + levelcost = models.IntegerField(null=False, blank=False, verbose_name="Cost", help_text="Cost excluding VAT.") available = models.BooleanField(null=False, blank=False, default=True, verbose_name="Available for signup") public = models.BooleanField(null=False, blank=False, default=True, verbose_name="Publicly visible", help_text="If unchecked the sponsorship level will be treated as internal, for example for testing")