pricing: update model for flat fee schedule mode (#67675)

This commit is contained in:
Lauréline Guérin 2022-07-25 15:25:31 +02:00
parent 0e3eed29f2
commit 23f5f70a8a
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 71 additions and 3 deletions

View File

@ -0,0 +1,60 @@
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pricing', '0009_agenda_pricing_m2m'),
]
operations = [
migrations.AddField(
model_name='agendapricing',
name='flat_fee_schedule',
field=models.BooleanField(default=False, verbose_name='Flat fee schedule'),
),
migrations.AddField(
model_name='agendapricing',
name='subscription_required',
field=models.BooleanField(default=True, verbose_name='Subscription is required'),
),
migrations.AlterField(
model_name='agendapricing',
name='date_end',
field=models.DateField(verbose_name='End date'),
),
migrations.AlterField(
model_name='agendapricing',
name='date_start',
field=models.DateField(verbose_name='Start date'),
),
migrations.AlterField(
model_name='agendapricing',
name='pricing',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to='pricing.Pricing',
verbose_name='Pricing model',
),
),
migrations.CreateModel(
name='BillingDate',
fields=[
(
'id',
models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
('date_start', models.DateField(verbose_name='Billing start date')),
('label', models.CharField(max_length=150, verbose_name='Label')),
(
'agenda_pricing',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to='pricing.AgendaPricing',
related_name='billingdates',
),
),
],
),
]

View File

@ -339,9 +339,11 @@ class AgendaPricing(models.Model):
label = models.CharField(_('Label'), max_length=150, null=True)
slug = models.SlugField(_('Identifier'), max_length=160, null=True)
agendas = models.ManyToManyField(Agenda, related_name='agendapricings')
pricing = models.ForeignKey(Pricing, on_delete=models.CASCADE)
date_start = models.DateField()
date_end = models.DateField()
pricing = models.ForeignKey(Pricing, on_delete=models.CASCADE, verbose_name=_('Pricing model'))
date_start = models.DateField(_('Start date'))
date_end = models.DateField(_('End date'))
flat_fee_schedule = models.BooleanField(_('Flat fee schedule'), default=False)
subscription_required = models.BooleanField(_('Subscription is required'), default=True)
pricing_data = JSONField(null=True)
def __str__(self):
@ -665,3 +667,9 @@ class AgendaPricing(models.Model):
matrix.rows = rows
return matrix
class BillingDate(models.Model):
agenda_pricing = models.ForeignKey(AgendaPricing, on_delete=models.CASCADE, related_name='billingdates')
date_start = models.DateField(_('Billing start date'))
label = models.CharField(_('Label'), max_length=150)