Add Registration migrations
- Legacy-Id: 13184
This commit is contained in:
parent
7fb035c061
commit
304d04e674
40
ietf/stats/migrations/0003_registration_registrationstats.py
Normal file
40
ietf/stats/migrations/0003_registration_registrationstats.py
Normal 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')),
|
||||
],
|
||||
),
|
||||
]
|
28
ietf/stats/migrations/0004_import_registrations.py
Normal file
28
ietf/stats/migrations/0004_import_registrations.py
Normal 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)
|
||||
]
|
|
@ -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'],
|
||||
|
|
Loading…
Reference in a new issue