Add Registration migrations

- Legacy-Id: 13184
This commit is contained in:
Ryan Cross 2017-04-04 22:06:17 +00:00
parent 7fb035c061
commit 304d04e674
3 changed files with 69 additions and 1 deletions

View file

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-30 14:38
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('person', '0015_clean_primary'),
('meeting', '0048_auto_20170330_1438'),
('stats', '0002_add_initial_aliases'),
]
operations = [
migrations.CreateModel(
name='Registration',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=255)),
('last_name', models.CharField(max_length=255)),
('affiliation', models.CharField(blank=True, max_length=255)),
('country', models.CharField(max_length=2)),
('meeting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meeting.Meeting')),
('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
],
),
migrations.CreateModel(
name='RegistrationStats',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('gender_male', models.IntegerField(default=0)),
('gender_female', models.IntegerField(default=0)),
('gender_undeclared', models.IntegerField(default=0)),
('meeting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meeting.Meeting')),
],
),
]

View file

@ -0,0 +1,28 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-04-04 13:55
from __future__ import unicode_literals
from django.db import migrations
from ietf.stats.utils import get_registration_data
def forward(apps, schema_editor):
Registration = apps.get_model('stats', 'Registration')
Meeting = apps.get_model('meeting', 'Meeting')
for meeting in Meeting.objects.filter(number__in=[ str(n) for n in range(72,99) ]):
total = get_registration_data(meeting)
print "Meeting {}: {}".format(meeting.number, total)
def backward(apps, schema_editor):
Registration = apps.get_model('stats', 'Registration')
Registration.objects.all().delete()
class Migration(migrations.Migration):
dependencies = [
('stats', '0003_registration_registrationstats'),
]
operations = [
migrations.RunPython(forward, backward)
]

View file

@ -218,7 +218,7 @@ def get_registration_data(meeting):
if response.status_code == 200:
for registration in response.json():
object, created = Registration.objects.get_or_create(
meeting=meeting,
meeting_id=meeting.pk,
first_name=registration['FirstName'],
last_name=registration['LastName'],
affiliation=registration['Company'],