Source code for squaresdb.gate.migrations.0007_add_prices

# Generated by Django 3.2.4 on 2022-02-15 09:01

from django.db import migrations

# Add "free" price scheme
# Add free and normal prices (this might change in the future, and dunno
# whether we'll do that with a migration or just editing, but we can at
# least pre-populate for now)

PRICES = dict(
    free={
        'mit-student': (0,0),
        'student': (0,0),
        'full': (0,0),
    },
    normal={
        'mit-student': (0,0),
        'student': (2,2),
        'full': (5,5),
    },
)


[docs] def add_prices(apps, schema_editor): PriceScheme = apps.get_model('gate', 'DancePriceScheme') PriceScheme.objects.get_or_create(name='free') Price = apps.get_model('gate', 'DancePrice') FeeCat = apps.get_model('membership', 'FeeCategory') for scheme, prices in PRICES.items(): scheme_obj = PriceScheme.objects.get(name=scheme) for feecat, (low, high) in prices.items(): feecat_obj = FeeCat.objects.get(slug=feecat) defaults = dict(low=low, high=high) Price.objects.get_or_create(fee_cat=feecat_obj, price_scheme=scheme_obj, defaults=defaults)
[docs] class Migration(migrations.Migration): dependencies = [ ('gate', '0006_add_perms'), ('membership', '0008_personfreq'), ] operations = [ migrations.RunPython(add_prices), ]