Source code for squaresdb.gate.migrations.0009_add_price_2023

# Generated by Django 3.2.18 on 2023-04-22 21:03

from django.db import migrations


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


[docs] def add_prices(apps, schema_editor): PriceScheme = apps.get_model('gate', 'DancePriceScheme') Price = apps.get_model('gate', 'DancePrice') FeeCat = apps.get_model('membership', 'FeeCategory') for scheme, prices in PRICES.items(): scheme_obj, _created = PriceScheme.objects.get_or_create(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) normal = PriceScheme.objects.get(name='normal') normal.name = 'normal2014' normal.active = False normal.save()
[docs] class Migration(migrations.Migration): dependencies = [ ('gate', '0008_attendee_time'), ('membership', '0008_personfreq'), ] operations = [ migrations.RunPython(add_prices), ]