Projet

Général

Profil

0001-pricing-update-model-for-flat-fee-schedule-mode-6767.patch

Lauréline Guérin, 29 juillet 2022 21:57

Télécharger (4,19 ko)

Voir les différences:

Subject: [PATCH 01/14] pricing: update model for flat fee schedule mode
 (#67675)

 .../migrations/0010_flat_fee_schedule.py      | 60 +++++++++++++++++++
 lingo/pricing/models.py                       | 14 ++++-
 2 files changed, 71 insertions(+), 3 deletions(-)
 create mode 100644 lingo/pricing/migrations/0010_flat_fee_schedule.py
lingo/pricing/migrations/0010_flat_fee_schedule.py
1
import django.db.models.deletion
2
from django.db import migrations, models
3

  
4

  
5
class Migration(migrations.Migration):
6

  
7
    dependencies = [
8
        ('pricing', '0009_agenda_pricing_m2m'),
9
    ]
10

  
11
    operations = [
12
        migrations.AddField(
13
            model_name='agendapricing',
14
            name='flat_fee_schedule',
15
            field=models.BooleanField(default=False, verbose_name='Flat fee schedule'),
16
        ),
17
        migrations.AddField(
18
            model_name='agendapricing',
19
            name='subscription_required',
20
            field=models.BooleanField(default=True, verbose_name='Subscription is required'),
21
        ),
22
        migrations.AlterField(
23
            model_name='agendapricing',
24
            name='date_end',
25
            field=models.DateField(verbose_name='End date'),
26
        ),
27
        migrations.AlterField(
28
            model_name='agendapricing',
29
            name='date_start',
30
            field=models.DateField(verbose_name='Start date'),
31
        ),
32
        migrations.AlterField(
33
            model_name='agendapricing',
34
            name='pricing',
35
            field=models.ForeignKey(
36
                on_delete=django.db.models.deletion.CASCADE,
37
                to='pricing.Pricing',
38
                verbose_name='Pricing model',
39
            ),
40
        ),
41
        migrations.CreateModel(
42
            name='BillingDate',
43
            fields=[
44
                (
45
                    'id',
46
                    models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
47
                ),
48
                ('date_start', models.DateField(verbose_name='Billing start date')),
49
                ('label', models.CharField(max_length=150, verbose_name='Label')),
50
                (
51
                    'agenda_pricing',
52
                    models.ForeignKey(
53
                        on_delete=django.db.models.deletion.CASCADE,
54
                        to='pricing.AgendaPricing',
55
                        related_name='billingdates',
56
                    ),
57
                ),
58
            ],
59
        ),
60
    ]
lingo/pricing/models.py
339 339
    label = models.CharField(_('Label'), max_length=150, null=True)
340 340
    slug = models.SlugField(_('Identifier'), max_length=160, null=True)
341 341
    agendas = models.ManyToManyField(Agenda, related_name='agendapricings')
342
    pricing = models.ForeignKey(Pricing, on_delete=models.CASCADE)
343
    date_start = models.DateField()
344
    date_end = models.DateField()
342
    pricing = models.ForeignKey(Pricing, on_delete=models.CASCADE, verbose_name=_('Pricing model'))
343
    date_start = models.DateField(_('Start date'))
344
    date_end = models.DateField(_('End date'))
345
    flat_fee_schedule = models.BooleanField(_('Flat fee schedule'), default=False)
346
    subscription_required = models.BooleanField(_('Subscription is required'), default=True)
345 347
    pricing_data = JSONField(null=True)
346 348

  
347 349
    def __str__(self):
......
665 667
        matrix.rows = rows
666 668

  
667 669
        return matrix
670

  
671

  
672
class BillingDate(models.Model):
673
    agenda_pricing = models.ForeignKey(AgendaPricing, on_delete=models.CASCADE, related_name='billingdates')
674
    date_start = models.DateField(_('Billing start date'))
675
    label = models.CharField(_('Label'), max_length=150)
668
-