Skip to content

Commit 304d04e

Browse files
committed
Add Registration migrations
- Legacy-Id: 13184
1 parent 7fb035c commit 304d04e

3 files changed

Lines changed: 69 additions & 1 deletion

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.6 on 2017-03-30 14:38
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('person', '0015_clean_primary'),
13+
('meeting', '0048_auto_20170330_1438'),
14+
('stats', '0002_add_initial_aliases'),
15+
]
16+
17+
operations = [
18+
migrations.CreateModel(
19+
name='Registration',
20+
fields=[
21+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
22+
('first_name', models.CharField(max_length=255)),
23+
('last_name', models.CharField(max_length=255)),
24+
('affiliation', models.CharField(blank=True, max_length=255)),
25+
('country', models.CharField(max_length=2)),
26+
('meeting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meeting.Meeting')),
27+
('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='person.Person')),
28+
],
29+
),
30+
migrations.CreateModel(
31+
name='RegistrationStats',
32+
fields=[
33+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
34+
('gender_male', models.IntegerField(default=0)),
35+
('gender_female', models.IntegerField(default=0)),
36+
('gender_undeclared', models.IntegerField(default=0)),
37+
('meeting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='meeting.Meeting')),
38+
],
39+
),
40+
]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.6 on 2017-04-04 13:55
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations
6+
7+
from ietf.stats.utils import get_registration_data
8+
9+
def forward(apps, schema_editor):
10+
Registration = apps.get_model('stats', 'Registration')
11+
Meeting = apps.get_model('meeting', 'Meeting')
12+
for meeting in Meeting.objects.filter(number__in=[ str(n) for n in range(72,99) ]):
13+
total = get_registration_data(meeting)
14+
print "Meeting {}: {}".format(meeting.number, total)
15+
16+
def backward(apps, schema_editor):
17+
Registration = apps.get_model('stats', 'Registration')
18+
Registration.objects.all().delete()
19+
20+
class Migration(migrations.Migration):
21+
22+
dependencies = [
23+
('stats', '0003_registration_registrationstats'),
24+
]
25+
26+
operations = [
27+
migrations.RunPython(forward, backward)
28+
]

ietf/stats/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def get_registration_data(meeting):
218218
if response.status_code == 200:
219219
for registration in response.json():
220220
object, created = Registration.objects.get_or_create(
221-
meeting=meeting,
221+
meeting_id=meeting.pk,
222222
first_name=registration['FirstName'],
223223
last_name=registration['LastName'],
224224
affiliation=registration['Company'],

0 commit comments

Comments
 (0)