From 06a388f95dea8ba074bc00ea90da4dc209d4310e Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 14 Apr 2019 11:17:17 -0400 Subject: [PATCH] recreated database - now empty --- cvkbrno/migrations/0001_initial.py | 65 -- cvkbrno/migrations/0002_auto_20160515_0910.py | 20 - cvkbrno/migrations/0003_member_club.py | 21 - cvkbrno/migrations/0004_auto_20160518_2001.py | 42 -- cvkbrno/migrations/0005_auto_20160519_0750.py | 86 --- cvkbrno/migrations/0006_auto_20160519_0805.py | 26 - cvkbrno/migrations/0007_auto_20160519_1103.py | 46 -- cvkbrno/migrations/0008_auto_20160519_1204.py | 126 ---- cvkbrno/migrations/0009_auto_20160519_1207.py | 21 - cvkbrno/migrations/0010_auto_20160608_0811.py | 107 --- cvkbrno/migrations/0011_auto_20160613_1640.py | 144 ---- cvkbrno/migrations/0012_auto_20160719_2240.py | 39 - cvkbrno/migrations/0013_auto_20160719_2245.py | 36 - cvkbrno/migrations/0014_auto_20160719_2313.py | 31 - cvkbrno/migrations/0015_auto_20160720_1741.py | 36 - cvkbrno/migrations/0016_outing_race.py | 20 - cvkbrno/migrations/0017_auto_20160721_1621.py | 20 - cvkbrno/migrations/0018_auto_20160722_1043.py | 20 - cvkbrno/migrations/0019_boatcategory_club.py | 21 - cvkbrno/migrations/0020_remove_member_club.py | 19 - cvkbrno/migrations/0021_member_club.py | 21 - cvkbrno/migrations/0022_auto_20160723_1502.py | 20 - cvkbrno/migrations/0023_memberwork_comment.py | 20 - rowers/migrations/0001_initial.py | 669 +++++++++++++++++- rowers/migrations/0002_auto_20160426_1043.py | 20 - rowers/migrations/0003_auto_20160426_1048.py | 20 - rowers/migrations/0004_auto_20160426_1441.py | 50 -- rowers/migrations/0005_auto_20160426_1446.py | 30 - rowers/migrations/0006_auto_20160427_1350.py | 20 - rowers/migrations/0007_auto_20160428_1153.py | 30 - rowers/migrations/0008_auto_20160428_1154.py | 20 - rowers/migrations/0009_auto_20160428_1955.py | 55 -- rowers/migrations/0010_workout_distance.py | 20 - rowers/migrations/0011_auto_20160428_2009.py | 41 -- rowers/migrations/0012_auto_20160428_2010.py | 20 - rowers/migrations/0013_auto_20160428_2021.py | 20 - rowers/migrations/0014_auto_20160428_2251.py | 20 - rowers/migrations/0015_auto_20160429_2038.py | 20 - rowers/migrations/0016_auto_20160501_1119.py | 25 - rowers/migrations/0017_auto_20160501_1126.py | 20 - rowers/migrations/0018_auto_20160501_1944.py | 20 - rowers/migrations/0019_auto_20160522_1659.py | 30 - rowers/migrations/0020_auto_20160522_1726.py | 23 - rowers/migrations/0021_rower_rowerplan.py | 20 - rowers/migrations/0022_auto_20160529_2115.py | 30 - rowers/migrations/0023_auto_20160530_0914.py | 20 - .../0024_workout_uploadedtostrava.py | 20 - rowers/migrations/0025_workout_summary.py | 20 - rowers/migrations/0026_auto_20160608_2137.py | 27 - .../0027_workout_uploadedtosporttracks.py | 20 - .../migrations/0028_rower_sporttrackstoken.py | 20 - rowers/migrations/0029_auto_20160610_0825.py | 20 - rowers/migrations/0030_auto_20160610_0826.py | 20 - rowers/migrations/0031_auto_20160610_0843.py | 30 - rowers/migrations/0032_auto_20160615_1332.py | 25 - rowers/migrations/0033_auto_20160617_0927.py | 20 - rowers/migrations/0034_auto_20160617_0929.py | 20 - rowers/migrations/0035_auto_20160623_0815.py | 34 - rowers/migrations/0036_rower_team.py | 21 - rowers/migrations/0037_auto_20160629_1014.py | 25 - rowers/migrations/0038_auto_20160629_1023.py | 25 - rowers/migrations/0039_auto_20160719_2240.py | 20 - .../migrations/0040_workout_startdatetime.py | 20 - rowers/migrations/0041_rower_friends.py | 20 - rowers/migrations/0042_auto_20161101_2235.py | 20 - 65 files changed, 662 insertions(+), 2015 deletions(-) delete mode 100644 cvkbrno/migrations/0001_initial.py delete mode 100644 cvkbrno/migrations/0002_auto_20160515_0910.py delete mode 100644 cvkbrno/migrations/0003_member_club.py delete mode 100644 cvkbrno/migrations/0004_auto_20160518_2001.py delete mode 100644 cvkbrno/migrations/0005_auto_20160519_0750.py delete mode 100644 cvkbrno/migrations/0006_auto_20160519_0805.py delete mode 100644 cvkbrno/migrations/0007_auto_20160519_1103.py delete mode 100644 cvkbrno/migrations/0008_auto_20160519_1204.py delete mode 100644 cvkbrno/migrations/0009_auto_20160519_1207.py delete mode 100644 cvkbrno/migrations/0010_auto_20160608_0811.py delete mode 100644 cvkbrno/migrations/0011_auto_20160613_1640.py delete mode 100644 cvkbrno/migrations/0012_auto_20160719_2240.py delete mode 100644 cvkbrno/migrations/0013_auto_20160719_2245.py delete mode 100644 cvkbrno/migrations/0014_auto_20160719_2313.py delete mode 100644 cvkbrno/migrations/0015_auto_20160720_1741.py delete mode 100644 cvkbrno/migrations/0016_outing_race.py delete mode 100644 cvkbrno/migrations/0017_auto_20160721_1621.py delete mode 100644 cvkbrno/migrations/0018_auto_20160722_1043.py delete mode 100644 cvkbrno/migrations/0019_boatcategory_club.py delete mode 100644 cvkbrno/migrations/0020_remove_member_club.py delete mode 100644 cvkbrno/migrations/0021_member_club.py delete mode 100644 cvkbrno/migrations/0022_auto_20160723_1502.py delete mode 100644 cvkbrno/migrations/0023_memberwork_comment.py delete mode 100644 rowers/migrations/0002_auto_20160426_1043.py delete mode 100644 rowers/migrations/0003_auto_20160426_1048.py delete mode 100644 rowers/migrations/0004_auto_20160426_1441.py delete mode 100644 rowers/migrations/0005_auto_20160426_1446.py delete mode 100644 rowers/migrations/0006_auto_20160427_1350.py delete mode 100644 rowers/migrations/0007_auto_20160428_1153.py delete mode 100644 rowers/migrations/0008_auto_20160428_1154.py delete mode 100644 rowers/migrations/0009_auto_20160428_1955.py delete mode 100644 rowers/migrations/0010_workout_distance.py delete mode 100644 rowers/migrations/0011_auto_20160428_2009.py delete mode 100644 rowers/migrations/0012_auto_20160428_2010.py delete mode 100644 rowers/migrations/0013_auto_20160428_2021.py delete mode 100644 rowers/migrations/0014_auto_20160428_2251.py delete mode 100644 rowers/migrations/0015_auto_20160429_2038.py delete mode 100644 rowers/migrations/0016_auto_20160501_1119.py delete mode 100644 rowers/migrations/0017_auto_20160501_1126.py delete mode 100644 rowers/migrations/0018_auto_20160501_1944.py delete mode 100644 rowers/migrations/0019_auto_20160522_1659.py delete mode 100644 rowers/migrations/0020_auto_20160522_1726.py delete mode 100644 rowers/migrations/0021_rower_rowerplan.py delete mode 100644 rowers/migrations/0022_auto_20160529_2115.py delete mode 100644 rowers/migrations/0023_auto_20160530_0914.py delete mode 100644 rowers/migrations/0024_workout_uploadedtostrava.py delete mode 100644 rowers/migrations/0025_workout_summary.py delete mode 100644 rowers/migrations/0026_auto_20160608_2137.py delete mode 100644 rowers/migrations/0027_workout_uploadedtosporttracks.py delete mode 100644 rowers/migrations/0028_rower_sporttrackstoken.py delete mode 100644 rowers/migrations/0029_auto_20160610_0825.py delete mode 100644 rowers/migrations/0030_auto_20160610_0826.py delete mode 100644 rowers/migrations/0031_auto_20160610_0843.py delete mode 100644 rowers/migrations/0032_auto_20160615_1332.py delete mode 100644 rowers/migrations/0033_auto_20160617_0927.py delete mode 100644 rowers/migrations/0034_auto_20160617_0929.py delete mode 100644 rowers/migrations/0035_auto_20160623_0815.py delete mode 100644 rowers/migrations/0036_rower_team.py delete mode 100644 rowers/migrations/0037_auto_20160629_1014.py delete mode 100644 rowers/migrations/0038_auto_20160629_1023.py delete mode 100644 rowers/migrations/0039_auto_20160719_2240.py delete mode 100644 rowers/migrations/0040_workout_startdatetime.py delete mode 100644 rowers/migrations/0041_rower_friends.py delete mode 100644 rowers/migrations/0042_auto_20161101_2235.py diff --git a/cvkbrno/migrations/0001_initial.py b/cvkbrno/migrations/0001_initial.py deleted file mode 100644 index 29303c73..00000000 --- a/cvkbrno/migrations/0001_initial.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-13 15:14 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='Boat', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('boatname', models.CharField(max_length=30)), - ('boatcode', models.CharField(max_length=10)), - ('nrseats', models.IntegerField()), - ('status', models.CharField(choices=[('water', 'water'), ('hangar', 'hangar'), ('damaged', 'damaged'), ('races', 'races')], default='hangar', max_length=30)), - ('comment', models.CharField(blank=True, max_length=100)), - ], - ), - migrations.CreateModel( - name='BoatCategory', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=30)), - ], - ), - migrations.CreateModel( - name='Member', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('contributions', models.BooleanField(default=True)), - ('status', models.CharField(choices=[('coach', 'coach'), ('member', 'member'), ('administrator', 'administrator')], default='member', max_length=30)), - ('categories', models.ManyToManyField(to='cvkbrno.BoatCategory')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Outing', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('starttime', models.DateTimeField()), - ('endtime', models.DateTimeField()), - ('distance', models.FloatField()), - ('comment', models.CharField(blank=True, max_length=100)), - ('status', models.CharField(choices=[('reservation', 'reservation'), ('active', 'active'), ('completed', 'completed'), ('race', 'race')], default='active', max_length=30)), - ('boat', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cvkbrno.Boat')), - ('rower', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cvkbrno.Member')), - ], - ), - migrations.AddField( - model_name='boat', - name='categories', - field=models.ManyToManyField(to='cvkbrno.BoatCategory'), - ), - ] diff --git a/cvkbrno/migrations/0002_auto_20160515_0910.py b/cvkbrno/migrations/0002_auto_20160515_0910.py deleted file mode 100644 index 217be114..00000000 --- a/cvkbrno/migrations/0002_auto_20160515_0910.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-15 07:10 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='outing', - name='endtime', - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/cvkbrno/migrations/0003_member_club.py b/cvkbrno/migrations/0003_member_club.py deleted file mode 100644 index a2045c74..00000000 --- a/cvkbrno/migrations/0003_member_club.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-17 09:52 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0002_auto_20160515_0910'), - ] - - operations = [ - migrations.AddField( - model_name='member', - name='club', - field=models.CharField(default='cvkbrno', max_length=30), - preserve_default=False, - ), - ] diff --git a/cvkbrno/migrations/0004_auto_20160518_2001.py b/cvkbrno/migrations/0004_auto_20160518_2001.py deleted file mode 100644 index ef1dbf43..00000000 --- a/cvkbrno/migrations/0004_auto_20160518_2001.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-18 18:01 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0003_member_club'), - ] - - operations = [ - migrations.CreateModel( - name='MemberWork', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField()), - ('hours', models.FloatField()), - ('name', models.CharField(max_length=30)), - ('status', models.CharField(choices=[('planned', 'planned'), ('executed', 'executed')], default='planned', max_length=30)), - ], - ), - migrations.AddField( - model_name='member', - name='hoursworked', - field=models.FloatField(default=0), - preserve_default=False, - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 18, 20, 1, 10, 126000)), - ), - migrations.AddField( - model_name='memberwork', - name='worker', - field=models.ManyToManyField(to='cvkbrno.Member'), - ), - ] diff --git a/cvkbrno/migrations/0005_auto_20160519_0750.py b/cvkbrno/migrations/0005_auto_20160519_0750.py deleted file mode 100644 index f83f251b..00000000 --- a/cvkbrno/migrations/0005_auto_20160519_0750.py +++ /dev/null @@ -1,86 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-19 05:50 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0004_auto_20160518_2001'), - ] - - operations = [ - migrations.AlterField( - model_name='boat', - name='boatcode', - field=models.CharField(max_length=10, verbose_name='Boat Code'), - ), - migrations.AlterField( - model_name='boat', - name='boatname', - field=models.CharField(max_length=30, verbose_name='Boat Name'), - ), - migrations.AlterField( - model_name='boat', - name='nrseats', - field=models.IntegerField(verbose_name='Nr of Seats'), - ), - migrations.AlterField( - model_name='boatcategory', - name='name', - field=models.CharField(max_length=30, verbose_name='Boat Category'), - ), - migrations.AlterField( - model_name='member', - name='club', - field=models.CharField(max_length=30, verbose_name='Club'), - ), - migrations.AlterField( - model_name='member', - name='hoursworked', - field=models.FloatField(verbose_name='Hours Worked'), - ), - migrations.AlterField( - model_name='memberwork', - name='date', - field=models.DateField(verbose_name='Date'), - ), - migrations.AlterField( - model_name='memberwork', - name='hours', - field=models.FloatField(verbose_name='Hours'), - ), - migrations.AlterField( - model_name='memberwork', - name='name', - field=models.CharField(max_length=30, verbose_name='Work Event Name'), - ), - migrations.AlterField( - model_name='outing', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='Comment'), - ), - migrations.AlterField( - model_name='outing', - name='distance', - field=models.FloatField(verbose_name='Distance'), - ), - migrations.AlterField( - model_name='outing', - name='endtime', - field=models.DateTimeField(blank=True, null=True, verbose_name='End Date/Time'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 19, 7, 50, 27, 933000), verbose_name='Start Date/Time'), - ), - migrations.AlterField( - model_name='outing', - name='status', - field=models.CharField(choices=[('reservation', 'reservation'), ('active', 'active'), ('completed', 'completed'), ('race', 'race')], default='active', max_length=30, verbose_name='Status'), - ), - ] diff --git a/cvkbrno/migrations/0006_auto_20160519_0805.py b/cvkbrno/migrations/0006_auto_20160519_0805.py deleted file mode 100644 index ad1be0e4..00000000 --- a/cvkbrno/migrations/0006_auto_20160519_0805.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-19 06:05 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0005_auto_20160519_0750'), - ] - - operations = [ - migrations.AlterField( - model_name='member', - name='categories', - field=models.ManyToManyField(to='cvkbrno.BoatCategory', verbose_name='Boat Categories'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 19, 8, 5, 40, 950000), verbose_name='Start Date/Time'), - ), - ] diff --git a/cvkbrno/migrations/0007_auto_20160519_1103.py b/cvkbrno/migrations/0007_auto_20160519_1103.py deleted file mode 100644 index 87c6b100..00000000 --- a/cvkbrno/migrations/0007_auto_20160519_1103.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-19 09:03 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0006_auto_20160519_0805'), - ] - - operations = [ - migrations.AlterModelOptions( - name='boat', - options={'verbose_name': 'boat', 'verbose_name_plural': 'boats'}, - ), - migrations.AlterModelOptions( - name='boatcategory', - options={'verbose_name': 'boat category', 'verbose_name_plural': 'boat categories'}, - ), - migrations.AlterModelOptions( - name='member', - options={'verbose_name': 'member', 'verbose_name_plural': 'members'}, - ), - migrations.AlterModelOptions( - name='memberwork', - options={'verbose_name': 'member work', 'verbose_name_plural': 'member work'}, - ), - migrations.AlterModelOptions( - name='outing', - options={'verbose_name': 'outing', 'verbose_name_plural': 'outings'}, - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 19, 11, 3, 18, 858000), verbose_name='Start Date/Time'), - ), - migrations.AlterField( - model_name='outing', - name='status', - field=models.CharField(choices=[('reservation', 'reservation'), ('active', 'aktivn\xed'), ('completed', 'completed'), ('race', 'race')], default='active', max_length=30, verbose_name='Status'), - ), - ] diff --git a/cvkbrno/migrations/0008_auto_20160519_1204.py b/cvkbrno/migrations/0008_auto_20160519_1204.py deleted file mode 100644 index 9396d812..00000000 --- a/cvkbrno/migrations/0008_auto_20160519_1204.py +++ /dev/null @@ -1,126 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-19 10:04 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0007_auto_20160519_1103'), - ] - - operations = [ - migrations.AlterModelOptions( - name='boat', - options={'verbose_name': 'lod', 'verbose_name_plural': 'lode'}, - ), - migrations.AlterModelOptions( - name='boatcategory', - options={'verbose_name': 'kategorie lod\xed', 'verbose_name_plural': 'kategorie lod\xed'}, - ), - migrations.AlterModelOptions( - name='member', - options={'verbose_name': 'clen', 'verbose_name_plural': 'clenove'}, - ), - migrations.AlterModelOptions( - name='memberwork', - options={'verbose_name': 'brigady', 'verbose_name_plural': 'brigady'}, - ), - migrations.AlterModelOptions( - name='outing', - options={'verbose_name': 'vyjezd', 'verbose_name_plural': 'vyjezdy'}, - ), - migrations.AlterField( - model_name='boat', - name='boatcode', - field=models.CharField(max_length=10, verbose_name='K\xf3d Lode'), - ), - migrations.AlterField( - model_name='boat', - name='boatname', - field=models.CharField(max_length=30, verbose_name='n\xe1zev lodi'), - ), - migrations.AlterField( - model_name='boat', - name='nrseats', - field=models.IntegerField(verbose_name='Pocet m\xedst'), - ), - migrations.AlterField( - model_name='boat', - name='status', - field=models.CharField(choices=[('water', 'voda'), ('hangar', 'lodenice'), ('damaged', 'po\u0161kozen\xe1'), ('races', 'zavody')], default='hangar', max_length=30), - ), - migrations.AlterField( - model_name='boatcategory', - name='name', - field=models.CharField(max_length=30, verbose_name='kategorie lod\xed'), - ), - migrations.AlterField( - model_name='member', - name='categories', - field=models.ManyToManyField(to='cvkbrno.BoatCategory', verbose_name='kategorie lod\xed'), - ), - migrations.AlterField( - model_name='member', - name='club', - field=models.CharField(max_length=30, verbose_name='Klub'), - ), - migrations.AlterField( - model_name='member', - name='hoursworked', - field=models.FloatField(verbose_name='Odpracovan\xe9 hodiny'), - ), - migrations.AlterField( - model_name='member', - name='status', - field=models.CharField(choices=[('coach', 'tren\xe9r'), ('member', 'clen'), ('administrator', 'spr\xe1vce')], default='member', max_length=30), - ), - migrations.AlterField( - model_name='memberwork', - name='date', - field=models.DateField(verbose_name='Datum'), - ), - migrations.AlterField( - model_name='memberwork', - name='hours', - field=models.FloatField(verbose_name='Hodiny'), - ), - migrations.AlterField( - model_name='memberwork', - name='name', - field=models.CharField(max_length=30, verbose_name='N\xe1zev Brig\xe1dy'), - ), - migrations.AlterField( - model_name='memberwork', - name='status', - field=models.CharField(choices=[('planned', 'planovane'), ('executed', 'hotov\xe1')], default='planned', max_length=30), - ), - migrations.AlterField( - model_name='outing', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='Koment\xe1r'), - ), - migrations.AlterField( - model_name='outing', - name='distance', - field=models.FloatField(verbose_name='Vzd\xe1lenost'), - ), - migrations.AlterField( - model_name='outing', - name='endtime', - field=models.DateTimeField(blank=True, null=True, verbose_name='Datum/Cas ukoncen\xed'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 19, 12, 4, 16, 852000), verbose_name='Startovn\xed Datum/Cas'), - ), - migrations.AlterField( - model_name='outing', - name='status', - field=models.CharField(choices=[('reservation', 'rezervace'), ('active', 'aktivn\xed'), ('completed', 'dokoncen\xfd'), ('race', 'zavod')], default='active', max_length=30, verbose_name='Status'), - ), - ] diff --git a/cvkbrno/migrations/0009_auto_20160519_1207.py b/cvkbrno/migrations/0009_auto_20160519_1207.py deleted file mode 100644 index dc62d860..00000000 --- a/cvkbrno/migrations/0009_auto_20160519_1207.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-19 10:07 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0008_auto_20160519_1204'), - ] - - operations = [ - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 5, 19, 12, 7, 34, 316000), verbose_name='Startovn\xed Datum/Cas'), - ), - ] diff --git a/cvkbrno/migrations/0010_auto_20160608_0811.py b/cvkbrno/migrations/0010_auto_20160608_0811.py deleted file mode 100644 index 203e70c9..00000000 --- a/cvkbrno/migrations/0010_auto_20160608_0811.py +++ /dev/null @@ -1,107 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-08 06:11 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0009_auto_20160519_1207'), - ] - - operations = [ - migrations.AlterModelOptions( - name='boat', - options={'verbose_name': 'lo\u010f', 'verbose_name_plural': 'lod\u011b'}, - ), - migrations.AlterModelOptions( - name='member', - options={'verbose_name': '\u010dlen', 'verbose_name_plural': '\u010dlenov\xe9'}, - ), - migrations.AlterModelOptions( - name='memberwork', - options={'verbose_name': 'Brig\xe1da', 'verbose_name_plural': 'Brig\xe1da'}, - ), - migrations.AlterModelOptions( - name='outing', - options={'verbose_name': 'j\xedzda', 'verbose_name_plural': 'j\xedzdy'}, - ), - migrations.AlterField( - model_name='boat', - name='boatcode', - field=models.CharField(max_length=10, verbose_name='k\xf3d lod\xed'), - ), - migrations.AlterField( - model_name='boat', - name='nrseats', - field=models.IntegerField(verbose_name='po\u010det m\xedst'), - ), - migrations.AlterField( - model_name='boat', - name='status', - field=models.CharField(choices=[('water', 'voda'), ('hangar', 'lod\u011bnice'), ('damaged', 'po\u0161kozen\xe1'), ('races', 'z\xe1vody')], default='hangar', max_length=30), - ), - migrations.AlterField( - model_name='member', - name='club', - field=models.CharField(max_length=30, verbose_name='klub'), - ), - migrations.AlterField( - model_name='member', - name='hoursworked', - field=models.FloatField(verbose_name='odpracovan\xe9 hodiny'), - ), - migrations.AlterField( - model_name='member', - name='status', - field=models.CharField(choices=[('coach', 'tren\xe9r'), ('member', '\u010dlen'), ('administrator', 'spr\xe1vce')], default='member', max_length=30), - ), - migrations.AlterField( - model_name='memberwork', - name='date', - field=models.DateField(verbose_name='datum'), - ), - migrations.AlterField( - model_name='memberwork', - name='hours', - field=models.FloatField(verbose_name='hodiny'), - ), - migrations.AlterField( - model_name='memberwork', - name='name', - field=models.CharField(max_length=30, verbose_name='n\xe1zev brig\xe1dy'), - ), - migrations.AlterField( - model_name='memberwork', - name='status', - field=models.CharField(choices=[('planned', 'pl\xe1novan\xfd'), ('executed', 'proveden\xfd')], default='planned', max_length=30), - ), - migrations.AlterField( - model_name='outing', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='koment\xe1\u0159'), - ), - migrations.AlterField( - model_name='outing', - name='distance', - field=models.FloatField(default=12, verbose_name='vzd\xe1lenost'), - ), - migrations.AlterField( - model_name='outing', - name='endtime', - field=models.DateTimeField(blank=True, null=True, verbose_name='P\u0159edpokl\xe1dan\xfd \u010das ukon\u010den\xed'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 6, 8, 8, 11, 2, 709000), verbose_name='\u010cas'), - ), - migrations.AlterField( - model_name='outing', - name='status', - field=models.CharField(choices=[('reservation', 'rezervace'), ('active', 'aktivn\xed'), ('completed', 'dokon\u010den\xfd'), ('race', 'z\xe1vod')], default='active', max_length=30, verbose_name='status'), - ), - ] diff --git a/cvkbrno/migrations/0011_auto_20160613_1640.py b/cvkbrno/migrations/0011_auto_20160613_1640.py deleted file mode 100644 index aacafbef..00000000 --- a/cvkbrno/migrations/0011_auto_20160613_1640.py +++ /dev/null @@ -1,144 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-13 14:40 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0010_auto_20160608_0811'), - ] - - operations = [ - migrations.CreateModel( - name='Races', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=30)), - ('starttime', models.DateTimeField(verbose_name='Start Time')), - ('endtime', models.DateTimeField(verbose_name='End Time')), - ], - options={ - 'verbose_name': 'race', - 'verbose_name_plural': 'races', - }, - ), - migrations.AlterModelOptions( - name='boat', - options={'verbose_name': 'boat', 'verbose_name_plural': 'boats'}, - ), - migrations.AlterModelOptions( - name='boatcategory', - options={'verbose_name': 'boat category', 'verbose_name_plural': 'boat categories'}, - ), - migrations.AlterModelOptions( - name='member', - options={'verbose_name': 'member', 'verbose_name_plural': 'members'}, - ), - migrations.AlterModelOptions( - name='memberwork', - options={'verbose_name': 'member work', 'verbose_name_plural': 'member work'}, - ), - migrations.AlterModelOptions( - name='outing', - options={'verbose_name': 'outing', 'verbose_name_plural': 'outings'}, - ), - migrations.AlterField( - model_name='boat', - name='boatcode', - field=models.CharField(max_length=10, verbose_name='Boat Code'), - ), - migrations.AlterField( - model_name='boat', - name='boatname', - field=models.CharField(max_length=30, verbose_name='Boat Name'), - ), - migrations.AlterField( - model_name='boat', - name='nrseats', - field=models.IntegerField(verbose_name='Nr of Seats'), - ), - migrations.AlterField( - model_name='boat', - name='status', - field=models.CharField(choices=[('water', 'water'), ('hangar', 'hangar'), ('damaged', 'damaged'), ('races', 'races')], default='hangar', max_length=30), - ), - migrations.AlterField( - model_name='boatcategory', - name='name', - field=models.CharField(max_length=30, verbose_name='Boat Category'), - ), - migrations.AlterField( - model_name='member', - name='categories', - field=models.ManyToManyField(to='cvkbrno.BoatCategory', verbose_name='Boat Categories'), - ), - migrations.AlterField( - model_name='member', - name='club', - field=models.CharField(max_length=30, verbose_name='Club'), - ), - migrations.AlterField( - model_name='member', - name='hoursworked', - field=models.FloatField(verbose_name='Hours Worked'), - ), - migrations.AlterField( - model_name='member', - name='status', - field=models.CharField(choices=[('coach', 'coach'), ('member', 'member'), ('administrator', 'administrator')], default='member', max_length=30), - ), - migrations.AlterField( - model_name='memberwork', - name='date', - field=models.DateField(verbose_name='Date'), - ), - migrations.AlterField( - model_name='memberwork', - name='hours', - field=models.FloatField(verbose_name='Hours'), - ), - migrations.AlterField( - model_name='memberwork', - name='name', - field=models.CharField(max_length=30, verbose_name='Work Event Name'), - ), - migrations.AlterField( - model_name='memberwork', - name='status', - field=models.CharField(choices=[('planned', 'planned'), ('executed', 'executed')], default='planned', max_length=30), - ), - migrations.AlterField( - model_name='outing', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='Comment'), - ), - migrations.AlterField( - model_name='outing', - name='distance', - field=models.FloatField(default=12, verbose_name='Distance'), - ), - migrations.AlterField( - model_name='outing', - name='endtime', - field=models.DateTimeField(blank=True, null=True, verbose_name='End Time'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 6, 13, 16, 40, 26, 888000), verbose_name='Start Time'), - ), - migrations.AlterField( - model_name='outing', - name='status', - field=models.CharField(choices=[('reservation', 'reservation'), ('active', 'active'), ('completed', 'completed'), ('race', 'race')], default='active', max_length=30, verbose_name='Status'), - ), - migrations.AddField( - model_name='races', - name='boats', - field=models.ManyToManyField(to='cvkbrno.Boat'), - ), - ] diff --git a/cvkbrno/migrations/0012_auto_20160719_2240.py b/cvkbrno/migrations/0012_auto_20160719_2240.py deleted file mode 100644 index 4dea6028..00000000 --- a/cvkbrno/migrations/0012_auto_20160719_2240.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-19 20:40 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0011_auto_20160613_1640'), - ] - - operations = [ - migrations.RemoveField( - model_name='races', - name='endtime', - ), - migrations.RemoveField( - model_name='races', - name='starttime', - ), - migrations.AddField( - model_name='races', - name='enddatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 40, 1, 937000), verbose_name='End Time'), - ), - migrations.AddField( - model_name='races', - name='startdatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 40, 1, 937000), verbose_name='Start Time'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 40, 1, 935000), verbose_name='Start Time'), - ), - ] diff --git a/cvkbrno/migrations/0013_auto_20160719_2245.py b/cvkbrno/migrations/0013_auto_20160719_2245.py deleted file mode 100644 index b978baf1..00000000 --- a/cvkbrno/migrations/0013_auto_20160719_2245.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-19 20:45 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0012_auto_20160719_2240'), - ] - - operations = [ - migrations.RenameField( - model_name='races', - old_name='boats', - new_name='transportboats', - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 45, 43, 357000), verbose_name='Start Time'), - ), - migrations.AlterField( - model_name='races', - name='enddatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 45, 43, 359000), verbose_name='End Time'), - ), - migrations.AlterField( - model_name='races', - name='startdatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 22, 45, 43, 359000), verbose_name='Start Time'), - ), - ] diff --git a/cvkbrno/migrations/0014_auto_20160719_2313.py b/cvkbrno/migrations/0014_auto_20160719_2313.py deleted file mode 100644 index c8dbd2a3..00000000 --- a/cvkbrno/migrations/0014_auto_20160719_2313.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-19 21:13 -from __future__ import unicode_literals - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0013_auto_20160719_2245'), - ] - - operations = [ - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 23, 13, 32, 498000), verbose_name='Start Time'), - ), - migrations.AlterField( - model_name='races', - name='enddatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 23, 13, 32, 499000), verbose_name='End Time'), - ), - migrations.AlterField( - model_name='races', - name='startdatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 7, 19, 23, 13, 32, 499000), verbose_name='Start Time'), - ), - ] diff --git a/cvkbrno/migrations/0015_auto_20160720_1741.py b/cvkbrno/migrations/0015_auto_20160720_1741.py deleted file mode 100644 index d99d410c..00000000 --- a/cvkbrno/migrations/0015_auto_20160720_1741.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-20 15:41 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0014_auto_20160719_2313'), - ] - - operations = [ - migrations.AddField( - model_name='outing', - name='otherrowers', - field=models.ManyToManyField(related_name='otherrowers', to='cvkbrno.Member'), - ), - migrations.AlterField( - model_name='outing', - name='starttime', - field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Start Time'), - ), - migrations.AlterField( - model_name='races', - name='enddatetime', - field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='End Time'), - ), - migrations.AlterField( - model_name='races', - name='startdatetime', - field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Start Time'), - ), - ] diff --git a/cvkbrno/migrations/0016_outing_race.py b/cvkbrno/migrations/0016_outing_race.py deleted file mode 100644 index 348caa01..00000000 --- a/cvkbrno/migrations/0016_outing_race.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-21 06:53 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0015_auto_20160720_1741'), - ] - - operations = [ - migrations.AddField( - model_name='outing', - name='race', - field=models.ManyToManyField(blank=True, to='cvkbrno.Races'), - ), - ] diff --git a/cvkbrno/migrations/0017_auto_20160721_1621.py b/cvkbrno/migrations/0017_auto_20160721_1621.py deleted file mode 100644 index 2a4d7816..00000000 --- a/cvkbrno/migrations/0017_auto_20160721_1621.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-21 14:21 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0016_outing_race'), - ] - - operations = [ - migrations.AlterField( - model_name='outing', - name='distance', - field=models.FloatField(default=12, verbose_name='Distance (km)'), - ), - ] diff --git a/cvkbrno/migrations/0018_auto_20160722_1043.py b/cvkbrno/migrations/0018_auto_20160722_1043.py deleted file mode 100644 index 9be625fe..00000000 --- a/cvkbrno/migrations/0018_auto_20160722_1043.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-22 08:43 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0017_auto_20160721_1621'), - ] - - operations = [ - migrations.AlterField( - model_name='boat', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='Comment'), - ), - ] diff --git a/cvkbrno/migrations/0019_boatcategory_club.py b/cvkbrno/migrations/0019_boatcategory_club.py deleted file mode 100644 index 3b1fedea..00000000 --- a/cvkbrno/migrations/0019_boatcategory_club.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-22 08:44 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0018_auto_20160722_1043'), - ] - - operations = [ - migrations.AddField( - model_name='boatcategory', - name='club', - field=models.CharField(default='cvkbrno', max_length=30, verbose_name='Club'), - preserve_default=False, - ), - ] diff --git a/cvkbrno/migrations/0020_remove_member_club.py b/cvkbrno/migrations/0020_remove_member_club.py deleted file mode 100644 index 433fefbc..00000000 --- a/cvkbrno/migrations/0020_remove_member_club.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-22 08:46 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0019_boatcategory_club'), - ] - - operations = [ - migrations.RemoveField( - model_name='member', - name='club', - ), - ] diff --git a/cvkbrno/migrations/0021_member_club.py b/cvkbrno/migrations/0021_member_club.py deleted file mode 100644 index 19ece38b..00000000 --- a/cvkbrno/migrations/0021_member_club.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-22 08:47 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0020_remove_member_club'), - ] - - operations = [ - migrations.AddField( - model_name='member', - name='club', - field=models.CharField(default='cvkbrno', max_length=30, verbose_name='Club'), - preserve_default=False, - ), - ] diff --git a/cvkbrno/migrations/0022_auto_20160723_1502.py b/cvkbrno/migrations/0022_auto_20160723_1502.py deleted file mode 100644 index 80651758..00000000 --- a/cvkbrno/migrations/0022_auto_20160723_1502.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-23 13:02 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0021_member_club'), - ] - - operations = [ - migrations.AlterField( - model_name='memberwork', - name='worker', - field=models.ManyToManyField(related_name='Worker', to='cvkbrno.Member'), - ), - ] diff --git a/cvkbrno/migrations/0023_memberwork_comment.py b/cvkbrno/migrations/0023_memberwork_comment.py deleted file mode 100644 index b799c982..00000000 --- a/cvkbrno/migrations/0023_memberwork_comment.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-24 06:33 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('cvkbrno', '0022_auto_20160723_1502'), - ] - - operations = [ - migrations.AddField( - model_name='memberwork', - name='comment', - field=models.CharField(blank=True, max_length=100, verbose_name='Comment'), - ), - ] diff --git a/rowers/migrations/0001_initial.py b/rowers/migrations/0001_initial.py index fb9476fe..c5a586e6 100644 --- a/rowers/migrations/0001_initial.py +++ b/rowers/migrations/0001_initial.py @@ -1,10 +1,13 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-26 08:42 -from __future__ import unicode_literals +# Generated by Django 2.2 on 2019-04-14 15:15 +import datetime from django.conf import settings +import django.core.validators from django.db import migrations, models import django.db.models.deletion +import django.utils.timezone +import django_countries.fields +import rowers.models class Migration(migrations.Migration): @@ -16,22 +19,674 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='CalcAgePerformance', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=30)), + ('sex', models.CharField(choices=[('male', 'male'), ('female', 'female')], default='female', max_length=30)), + ('age', models.IntegerField(default=19, verbose_name='Age')), + ('duration', models.FloatField(blank=True, default=1)), + ('power', models.IntegerField(default=200)), + ], + options={ + 'db_table': 'calcagegrouprecords', + }, + ), + migrations.CreateModel( + name='CoachingGroup', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, default='group', max_length=30, null=True)), + ], + ), + migrations.CreateModel( + name='GeoCourse', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('distance', models.IntegerField(default=0)), + ('name', models.CharField(blank=True, max_length=150)), + ('country', models.CharField(blank=True, max_length=150)), + ('notes', models.CharField(blank=True, max_length=200, verbose_name='Course Notes')), + ], + ), + migrations.CreateModel( + name='PaidPlan', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('shortname', models.CharField(choices=[('basic', 'basic'), ('pro', 'pro'), ('plan', 'plan'), ('coach', 'coach')], max_length=50)), + ('name', models.CharField(max_length=200)), + ('external_id', models.CharField(blank=True, default=None, max_length=200, null=True)), + ('price', models.FloatField(blank=True, default=None, null=True)), + ('paymentprocessor', models.CharField(choices=[('paypal', 'PayPal'), ('braintree', 'BrainTree')], default='braintree', max_length=50)), + ('paymenttype', models.CharField(choices=[('single', 'single'), ('recurring', 'recurring')], default='single', max_length=30, verbose_name='Payment Type')), + ('active', models.BooleanField(default=True)), + ('clubsize', models.IntegerField(default=0)), + ], + ), + migrations.CreateModel( + name='PlannedSession', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150, verbose_name='Name')), + ('comment', models.TextField(blank=True, max_length=500)), + ('startdate', models.DateField(default=rowers.models.current_day, verbose_name='On or After')), + ('enddate', models.DateField(default=rowers.models.a_week_from_now, verbose_name='On or Before')), + ('preferreddate', models.DateField(default=rowers.models.a_week_from_now, verbose_name='Preferred Date')), + ('sessiontype', models.CharField(choices=[('session', 'Training Session'), ('challenge', 'Challenge'), ('test', 'Mandatory Test'), ('cycletarget', 'Total for a time period'), ('coursetest', 'OTW test over a course'), ('race', 'Virtual Race'), ('indoorrace', 'Indoor Virtual Race')], default='session', max_length=150, verbose_name='Session Type')), + ('sessionvalue', models.IntegerField(default=60, verbose_name='Value')), + ('max_nr_of_workouts', models.IntegerField(default=0, verbose_name='Maximum number of workouts')), + ('sessionunit', models.CharField(choices=[('min', 'minutes'), ('m', 'meters'), ('None', None)], default='min', max_length=150, verbose_name='Unit')), + ('criterium', models.CharField(choices=[('none', 'Approximately'), ('minimum', 'At Least'), ('exact', 'Exactly')], default='none', max_length=150, verbose_name='Criteria')), + ('verification', models.CharField(choices=[('none', 'None'), ('automatic', 'Automatic'), ('manual', 'Manual')], default='none', max_length=150)), + ('sessionmode', models.CharField(choices=[('distance', 'Distance'), ('time', 'Time'), ('rScore', 'rScore'), ('TRIMP', 'TRIMP')], default='time', max_length=150, verbose_name='Session Mode')), + ('hasranking', models.BooleanField(default=False)), + ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='rowers.GeoCourse', verbose_name='OTW Course')), + ('manager', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), + ], + ), migrations.CreateModel( name='Rower', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('max', models.IntegerField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('country', django_countries.fields.CountryField(blank=True, default=None, max_length=2, null=True)), + ('street_address', models.CharField(blank=True, default='', max_length=200, null=True)), + ('city', models.CharField(blank=True, default='', max_length=200, null=True)), + ('postal_code', models.CharField(blank=True, default='', max_length=200, null=True)), + ('customer_id', models.CharField(blank=True, default=None, max_length=200, null=True)), + ('subscription_id', models.CharField(blank=True, default=None, max_length=200, null=True)), + ('rowerplan', models.CharField(choices=[('basic', 'basic'), ('pro', 'pro'), ('plan', 'plan'), ('coach', 'coach')], default='basic', max_length=30)), + ('paymenttype', models.CharField(choices=[('single', 'single'), ('recurring', 'recurring')], default='single', max_length=30, verbose_name='Payment Type')), + ('paymentprocessor', models.CharField(blank=True, choices=[('paypal', 'PayPal'), ('braintree', 'BrainTree')], default='braintree', max_length=50, null=True)), + ('planexpires', models.DateField(default=rowers.models.current_day)), + ('teamplanexpires', models.DateField(default=rowers.models.current_day)), + ('clubsize', models.IntegerField(default=0)), + ('protrialexpires', models.DateField(default=datetime.date(1970, 1, 1))), + ('plantrialexpires', models.DateField(default=datetime.date(1970, 1, 1))), + ('offercoaching', models.BooleanField(default=False, verbose_name='Offer Remote Coaching')), + ('gdproptin', models.BooleanField(default=False)), + ('gdproptindate', models.DateTimeField(blank=True, null=True)), + ('max', models.IntegerField(default=192, verbose_name='Max Heart Rate')), + ('rest', models.IntegerField(default=48, verbose_name='Resting Heart Rate')), + ('ut2', models.IntegerField(default=105, verbose_name='UT2 band lower HR')), + ('ut1', models.IntegerField(default=146, verbose_name='UT1 band lower HR')), + ('at', models.IntegerField(default=160, verbose_name='AT band lower HR')), + ('tr', models.IntegerField(default=167, verbose_name='TR band lower HR')), + ('an', models.IntegerField(default=180, verbose_name='AN band lower HR')), + ('hrftp', models.IntegerField(default=0, verbose_name='FTP heart rate')), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=30)), + ('sex', models.CharField(choices=[('male', 'male'), ('female', 'female'), ('not specified', 'not specified')], default='not specified', max_length=30)), + ('adaptiveclass', models.CharField(choices=[('None', 'None'), ('PR1', 'PR1 (Arms and Shoulders)'), ('PR2', 'PR2 (Trunk and Arms)'), ('PR3', 'PR3 (Leg Trunk and Arms)'), ('FES', 'FES (Functional Electrical Stimulation)')], default='None', max_length=50, verbose_name='Adaptive Classification')), + ('birthdate', models.DateField(blank=True, null=True)), + ('ftp', models.IntegerField(default=226, verbose_name='Functional Threshold Power')), + ('p0', models.FloatField(default=1.0, verbose_name='CP p1')), + ('p1', models.FloatField(default=1.0, verbose_name='CP p2')), + ('p2', models.FloatField(default=1.0, verbose_name='CP p3')), + ('p3', models.FloatField(default=1.0, verbose_name='CP p4')), + ('cpratio', models.FloatField(default=1.0, verbose_name='CP fit ratio')), + ('ep0', models.FloatField(default=1.0, verbose_name='erg CP p1')), + ('ep1', models.FloatField(default=1.0, verbose_name='erg CP p2')), + ('ep2', models.FloatField(default=1.0, verbose_name='erg CP p3')), + ('ep3', models.FloatField(default=1.0, verbose_name='erg CP p4')), + ('ecpratio', models.FloatField(default=1.0, verbose_name='erg CP fit ratio')), + ('otwslack', models.IntegerField(default=0, verbose_name='OTW Power slack')), + ('pw_ut2', models.IntegerField(default=124, verbose_name='UT2 Power')), + ('pw_ut1', models.IntegerField(default=171, verbose_name='UT1 Power')), + ('pw_at', models.IntegerField(default=203, verbose_name='AT Power')), + ('pw_tr', models.IntegerField(default=237, verbose_name='TR Power')), + ('pw_an', models.IntegerField(default=273, verbose_name='AN Power')), + ('powerzones', rowers.models.PowerZonesField(default=['Rest', 'Pwr UT2', 'Pwr UT1', 'Pwr AT', 'Pwr TR', 'Pwr AN'])), + ('workflowleftpanel', rowers.models.TemplateListField(default=['panel_navigationheader.html', 'panel_editbuttons.html', 'panel_advancededit.html', 'panel_editintervals.html', 'panel_stats.html', 'panel_staticchart.html', 'panel_uploadimage.html'])), + ('workflowmiddlepanel', rowers.models.TemplateListField(default=['panel_middlesocial.html', 'panel_statcharts.html', 'flexthumbnails.html', 'panel_summary.html', 'panel_map.html'])), + ('defaultlandingpage', models.CharField(choices=[('workout_edit_view', 'Edit View'), ('workout_workflow_view', 'Workflow View'), ('workout_stats_view', 'Stats View'), ('workout_data_view', 'Data Explore View'), ('workout_summary_edit_view', 'Intervals Editor')], default='workout_edit_view', max_length=200, verbose_name='Default Landing Page')), + ('c2token', models.CharField(blank=True, default='', max_length=200, null=True)), + ('tokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('c2refreshtoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('c2_auto_export', models.BooleanField(default=False)), + ('c2_auto_import', models.BooleanField(default=False)), + ('sporttrackstoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('sporttrackstokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('sporttracksrefreshtoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('sporttracks_auto_export', models.BooleanField(default=False)), + ('underarmourtoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('underarmourtokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('underarmourrefreshtoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('mapmyfitness_auto_export', models.BooleanField(default=False)), + ('tptoken', models.CharField(blank=True, default='', max_length=1000, null=True)), + ('tptokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('tprefreshtoken', models.CharField(blank=True, default='', max_length=1000, null=True)), + ('trainingpeaks_auto_export', models.BooleanField(default=False)), + ('polartoken', models.CharField(blank=True, default='', max_length=1000, null=True)), + ('polartokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('polarrefreshtoken', models.CharField(blank=True, default='', max_length=1000, null=True)), + ('polaruserid', models.IntegerField(default=0)), + ('polar_auto_import', models.BooleanField(default=False)), + ('stravatoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('stravatokenexpirydate', models.DateTimeField(blank=True, null=True)), + ('stravarefreshtoken', models.CharField(blank=True, default='', max_length=1000, null=True)), + ('stravaexportas', models.CharField(choices=[('Ride', 'Ride'), ('Kitesurf', 'Kitesurf'), ('Run', 'Run'), ('NordicSki', 'NordicSki'), ('Swim', 'Swim'), ('RockClimbing', 'RockClimbing'), ('Hike', 'Hike'), ('RollerSki', 'RollerSki'), ('Walk', 'Walk'), ('Rowing', 'Rowing'), ('AlpineSki', 'AlpineSki'), ('Snowboard', 'Snowboard'), ('BackcountrySki', 'BackcountrySki'), ('Snowshoe', 'Snowshoe'), ('Canoeing', 'Canoeing'), ('StairStepper', 'StairStepper'), ('Crossfit', 'Crossfit'), ('StandUpPaddling', 'StandUpPaddling'), ('EBikeRide', 'EBikeRide'), ('Surfing', 'Surfing'), ('Elliptical', 'Elliptical'), ('VirtualRide', 'VirtualRide'), ('IceSkate', 'IceSkate'), ('WeightTraining', 'WeightTraining'), ('InlineSkate', 'InlineSkate'), ('Windsurf', 'Windsurf'), ('Kayaking', 'Kayaking'), ('Workout', 'Workout'), ('Yoga', 'Yoga')], default='Rowing', max_length=30, verbose_name='Export Workouts to Strava as')), + ('strava_auto_export', models.BooleanField(default=False)), + ('strava_auto_import', models.BooleanField(default=False)), + ('runkeepertoken', models.CharField(blank=True, default='', max_length=200, null=True)), + ('runkeeper_auto_export', models.BooleanField(default=False)), + ('getemailnotifications', models.BooleanField(default=False, verbose_name='Receive email notifications')), + ('emailbounced', models.BooleanField(default=False, verbose_name='Email Address Bounced')), + ('getimportantemails', models.BooleanField(default=True, verbose_name='Get Important Emails')), + ('privacy', models.CharField(choices=[('visible', 'Visible'), ('hidden', 'Hidden')], default='visible', max_length=30)), + ('defaulttimezone', models.CharField(choices=[('Africa/Abidjan', 'Africa/Abidjan'), ('Africa/Accra', 'Africa/Accra'), ('Africa/Addis_Ababa', 'Africa/Addis_Ababa'), ('Africa/Algiers', 'Africa/Algiers'), ('Africa/Asmara', 'Africa/Asmara'), ('Africa/Bamako', 'Africa/Bamako'), ('Africa/Bangui', 'Africa/Bangui'), ('Africa/Banjul', 'Africa/Banjul'), ('Africa/Bissau', 'Africa/Bissau'), ('Africa/Blantyre', 'Africa/Blantyre'), ('Africa/Brazzaville', 'Africa/Brazzaville'), ('Africa/Bujumbura', 'Africa/Bujumbura'), ('Africa/Cairo', 'Africa/Cairo'), ('Africa/Casablanca', 'Africa/Casablanca'), ('Africa/Ceuta', 'Africa/Ceuta'), ('Africa/Conakry', 'Africa/Conakry'), ('Africa/Dakar', 'Africa/Dakar'), ('Africa/Dar_es_Salaam', 'Africa/Dar_es_Salaam'), ('Africa/Djibouti', 'Africa/Djibouti'), ('Africa/Douala', 'Africa/Douala'), ('Africa/El_Aaiun', 'Africa/El_Aaiun'), ('Africa/Freetown', 'Africa/Freetown'), ('Africa/Gaborone', 'Africa/Gaborone'), ('Africa/Harare', 'Africa/Harare'), ('Africa/Johannesburg', 'Africa/Johannesburg'), ('Africa/Juba', 'Africa/Juba'), ('Africa/Kampala', 'Africa/Kampala'), ('Africa/Khartoum', 'Africa/Khartoum'), ('Africa/Kigali', 'Africa/Kigali'), ('Africa/Kinshasa', 'Africa/Kinshasa'), ('Africa/Lagos', 'Africa/Lagos'), ('Africa/Libreville', 'Africa/Libreville'), ('Africa/Lome', 'Africa/Lome'), ('Africa/Luanda', 'Africa/Luanda'), ('Africa/Lubumbashi', 'Africa/Lubumbashi'), ('Africa/Lusaka', 'Africa/Lusaka'), ('Africa/Malabo', 'Africa/Malabo'), ('Africa/Maputo', 'Africa/Maputo'), ('Africa/Maseru', 'Africa/Maseru'), ('Africa/Mbabane', 'Africa/Mbabane'), ('Africa/Mogadishu', 'Africa/Mogadishu'), ('Africa/Monrovia', 'Africa/Monrovia'), ('Africa/Nairobi', 'Africa/Nairobi'), ('Africa/Ndjamena', 'Africa/Ndjamena'), ('Africa/Niamey', 'Africa/Niamey'), ('Africa/Nouakchott', 'Africa/Nouakchott'), ('Africa/Ouagadougou', 'Africa/Ouagadougou'), ('Africa/Porto-Novo', 'Africa/Porto-Novo'), ('Africa/Sao_Tome', 'Africa/Sao_Tome'), ('Africa/Tripoli', 'Africa/Tripoli'), ('Africa/Tunis', 'Africa/Tunis'), ('Africa/Windhoek', 'Africa/Windhoek'), ('America/Adak', 'America/Adak'), ('America/Anchorage', 'America/Anchorage'), ('America/Anguilla', 'America/Anguilla'), ('America/Antigua', 'America/Antigua'), ('America/Araguaina', 'America/Araguaina'), ('America/Argentina/Buenos_Aires', 'America/Argentina/Buenos_Aires'), ('America/Argentina/Catamarca', 'America/Argentina/Catamarca'), ('America/Argentina/Cordoba', 'America/Argentina/Cordoba'), ('America/Argentina/Jujuy', 'America/Argentina/Jujuy'), ('America/Argentina/La_Rioja', 'America/Argentina/La_Rioja'), ('America/Argentina/Mendoza', 'America/Argentina/Mendoza'), ('America/Argentina/Rio_Gallegos', 'America/Argentina/Rio_Gallegos'), ('America/Argentina/Salta', 'America/Argentina/Salta'), ('America/Argentina/San_Juan', 'America/Argentina/San_Juan'), ('America/Argentina/San_Luis', 'America/Argentina/San_Luis'), ('America/Argentina/Tucuman', 'America/Argentina/Tucuman'), ('America/Argentina/Ushuaia', 'America/Argentina/Ushuaia'), ('America/Aruba', 'America/Aruba'), ('America/Asuncion', 'America/Asuncion'), ('America/Atikokan', 'America/Atikokan'), ('America/Bahia', 'America/Bahia'), ('America/Bahia_Banderas', 'America/Bahia_Banderas'), ('America/Barbados', 'America/Barbados'), ('America/Belem', 'America/Belem'), ('America/Belize', 'America/Belize'), ('America/Blanc-Sablon', 'America/Blanc-Sablon'), ('America/Boa_Vista', 'America/Boa_Vista'), ('America/Bogota', 'America/Bogota'), ('America/Boise', 'America/Boise'), ('America/Cambridge_Bay', 'America/Cambridge_Bay'), ('America/Campo_Grande', 'America/Campo_Grande'), ('America/Cancun', 'America/Cancun'), ('America/Caracas', 'America/Caracas'), ('America/Cayenne', 'America/Cayenne'), ('America/Cayman', 'America/Cayman'), ('America/Chicago', 'America/Chicago'), ('America/Chihuahua', 'America/Chihuahua'), ('America/Costa_Rica', 'America/Costa_Rica'), ('America/Creston', 'America/Creston'), ('America/Cuiaba', 'America/Cuiaba'), ('America/Curacao', 'America/Curacao'), ('America/Danmarkshavn', 'America/Danmarkshavn'), ('America/Dawson', 'America/Dawson'), ('America/Dawson_Creek', 'America/Dawson_Creek'), ('America/Denver', 'America/Denver'), ('America/Detroit', 'America/Detroit'), ('America/Dominica', 'America/Dominica'), ('America/Edmonton', 'America/Edmonton'), ('America/Eirunepe', 'America/Eirunepe'), ('America/El_Salvador', 'America/El_Salvador'), ('America/Fort_Nelson', 'America/Fort_Nelson'), ('America/Fortaleza', 'America/Fortaleza'), ('America/Glace_Bay', 'America/Glace_Bay'), ('America/Godthab', 'America/Godthab'), ('America/Goose_Bay', 'America/Goose_Bay'), ('America/Grand_Turk', 'America/Grand_Turk'), ('America/Grenada', 'America/Grenada'), ('America/Guadeloupe', 'America/Guadeloupe'), ('America/Guatemala', 'America/Guatemala'), ('America/Guayaquil', 'America/Guayaquil'), ('America/Guyana', 'America/Guyana'), ('America/Halifax', 'America/Halifax'), ('America/Havana', 'America/Havana'), ('America/Hermosillo', 'America/Hermosillo'), ('America/Indiana/Indianapolis', 'America/Indiana/Indianapolis'), ('America/Indiana/Knox', 'America/Indiana/Knox'), ('America/Indiana/Marengo', 'America/Indiana/Marengo'), ('America/Indiana/Petersburg', 'America/Indiana/Petersburg'), ('America/Indiana/Tell_City', 'America/Indiana/Tell_City'), ('America/Indiana/Vevay', 'America/Indiana/Vevay'), ('America/Indiana/Vincennes', 'America/Indiana/Vincennes'), ('America/Indiana/Winamac', 'America/Indiana/Winamac'), ('America/Inuvik', 'America/Inuvik'), ('America/Iqaluit', 'America/Iqaluit'), ('America/Jamaica', 'America/Jamaica'), ('America/Juneau', 'America/Juneau'), ('America/Kentucky/Louisville', 'America/Kentucky/Louisville'), ('America/Kentucky/Monticello', 'America/Kentucky/Monticello'), ('America/Kralendijk', 'America/Kralendijk'), ('America/La_Paz', 'America/La_Paz'), ('America/Lima', 'America/Lima'), ('America/Los_Angeles', 'America/Los_Angeles'), ('America/Lower_Princes', 'America/Lower_Princes'), ('America/Maceio', 'America/Maceio'), ('America/Managua', 'America/Managua'), ('America/Manaus', 'America/Manaus'), ('America/Marigot', 'America/Marigot'), ('America/Martinique', 'America/Martinique'), ('America/Matamoros', 'America/Matamoros'), ('America/Mazatlan', 'America/Mazatlan'), ('America/Menominee', 'America/Menominee'), ('America/Merida', 'America/Merida'), ('America/Metlakatla', 'America/Metlakatla'), ('America/Mexico_City', 'America/Mexico_City'), ('America/Miquelon', 'America/Miquelon'), ('America/Moncton', 'America/Moncton'), ('America/Monterrey', 'America/Monterrey'), ('America/Montevideo', 'America/Montevideo'), ('America/Montserrat', 'America/Montserrat'), ('America/Nassau', 'America/Nassau'), ('America/New_York', 'America/New_York'), ('America/Nipigon', 'America/Nipigon'), ('America/Nome', 'America/Nome'), ('America/Noronha', 'America/Noronha'), ('America/North_Dakota/Beulah', 'America/North_Dakota/Beulah'), ('America/North_Dakota/Center', 'America/North_Dakota/Center'), ('America/North_Dakota/New_Salem', 'America/North_Dakota/New_Salem'), ('America/Ojinaga', 'America/Ojinaga'), ('America/Panama', 'America/Panama'), ('America/Pangnirtung', 'America/Pangnirtung'), ('America/Paramaribo', 'America/Paramaribo'), ('America/Phoenix', 'America/Phoenix'), ('America/Port-au-Prince', 'America/Port-au-Prince'), ('America/Port_of_Spain', 'America/Port_of_Spain'), ('America/Porto_Velho', 'America/Porto_Velho'), ('America/Puerto_Rico', 'America/Puerto_Rico'), ('America/Punta_Arenas', 'America/Punta_Arenas'), ('America/Rainy_River', 'America/Rainy_River'), ('America/Rankin_Inlet', 'America/Rankin_Inlet'), ('America/Recife', 'America/Recife'), ('America/Regina', 'America/Regina'), ('America/Resolute', 'America/Resolute'), ('America/Rio_Branco', 'America/Rio_Branco'), ('America/Santarem', 'America/Santarem'), ('America/Santiago', 'America/Santiago'), ('America/Santo_Domingo', 'America/Santo_Domingo'), ('America/Sao_Paulo', 'America/Sao_Paulo'), ('America/Scoresbysund', 'America/Scoresbysund'), ('America/Sitka', 'America/Sitka'), ('America/St_Barthelemy', 'America/St_Barthelemy'), ('America/St_Johns', 'America/St_Johns'), ('America/St_Kitts', 'America/St_Kitts'), ('America/St_Lucia', 'America/St_Lucia'), ('America/St_Thomas', 'America/St_Thomas'), ('America/St_Vincent', 'America/St_Vincent'), ('America/Swift_Current', 'America/Swift_Current'), ('America/Tegucigalpa', 'America/Tegucigalpa'), ('America/Thule', 'America/Thule'), ('America/Thunder_Bay', 'America/Thunder_Bay'), ('America/Tijuana', 'America/Tijuana'), ('America/Toronto', 'America/Toronto'), ('America/Tortola', 'America/Tortola'), ('America/Vancouver', 'America/Vancouver'), ('America/Whitehorse', 'America/Whitehorse'), ('America/Winnipeg', 'America/Winnipeg'), ('America/Yakutat', 'America/Yakutat'), ('America/Yellowknife', 'America/Yellowknife'), ('Antarctica/Casey', 'Antarctica/Casey'), ('Antarctica/Davis', 'Antarctica/Davis'), ('Antarctica/DumontDUrville', 'Antarctica/DumontDUrville'), ('Antarctica/Macquarie', 'Antarctica/Macquarie'), ('Antarctica/Mawson', 'Antarctica/Mawson'), ('Antarctica/McMurdo', 'Antarctica/McMurdo'), ('Antarctica/Palmer', 'Antarctica/Palmer'), ('Antarctica/Rothera', 'Antarctica/Rothera'), ('Antarctica/Syowa', 'Antarctica/Syowa'), ('Antarctica/Troll', 'Antarctica/Troll'), ('Antarctica/Vostok', 'Antarctica/Vostok'), ('Arctic/Longyearbyen', 'Arctic/Longyearbyen'), ('Asia/Aden', 'Asia/Aden'), ('Asia/Almaty', 'Asia/Almaty'), ('Asia/Amman', 'Asia/Amman'), ('Asia/Anadyr', 'Asia/Anadyr'), ('Asia/Aqtau', 'Asia/Aqtau'), ('Asia/Aqtobe', 'Asia/Aqtobe'), ('Asia/Ashgabat', 'Asia/Ashgabat'), ('Asia/Atyrau', 'Asia/Atyrau'), ('Asia/Baghdad', 'Asia/Baghdad'), ('Asia/Bahrain', 'Asia/Bahrain'), ('Asia/Baku', 'Asia/Baku'), ('Asia/Bangkok', 'Asia/Bangkok'), ('Asia/Barnaul', 'Asia/Barnaul'), ('Asia/Beirut', 'Asia/Beirut'), ('Asia/Bishkek', 'Asia/Bishkek'), ('Asia/Brunei', 'Asia/Brunei'), ('Asia/Chita', 'Asia/Chita'), ('Asia/Choibalsan', 'Asia/Choibalsan'), ('Asia/Colombo', 'Asia/Colombo'), ('Asia/Damascus', 'Asia/Damascus'), ('Asia/Dhaka', 'Asia/Dhaka'), ('Asia/Dili', 'Asia/Dili'), ('Asia/Dubai', 'Asia/Dubai'), ('Asia/Dushanbe', 'Asia/Dushanbe'), ('Asia/Famagusta', 'Asia/Famagusta'), ('Asia/Gaza', 'Asia/Gaza'), ('Asia/Hebron', 'Asia/Hebron'), ('Asia/Ho_Chi_Minh', 'Asia/Ho_Chi_Minh'), ('Asia/Hong_Kong', 'Asia/Hong_Kong'), ('Asia/Hovd', 'Asia/Hovd'), ('Asia/Irkutsk', 'Asia/Irkutsk'), ('Asia/Jakarta', 'Asia/Jakarta'), ('Asia/Jayapura', 'Asia/Jayapura'), ('Asia/Jerusalem', 'Asia/Jerusalem'), ('Asia/Kabul', 'Asia/Kabul'), ('Asia/Kamchatka', 'Asia/Kamchatka'), ('Asia/Karachi', 'Asia/Karachi'), ('Asia/Kathmandu', 'Asia/Kathmandu'), ('Asia/Khandyga', 'Asia/Khandyga'), ('Asia/Kolkata', 'Asia/Kolkata'), ('Asia/Krasnoyarsk', 'Asia/Krasnoyarsk'), ('Asia/Kuala_Lumpur', 'Asia/Kuala_Lumpur'), ('Asia/Kuching', 'Asia/Kuching'), ('Asia/Kuwait', 'Asia/Kuwait'), ('Asia/Macau', 'Asia/Macau'), ('Asia/Magadan', 'Asia/Magadan'), ('Asia/Makassar', 'Asia/Makassar'), ('Asia/Manila', 'Asia/Manila'), ('Asia/Muscat', 'Asia/Muscat'), ('Asia/Nicosia', 'Asia/Nicosia'), ('Asia/Novokuznetsk', 'Asia/Novokuznetsk'), ('Asia/Novosibirsk', 'Asia/Novosibirsk'), ('Asia/Omsk', 'Asia/Omsk'), ('Asia/Oral', 'Asia/Oral'), ('Asia/Phnom_Penh', 'Asia/Phnom_Penh'), ('Asia/Pontianak', 'Asia/Pontianak'), ('Asia/Pyongyang', 'Asia/Pyongyang'), ('Asia/Qatar', 'Asia/Qatar'), ('Asia/Qostanay', 'Asia/Qostanay'), ('Asia/Qyzylorda', 'Asia/Qyzylorda'), ('Asia/Riyadh', 'Asia/Riyadh'), ('Asia/Sakhalin', 'Asia/Sakhalin'), ('Asia/Samarkand', 'Asia/Samarkand'), ('Asia/Seoul', 'Asia/Seoul'), ('Asia/Shanghai', 'Asia/Shanghai'), ('Asia/Singapore', 'Asia/Singapore'), ('Asia/Srednekolymsk', 'Asia/Srednekolymsk'), ('Asia/Taipei', 'Asia/Taipei'), ('Asia/Tashkent', 'Asia/Tashkent'), ('Asia/Tbilisi', 'Asia/Tbilisi'), ('Asia/Tehran', 'Asia/Tehran'), ('Asia/Thimphu', 'Asia/Thimphu'), ('Asia/Tokyo', 'Asia/Tokyo'), ('Asia/Tomsk', 'Asia/Tomsk'), ('Asia/Ulaanbaatar', 'Asia/Ulaanbaatar'), ('Asia/Urumqi', 'Asia/Urumqi'), ('Asia/Ust-Nera', 'Asia/Ust-Nera'), ('Asia/Vientiane', 'Asia/Vientiane'), ('Asia/Vladivostok', 'Asia/Vladivostok'), ('Asia/Yakutsk', 'Asia/Yakutsk'), ('Asia/Yangon', 'Asia/Yangon'), ('Asia/Yekaterinburg', 'Asia/Yekaterinburg'), ('Asia/Yerevan', 'Asia/Yerevan'), ('Atlantic/Azores', 'Atlantic/Azores'), ('Atlantic/Bermuda', 'Atlantic/Bermuda'), ('Atlantic/Canary', 'Atlantic/Canary'), ('Atlantic/Cape_Verde', 'Atlantic/Cape_Verde'), ('Atlantic/Faroe', 'Atlantic/Faroe'), ('Atlantic/Madeira', 'Atlantic/Madeira'), ('Atlantic/Reykjavik', 'Atlantic/Reykjavik'), ('Atlantic/South_Georgia', 'Atlantic/South_Georgia'), ('Atlantic/St_Helena', 'Atlantic/St_Helena'), ('Atlantic/Stanley', 'Atlantic/Stanley'), ('Australia/Adelaide', 'Australia/Adelaide'), ('Australia/Brisbane', 'Australia/Brisbane'), ('Australia/Broken_Hill', 'Australia/Broken_Hill'), ('Australia/Currie', 'Australia/Currie'), ('Australia/Darwin', 'Australia/Darwin'), ('Australia/Eucla', 'Australia/Eucla'), ('Australia/Hobart', 'Australia/Hobart'), ('Australia/Lindeman', 'Australia/Lindeman'), ('Australia/Lord_Howe', 'Australia/Lord_Howe'), ('Australia/Melbourne', 'Australia/Melbourne'), ('Australia/Perth', 'Australia/Perth'), ('Australia/Sydney', 'Australia/Sydney'), ('Canada/Atlantic', 'Canada/Atlantic'), ('Canada/Central', 'Canada/Central'), ('Canada/Eastern', 'Canada/Eastern'), ('Canada/Mountain', 'Canada/Mountain'), ('Canada/Newfoundland', 'Canada/Newfoundland'), ('Canada/Pacific', 'Canada/Pacific'), ('Europe/Amsterdam', 'Europe/Amsterdam'), ('Europe/Andorra', 'Europe/Andorra'), ('Europe/Astrakhan', 'Europe/Astrakhan'), ('Europe/Athens', 'Europe/Athens'), ('Europe/Belgrade', 'Europe/Belgrade'), ('Europe/Berlin', 'Europe/Berlin'), ('Europe/Bratislava', 'Europe/Bratislava'), ('Europe/Brussels', 'Europe/Brussels'), ('Europe/Bucharest', 'Europe/Bucharest'), ('Europe/Budapest', 'Europe/Budapest'), ('Europe/Busingen', 'Europe/Busingen'), ('Europe/Chisinau', 'Europe/Chisinau'), ('Europe/Copenhagen', 'Europe/Copenhagen'), ('Europe/Dublin', 'Europe/Dublin'), ('Europe/Gibraltar', 'Europe/Gibraltar'), ('Europe/Guernsey', 'Europe/Guernsey'), ('Europe/Helsinki', 'Europe/Helsinki'), ('Europe/Isle_of_Man', 'Europe/Isle_of_Man'), ('Europe/Istanbul', 'Europe/Istanbul'), ('Europe/Jersey', 'Europe/Jersey'), ('Europe/Kaliningrad', 'Europe/Kaliningrad'), ('Europe/Kiev', 'Europe/Kiev'), ('Europe/Kirov', 'Europe/Kirov'), ('Europe/Lisbon', 'Europe/Lisbon'), ('Europe/Ljubljana', 'Europe/Ljubljana'), ('Europe/London', 'Europe/London'), ('Europe/Luxembourg', 'Europe/Luxembourg'), ('Europe/Madrid', 'Europe/Madrid'), ('Europe/Malta', 'Europe/Malta'), ('Europe/Mariehamn', 'Europe/Mariehamn'), ('Europe/Minsk', 'Europe/Minsk'), ('Europe/Monaco', 'Europe/Monaco'), ('Europe/Moscow', 'Europe/Moscow'), ('Europe/Oslo', 'Europe/Oslo'), ('Europe/Paris', 'Europe/Paris'), ('Europe/Podgorica', 'Europe/Podgorica'), ('Europe/Prague', 'Europe/Prague'), ('Europe/Riga', 'Europe/Riga'), ('Europe/Rome', 'Europe/Rome'), ('Europe/Samara', 'Europe/Samara'), ('Europe/San_Marino', 'Europe/San_Marino'), ('Europe/Sarajevo', 'Europe/Sarajevo'), ('Europe/Saratov', 'Europe/Saratov'), ('Europe/Simferopol', 'Europe/Simferopol'), ('Europe/Skopje', 'Europe/Skopje'), ('Europe/Sofia', 'Europe/Sofia'), ('Europe/Stockholm', 'Europe/Stockholm'), ('Europe/Tallinn', 'Europe/Tallinn'), ('Europe/Tirane', 'Europe/Tirane'), ('Europe/Ulyanovsk', 'Europe/Ulyanovsk'), ('Europe/Uzhgorod', 'Europe/Uzhgorod'), ('Europe/Vaduz', 'Europe/Vaduz'), ('Europe/Vatican', 'Europe/Vatican'), ('Europe/Vienna', 'Europe/Vienna'), ('Europe/Vilnius', 'Europe/Vilnius'), ('Europe/Volgograd', 'Europe/Volgograd'), ('Europe/Warsaw', 'Europe/Warsaw'), ('Europe/Zagreb', 'Europe/Zagreb'), ('Europe/Zaporozhye', 'Europe/Zaporozhye'), ('Europe/Zurich', 'Europe/Zurich'), ('GMT', 'GMT'), ('Indian/Antananarivo', 'Indian/Antananarivo'), ('Indian/Chagos', 'Indian/Chagos'), ('Indian/Christmas', 'Indian/Christmas'), ('Indian/Cocos', 'Indian/Cocos'), ('Indian/Comoro', 'Indian/Comoro'), ('Indian/Kerguelen', 'Indian/Kerguelen'), ('Indian/Mahe', 'Indian/Mahe'), ('Indian/Maldives', 'Indian/Maldives'), ('Indian/Mauritius', 'Indian/Mauritius'), ('Indian/Mayotte', 'Indian/Mayotte'), ('Indian/Reunion', 'Indian/Reunion'), ('Pacific/Apia', 'Pacific/Apia'), ('Pacific/Auckland', 'Pacific/Auckland'), ('Pacific/Bougainville', 'Pacific/Bougainville'), ('Pacific/Chatham', 'Pacific/Chatham'), ('Pacific/Chuuk', 'Pacific/Chuuk'), ('Pacific/Easter', 'Pacific/Easter'), ('Pacific/Efate', 'Pacific/Efate'), ('Pacific/Enderbury', 'Pacific/Enderbury'), ('Pacific/Fakaofo', 'Pacific/Fakaofo'), ('Pacific/Fiji', 'Pacific/Fiji'), ('Pacific/Funafuti', 'Pacific/Funafuti'), ('Pacific/Galapagos', 'Pacific/Galapagos'), ('Pacific/Gambier', 'Pacific/Gambier'), ('Pacific/Guadalcanal', 'Pacific/Guadalcanal'), ('Pacific/Guam', 'Pacific/Guam'), ('Pacific/Honolulu', 'Pacific/Honolulu'), ('Pacific/Kiritimati', 'Pacific/Kiritimati'), ('Pacific/Kosrae', 'Pacific/Kosrae'), ('Pacific/Kwajalein', 'Pacific/Kwajalein'), ('Pacific/Majuro', 'Pacific/Majuro'), ('Pacific/Marquesas', 'Pacific/Marquesas'), ('Pacific/Midway', 'Pacific/Midway'), ('Pacific/Nauru', 'Pacific/Nauru'), ('Pacific/Niue', 'Pacific/Niue'), ('Pacific/Norfolk', 'Pacific/Norfolk'), ('Pacific/Noumea', 'Pacific/Noumea'), ('Pacific/Pago_Pago', 'Pacific/Pago_Pago'), ('Pacific/Palau', 'Pacific/Palau'), ('Pacific/Pitcairn', 'Pacific/Pitcairn'), ('Pacific/Pohnpei', 'Pacific/Pohnpei'), ('Pacific/Port_Moresby', 'Pacific/Port_Moresby'), ('Pacific/Rarotonga', 'Pacific/Rarotonga'), ('Pacific/Saipan', 'Pacific/Saipan'), ('Pacific/Tahiti', 'Pacific/Tahiti'), ('Pacific/Tarawa', 'Pacific/Tarawa'), ('Pacific/Tongatapu', 'Pacific/Tongatapu'), ('Pacific/Wake', 'Pacific/Wake'), ('Pacific/Wallis', 'Pacific/Wallis'), ('US/Alaska', 'US/Alaska'), ('US/Arizona', 'US/Arizona'), ('US/Central', 'US/Central'), ('US/Eastern', 'US/Eastern'), ('US/Hawaii', 'US/Hawaii'), ('US/Mountain', 'US/Mountain'), ('US/Pacific', 'US/Pacific'), ('UTC', 'UTC')], default='UTC', max_length=100, verbose_name='Default Time Zone')), + ('showfavoritechartnotes', models.BooleanField(default=True, verbose_name='Show Notes for Favorite Charts')), + ('coachinggroups', models.ManyToManyField(related_name='coaches', to='rowers.CoachingGroup')), + ('friends', models.ManyToManyField(blank=True, related_name='_rower_friends_+', to='rowers.Rower')), + ('mycoachgroup', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='coachingrole', to='rowers.CoachingGroup')), + ('paidplan', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='rowers.PaidPlan')), + ], + ), + migrations.CreateModel( + name='SiteAnnouncement', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateField(default=rowers.models.current_day)), + ('announcement', models.TextField(max_length=280)), + ('expires', models.DateField(default=rowers.models.current_day)), + ('modified', models.DateField(default=rowers.models.current_day)), + ('dotweet', models.BooleanField(default=False)), + ], + ), + migrations.CreateModel( + name='Team', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=150, unique=True, verbose_name='Team Name')), + ('notes', models.CharField(blank=True, max_length=200, verbose_name='Team Purpose')), + ('private', models.CharField(choices=[('private', 'private'), ('open', 'open')], default='open', max_length=30, verbose_name='Team Type')), + ('viewing', models.CharField(choices=[('coachonly', 'Coach Only'), ('allmembers', 'All Members')], default='allmembers', max_length=30, verbose_name='Sharing Behavior')), + ('manager', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='TrainingMacroCycle', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('startdate', models.DateField(default=rowers.models.current_day)), + ('enddate', models.DateField(default=rowers.models.half_year_from_now)), + ('notes', models.TextField(blank=True, max_length=300)), + ('type', models.CharField(choices=[('filler', 'System Defined'), ('userdefined', 'User Defined')], default='filler', max_length=150)), + ('plantime', models.IntegerField(default=0, verbose_name='Planned Duration')), + ('plandistance', models.IntegerField(default=0, verbose_name='Planned Distance')), + ('planrscore', models.IntegerField(default=0, verbose_name='Planned rScore')), + ('plantrimp', models.IntegerField(default=0, verbose_name='Planned TRIMP')), + ('actualtime', models.IntegerField(default=0, verbose_name='Actual Duration')), + ('actualdistance', models.IntegerField(default=0, verbose_name='Actual Distance')), + ('actualrscore', models.IntegerField(default=0, verbose_name='Actual rScore')), + ('actualtrimp', models.IntegerField(default=0, verbose_name='Actual TRIMP')), + ], + ), + migrations.CreateModel( + name='TrainingMesoCycle', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('startdate', models.DateField(default=rowers.models.current_day)), + ('enddate', models.DateField(default=rowers.models.half_year_from_now)), + ('notes', models.TextField(blank=True, max_length=300)), + ('type', models.CharField(choices=[('filler', 'System Defined'), ('userdefined', 'User Defined')], default='filler', max_length=150)), + ('plantime', models.IntegerField(default=0, verbose_name='Planned Duration')), + ('plandistance', models.IntegerField(default=0, verbose_name='Planned Distance')), + ('planrscore', models.IntegerField(default=0, verbose_name='Planned rScore')), + ('plantrimp', models.IntegerField(default=0, verbose_name='Planned TRIMP')), + ('actualtime', models.IntegerField(default=0, verbose_name='Actual Duration')), + ('actualdistance', models.IntegerField(default=0, verbose_name='Actual Distance')), + ('actualrscore', models.IntegerField(default=0, verbose_name='Actual rScore')), + ('actualtrimp', models.IntegerField(default=0, verbose_name='Actual TRIMP')), + ('plan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.TrainingMacroCycle')), ], ), migrations.CreateModel( name='Workout', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=30)), + ('name', models.CharField(blank=True, max_length=150, null=True)), ('date', models.DateField()), - ('type', models.CharField(choices=[('OTW', 'On-water'), ('OTE', 'Indoor Rower')], max_length=30)), + ('workouttype', models.CharField(choices=[('water', 'Standard Racing Shell'), ('rower', 'Indoor Rower'), ('skierg', 'Ski Erg'), ('bike', 'Bike Erg'), ('dynamic', 'Dynamic Indoor Rower'), ('slides', 'Indoor Rower on Slides'), ('paddle', 'Paddle Adapter'), ('snow', 'On-snow'), ('coastal', 'Coastal'), ('c-boat', 'Dutch C boat'), ('churchboat', 'Finnish Church boat'), ('Ride', 'Ride'), ('Run', 'Run'), ('NordicSki', 'NordicSki'), ('Swim', 'Swim'), ('Hike', 'Hike'), ('Walk', 'Walk'), ('Canoeing', 'Canoeing'), ('Crossfit', 'Crossfit'), ('StandUpPaddling', 'StandUpPaddling'), ('IceSkate', 'IceSkate'), ('WeightTraining', 'WeightTraining'), ('InlineSkate', 'InlineSkate'), ('Kayaking', 'Kayaking'), ('Workout', 'Workout'), ('other', 'Other')], max_length=50, verbose_name='Exercise/Boat Class')), + ('workoutsource', models.CharField(default='unknown', max_length=100)), + ('boattype', models.CharField(choices=[('1x', '1x (single)'), ('2x', '2x (double)'), ('2x+', '2x+ (coxed double)'), ('2-', '2- (pair)'), ('2+', '2+ (coxed pair)'), ('3x+', '3x+ (coxed triple)'), ('3x-', '3x- (triple)'), ('4x', '4x (quad)'), ('4x+', '4x+ (coxed quad)'), ('4-', '4- (four)'), ('4+', '4+ (coxed four)'), ('8+', '8+ (eight)'), ('8x+', '8x+ (octuple scull)')], default='1x', max_length=50, verbose_name='Boat Type')), + ('adaptiveclass', models.CharField(choices=[('None', 'None'), ('PR1', 'PR1 (Arms and Shoulders)'), ('PR2', 'PR2 (Trunk and Arms)'), ('PR3', 'PR3 (Leg Trunk and Arms)'), ('FES', 'FES (Functional Electrical Stimulation)')], default='None', max_length=50, verbose_name='Adaptive Classification')), + ('starttime', models.TimeField(blank=True, null=True)), + ('startdatetime', models.DateTimeField(blank=True, null=True)), + ('timezone', models.CharField(default='UTC', max_length=100)), + ('distance', models.IntegerField(blank=True, default=0)), + ('duration', models.TimeField(blank=True, default=1)), + ('dragfactor', models.IntegerField(blank=True, default=0)), + ('trimp', models.IntegerField(blank=True, default=-1)), + ('rscore', models.IntegerField(blank=True, default=-1)), + ('hrtss', models.IntegerField(blank=True, default=-1)), + ('normp', models.IntegerField(blank=True, default=-1)), + ('normv', models.FloatField(blank=True, default=-1)), + ('normw', models.FloatField(blank=True, default=-1)), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=10, verbose_name='Weight Category')), + ('weightvalue', models.FloatField(blank=True, default=80.0, verbose_name='Average Crew Weight (kg)')), + ('csvfilename', models.CharField(blank=True, max_length=150)), + ('uploadedtoc2', models.IntegerField(default=0)), + ('averagehr', models.IntegerField(blank=True, null=True)), + ('maxhr', models.BigIntegerField(blank=True, null=True)), + ('uploadedtostrava', models.BigIntegerField(default=0)), + ('uploadedtosporttracks', models.BigIntegerField(default=0)), + ('uploadedtounderarmour', models.BigIntegerField(default=0)), + ('uploadedtotp', models.BigIntegerField(default=0)), + ('uploadedtorunkeeper', models.BigIntegerField(default=0)), + ('forceunit', models.CharField(choices=[('lbs', 'lbs'), ('N', 'N')], default='lbs', max_length=100)), + ('inboard', models.FloatField(default=0.88)), + ('oarlength', models.FloatField(default=2.89)), + ('notes', models.CharField(blank=True, max_length=1000, null=True)), + ('summary', models.TextField(blank=True)), + ('privacy', models.CharField(choices=[('private', 'Private'), ('visible', 'Visible')], default='visible', max_length=30)), + ('rankingpiece', models.BooleanField(default=False, verbose_name='Ranking Piece')), + ('duplicate', models.BooleanField(default=False, verbose_name='Duplicate Workout')), + ('plannedsession', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='rowers.PlannedSession', verbose_name='Session')), + ('team', models.ManyToManyField(blank=True, to='rowers.Team')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Rower')), ], ), + migrations.CreateModel( + name='VirtualRace', + fields=[ + ('plannedsession_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='rowers.PlannedSession')), + ('registration_form', models.CharField(choices=[('windowstart', 'Start of Race Window'), ('windowend', 'End of Race Window'), ('deadline', 'Evaluation Closure Deadline'), ('manual', 'Manual - select below')], default='windowstart', max_length=100, verbose_name='Registration Closure Quick Selector')), + ('registration_closure', models.DateTimeField(blank=True, null=True)), + ('evaluation_closure', models.DateTimeField(blank=True, null=True)), + ('start_time', models.TimeField(blank=True, null=True)), + ('end_time', models.TimeField(blank=True, null=True)), + ('country', models.CharField(blank=True, max_length=100)), + ('timezone', models.CharField(choices=[('Africa/Abidjan', 'Africa/Abidjan'), ('Africa/Accra', 'Africa/Accra'), ('Africa/Addis_Ababa', 'Africa/Addis_Ababa'), ('Africa/Algiers', 'Africa/Algiers'), ('Africa/Asmara', 'Africa/Asmara'), ('Africa/Bamako', 'Africa/Bamako'), ('Africa/Bangui', 'Africa/Bangui'), ('Africa/Banjul', 'Africa/Banjul'), ('Africa/Bissau', 'Africa/Bissau'), ('Africa/Blantyre', 'Africa/Blantyre'), ('Africa/Brazzaville', 'Africa/Brazzaville'), ('Africa/Bujumbura', 'Africa/Bujumbura'), ('Africa/Cairo', 'Africa/Cairo'), ('Africa/Casablanca', 'Africa/Casablanca'), ('Africa/Ceuta', 'Africa/Ceuta'), ('Africa/Conakry', 'Africa/Conakry'), ('Africa/Dakar', 'Africa/Dakar'), ('Africa/Dar_es_Salaam', 'Africa/Dar_es_Salaam'), ('Africa/Djibouti', 'Africa/Djibouti'), ('Africa/Douala', 'Africa/Douala'), ('Africa/El_Aaiun', 'Africa/El_Aaiun'), ('Africa/Freetown', 'Africa/Freetown'), ('Africa/Gaborone', 'Africa/Gaborone'), ('Africa/Harare', 'Africa/Harare'), ('Africa/Johannesburg', 'Africa/Johannesburg'), ('Africa/Juba', 'Africa/Juba'), ('Africa/Kampala', 'Africa/Kampala'), ('Africa/Khartoum', 'Africa/Khartoum'), ('Africa/Kigali', 'Africa/Kigali'), ('Africa/Kinshasa', 'Africa/Kinshasa'), ('Africa/Lagos', 'Africa/Lagos'), ('Africa/Libreville', 'Africa/Libreville'), ('Africa/Lome', 'Africa/Lome'), ('Africa/Luanda', 'Africa/Luanda'), ('Africa/Lubumbashi', 'Africa/Lubumbashi'), ('Africa/Lusaka', 'Africa/Lusaka'), ('Africa/Malabo', 'Africa/Malabo'), ('Africa/Maputo', 'Africa/Maputo'), ('Africa/Maseru', 'Africa/Maseru'), ('Africa/Mbabane', 'Africa/Mbabane'), ('Africa/Mogadishu', 'Africa/Mogadishu'), ('Africa/Monrovia', 'Africa/Monrovia'), ('Africa/Nairobi', 'Africa/Nairobi'), ('Africa/Ndjamena', 'Africa/Ndjamena'), ('Africa/Niamey', 'Africa/Niamey'), ('Africa/Nouakchott', 'Africa/Nouakchott'), ('Africa/Ouagadougou', 'Africa/Ouagadougou'), ('Africa/Porto-Novo', 'Africa/Porto-Novo'), ('Africa/Sao_Tome', 'Africa/Sao_Tome'), ('Africa/Tripoli', 'Africa/Tripoli'), ('Africa/Tunis', 'Africa/Tunis'), ('Africa/Windhoek', 'Africa/Windhoek'), ('America/Adak', 'America/Adak'), ('America/Anchorage', 'America/Anchorage'), ('America/Anguilla', 'America/Anguilla'), ('America/Antigua', 'America/Antigua'), ('America/Araguaina', 'America/Araguaina'), ('America/Argentina/Buenos_Aires', 'America/Argentina/Buenos_Aires'), ('America/Argentina/Catamarca', 'America/Argentina/Catamarca'), ('America/Argentina/Cordoba', 'America/Argentina/Cordoba'), ('America/Argentina/Jujuy', 'America/Argentina/Jujuy'), ('America/Argentina/La_Rioja', 'America/Argentina/La_Rioja'), ('America/Argentina/Mendoza', 'America/Argentina/Mendoza'), ('America/Argentina/Rio_Gallegos', 'America/Argentina/Rio_Gallegos'), ('America/Argentina/Salta', 'America/Argentina/Salta'), ('America/Argentina/San_Juan', 'America/Argentina/San_Juan'), ('America/Argentina/San_Luis', 'America/Argentina/San_Luis'), ('America/Argentina/Tucuman', 'America/Argentina/Tucuman'), ('America/Argentina/Ushuaia', 'America/Argentina/Ushuaia'), ('America/Aruba', 'America/Aruba'), ('America/Asuncion', 'America/Asuncion'), ('America/Atikokan', 'America/Atikokan'), ('America/Bahia', 'America/Bahia'), ('America/Bahia_Banderas', 'America/Bahia_Banderas'), ('America/Barbados', 'America/Barbados'), ('America/Belem', 'America/Belem'), ('America/Belize', 'America/Belize'), ('America/Blanc-Sablon', 'America/Blanc-Sablon'), ('America/Boa_Vista', 'America/Boa_Vista'), ('America/Bogota', 'America/Bogota'), ('America/Boise', 'America/Boise'), ('America/Cambridge_Bay', 'America/Cambridge_Bay'), ('America/Campo_Grande', 'America/Campo_Grande'), ('America/Cancun', 'America/Cancun'), ('America/Caracas', 'America/Caracas'), ('America/Cayenne', 'America/Cayenne'), ('America/Cayman', 'America/Cayman'), ('America/Chicago', 'America/Chicago'), ('America/Chihuahua', 'America/Chihuahua'), ('America/Costa_Rica', 'America/Costa_Rica'), ('America/Creston', 'America/Creston'), ('America/Cuiaba', 'America/Cuiaba'), ('America/Curacao', 'America/Curacao'), ('America/Danmarkshavn', 'America/Danmarkshavn'), ('America/Dawson', 'America/Dawson'), ('America/Dawson_Creek', 'America/Dawson_Creek'), ('America/Denver', 'America/Denver'), ('America/Detroit', 'America/Detroit'), ('America/Dominica', 'America/Dominica'), ('America/Edmonton', 'America/Edmonton'), ('America/Eirunepe', 'America/Eirunepe'), ('America/El_Salvador', 'America/El_Salvador'), ('America/Fort_Nelson', 'America/Fort_Nelson'), ('America/Fortaleza', 'America/Fortaleza'), ('America/Glace_Bay', 'America/Glace_Bay'), ('America/Godthab', 'America/Godthab'), ('America/Goose_Bay', 'America/Goose_Bay'), ('America/Grand_Turk', 'America/Grand_Turk'), ('America/Grenada', 'America/Grenada'), ('America/Guadeloupe', 'America/Guadeloupe'), ('America/Guatemala', 'America/Guatemala'), ('America/Guayaquil', 'America/Guayaquil'), ('America/Guyana', 'America/Guyana'), ('America/Halifax', 'America/Halifax'), ('America/Havana', 'America/Havana'), ('America/Hermosillo', 'America/Hermosillo'), ('America/Indiana/Indianapolis', 'America/Indiana/Indianapolis'), ('America/Indiana/Knox', 'America/Indiana/Knox'), ('America/Indiana/Marengo', 'America/Indiana/Marengo'), ('America/Indiana/Petersburg', 'America/Indiana/Petersburg'), ('America/Indiana/Tell_City', 'America/Indiana/Tell_City'), ('America/Indiana/Vevay', 'America/Indiana/Vevay'), ('America/Indiana/Vincennes', 'America/Indiana/Vincennes'), ('America/Indiana/Winamac', 'America/Indiana/Winamac'), ('America/Inuvik', 'America/Inuvik'), ('America/Iqaluit', 'America/Iqaluit'), ('America/Jamaica', 'America/Jamaica'), ('America/Juneau', 'America/Juneau'), ('America/Kentucky/Louisville', 'America/Kentucky/Louisville'), ('America/Kentucky/Monticello', 'America/Kentucky/Monticello'), ('America/Kralendijk', 'America/Kralendijk'), ('America/La_Paz', 'America/La_Paz'), ('America/Lima', 'America/Lima'), ('America/Los_Angeles', 'America/Los_Angeles'), ('America/Lower_Princes', 'America/Lower_Princes'), ('America/Maceio', 'America/Maceio'), ('America/Managua', 'America/Managua'), ('America/Manaus', 'America/Manaus'), ('America/Marigot', 'America/Marigot'), ('America/Martinique', 'America/Martinique'), ('America/Matamoros', 'America/Matamoros'), ('America/Mazatlan', 'America/Mazatlan'), ('America/Menominee', 'America/Menominee'), ('America/Merida', 'America/Merida'), ('America/Metlakatla', 'America/Metlakatla'), ('America/Mexico_City', 'America/Mexico_City'), ('America/Miquelon', 'America/Miquelon'), ('America/Moncton', 'America/Moncton'), ('America/Monterrey', 'America/Monterrey'), ('America/Montevideo', 'America/Montevideo'), ('America/Montserrat', 'America/Montserrat'), ('America/Nassau', 'America/Nassau'), ('America/New_York', 'America/New_York'), ('America/Nipigon', 'America/Nipigon'), ('America/Nome', 'America/Nome'), ('America/Noronha', 'America/Noronha'), ('America/North_Dakota/Beulah', 'America/North_Dakota/Beulah'), ('America/North_Dakota/Center', 'America/North_Dakota/Center'), ('America/North_Dakota/New_Salem', 'America/North_Dakota/New_Salem'), ('America/Ojinaga', 'America/Ojinaga'), ('America/Panama', 'America/Panama'), ('America/Pangnirtung', 'America/Pangnirtung'), ('America/Paramaribo', 'America/Paramaribo'), ('America/Phoenix', 'America/Phoenix'), ('America/Port-au-Prince', 'America/Port-au-Prince'), ('America/Port_of_Spain', 'America/Port_of_Spain'), ('America/Porto_Velho', 'America/Porto_Velho'), ('America/Puerto_Rico', 'America/Puerto_Rico'), ('America/Punta_Arenas', 'America/Punta_Arenas'), ('America/Rainy_River', 'America/Rainy_River'), ('America/Rankin_Inlet', 'America/Rankin_Inlet'), ('America/Recife', 'America/Recife'), ('America/Regina', 'America/Regina'), ('America/Resolute', 'America/Resolute'), ('America/Rio_Branco', 'America/Rio_Branco'), ('America/Santarem', 'America/Santarem'), ('America/Santiago', 'America/Santiago'), ('America/Santo_Domingo', 'America/Santo_Domingo'), ('America/Sao_Paulo', 'America/Sao_Paulo'), ('America/Scoresbysund', 'America/Scoresbysund'), ('America/Sitka', 'America/Sitka'), ('America/St_Barthelemy', 'America/St_Barthelemy'), ('America/St_Johns', 'America/St_Johns'), ('America/St_Kitts', 'America/St_Kitts'), ('America/St_Lucia', 'America/St_Lucia'), ('America/St_Thomas', 'America/St_Thomas'), ('America/St_Vincent', 'America/St_Vincent'), ('America/Swift_Current', 'America/Swift_Current'), ('America/Tegucigalpa', 'America/Tegucigalpa'), ('America/Thule', 'America/Thule'), ('America/Thunder_Bay', 'America/Thunder_Bay'), ('America/Tijuana', 'America/Tijuana'), ('America/Toronto', 'America/Toronto'), ('America/Tortola', 'America/Tortola'), ('America/Vancouver', 'America/Vancouver'), ('America/Whitehorse', 'America/Whitehorse'), ('America/Winnipeg', 'America/Winnipeg'), ('America/Yakutat', 'America/Yakutat'), ('America/Yellowknife', 'America/Yellowknife'), ('Antarctica/Casey', 'Antarctica/Casey'), ('Antarctica/Davis', 'Antarctica/Davis'), ('Antarctica/DumontDUrville', 'Antarctica/DumontDUrville'), ('Antarctica/Macquarie', 'Antarctica/Macquarie'), ('Antarctica/Mawson', 'Antarctica/Mawson'), ('Antarctica/McMurdo', 'Antarctica/McMurdo'), ('Antarctica/Palmer', 'Antarctica/Palmer'), ('Antarctica/Rothera', 'Antarctica/Rothera'), ('Antarctica/Syowa', 'Antarctica/Syowa'), ('Antarctica/Troll', 'Antarctica/Troll'), ('Antarctica/Vostok', 'Antarctica/Vostok'), ('Arctic/Longyearbyen', 'Arctic/Longyearbyen'), ('Asia/Aden', 'Asia/Aden'), ('Asia/Almaty', 'Asia/Almaty'), ('Asia/Amman', 'Asia/Amman'), ('Asia/Anadyr', 'Asia/Anadyr'), ('Asia/Aqtau', 'Asia/Aqtau'), ('Asia/Aqtobe', 'Asia/Aqtobe'), ('Asia/Ashgabat', 'Asia/Ashgabat'), ('Asia/Atyrau', 'Asia/Atyrau'), ('Asia/Baghdad', 'Asia/Baghdad'), ('Asia/Bahrain', 'Asia/Bahrain'), ('Asia/Baku', 'Asia/Baku'), ('Asia/Bangkok', 'Asia/Bangkok'), ('Asia/Barnaul', 'Asia/Barnaul'), ('Asia/Beirut', 'Asia/Beirut'), ('Asia/Bishkek', 'Asia/Bishkek'), ('Asia/Brunei', 'Asia/Brunei'), ('Asia/Chita', 'Asia/Chita'), ('Asia/Choibalsan', 'Asia/Choibalsan'), ('Asia/Colombo', 'Asia/Colombo'), ('Asia/Damascus', 'Asia/Damascus'), ('Asia/Dhaka', 'Asia/Dhaka'), ('Asia/Dili', 'Asia/Dili'), ('Asia/Dubai', 'Asia/Dubai'), ('Asia/Dushanbe', 'Asia/Dushanbe'), ('Asia/Famagusta', 'Asia/Famagusta'), ('Asia/Gaza', 'Asia/Gaza'), ('Asia/Hebron', 'Asia/Hebron'), ('Asia/Ho_Chi_Minh', 'Asia/Ho_Chi_Minh'), ('Asia/Hong_Kong', 'Asia/Hong_Kong'), ('Asia/Hovd', 'Asia/Hovd'), ('Asia/Irkutsk', 'Asia/Irkutsk'), ('Asia/Jakarta', 'Asia/Jakarta'), ('Asia/Jayapura', 'Asia/Jayapura'), ('Asia/Jerusalem', 'Asia/Jerusalem'), ('Asia/Kabul', 'Asia/Kabul'), ('Asia/Kamchatka', 'Asia/Kamchatka'), ('Asia/Karachi', 'Asia/Karachi'), ('Asia/Kathmandu', 'Asia/Kathmandu'), ('Asia/Khandyga', 'Asia/Khandyga'), ('Asia/Kolkata', 'Asia/Kolkata'), ('Asia/Krasnoyarsk', 'Asia/Krasnoyarsk'), ('Asia/Kuala_Lumpur', 'Asia/Kuala_Lumpur'), ('Asia/Kuching', 'Asia/Kuching'), ('Asia/Kuwait', 'Asia/Kuwait'), ('Asia/Macau', 'Asia/Macau'), ('Asia/Magadan', 'Asia/Magadan'), ('Asia/Makassar', 'Asia/Makassar'), ('Asia/Manila', 'Asia/Manila'), ('Asia/Muscat', 'Asia/Muscat'), ('Asia/Nicosia', 'Asia/Nicosia'), ('Asia/Novokuznetsk', 'Asia/Novokuznetsk'), ('Asia/Novosibirsk', 'Asia/Novosibirsk'), ('Asia/Omsk', 'Asia/Omsk'), ('Asia/Oral', 'Asia/Oral'), ('Asia/Phnom_Penh', 'Asia/Phnom_Penh'), ('Asia/Pontianak', 'Asia/Pontianak'), ('Asia/Pyongyang', 'Asia/Pyongyang'), ('Asia/Qatar', 'Asia/Qatar'), ('Asia/Qostanay', 'Asia/Qostanay'), ('Asia/Qyzylorda', 'Asia/Qyzylorda'), ('Asia/Riyadh', 'Asia/Riyadh'), ('Asia/Sakhalin', 'Asia/Sakhalin'), ('Asia/Samarkand', 'Asia/Samarkand'), ('Asia/Seoul', 'Asia/Seoul'), ('Asia/Shanghai', 'Asia/Shanghai'), ('Asia/Singapore', 'Asia/Singapore'), ('Asia/Srednekolymsk', 'Asia/Srednekolymsk'), ('Asia/Taipei', 'Asia/Taipei'), ('Asia/Tashkent', 'Asia/Tashkent'), ('Asia/Tbilisi', 'Asia/Tbilisi'), ('Asia/Tehran', 'Asia/Tehran'), ('Asia/Thimphu', 'Asia/Thimphu'), ('Asia/Tokyo', 'Asia/Tokyo'), ('Asia/Tomsk', 'Asia/Tomsk'), ('Asia/Ulaanbaatar', 'Asia/Ulaanbaatar'), ('Asia/Urumqi', 'Asia/Urumqi'), ('Asia/Ust-Nera', 'Asia/Ust-Nera'), ('Asia/Vientiane', 'Asia/Vientiane'), ('Asia/Vladivostok', 'Asia/Vladivostok'), ('Asia/Yakutsk', 'Asia/Yakutsk'), ('Asia/Yangon', 'Asia/Yangon'), ('Asia/Yekaterinburg', 'Asia/Yekaterinburg'), ('Asia/Yerevan', 'Asia/Yerevan'), ('Atlantic/Azores', 'Atlantic/Azores'), ('Atlantic/Bermuda', 'Atlantic/Bermuda'), ('Atlantic/Canary', 'Atlantic/Canary'), ('Atlantic/Cape_Verde', 'Atlantic/Cape_Verde'), ('Atlantic/Faroe', 'Atlantic/Faroe'), ('Atlantic/Madeira', 'Atlantic/Madeira'), ('Atlantic/Reykjavik', 'Atlantic/Reykjavik'), ('Atlantic/South_Georgia', 'Atlantic/South_Georgia'), ('Atlantic/St_Helena', 'Atlantic/St_Helena'), ('Atlantic/Stanley', 'Atlantic/Stanley'), ('Australia/Adelaide', 'Australia/Adelaide'), ('Australia/Brisbane', 'Australia/Brisbane'), ('Australia/Broken_Hill', 'Australia/Broken_Hill'), ('Australia/Currie', 'Australia/Currie'), ('Australia/Darwin', 'Australia/Darwin'), ('Australia/Eucla', 'Australia/Eucla'), ('Australia/Hobart', 'Australia/Hobart'), ('Australia/Lindeman', 'Australia/Lindeman'), ('Australia/Lord_Howe', 'Australia/Lord_Howe'), ('Australia/Melbourne', 'Australia/Melbourne'), ('Australia/Perth', 'Australia/Perth'), ('Australia/Sydney', 'Australia/Sydney'), ('Canada/Atlantic', 'Canada/Atlantic'), ('Canada/Central', 'Canada/Central'), ('Canada/Eastern', 'Canada/Eastern'), ('Canada/Mountain', 'Canada/Mountain'), ('Canada/Newfoundland', 'Canada/Newfoundland'), ('Canada/Pacific', 'Canada/Pacific'), ('Europe/Amsterdam', 'Europe/Amsterdam'), ('Europe/Andorra', 'Europe/Andorra'), ('Europe/Astrakhan', 'Europe/Astrakhan'), ('Europe/Athens', 'Europe/Athens'), ('Europe/Belgrade', 'Europe/Belgrade'), ('Europe/Berlin', 'Europe/Berlin'), ('Europe/Bratislava', 'Europe/Bratislava'), ('Europe/Brussels', 'Europe/Brussels'), ('Europe/Bucharest', 'Europe/Bucharest'), ('Europe/Budapest', 'Europe/Budapest'), ('Europe/Busingen', 'Europe/Busingen'), ('Europe/Chisinau', 'Europe/Chisinau'), ('Europe/Copenhagen', 'Europe/Copenhagen'), ('Europe/Dublin', 'Europe/Dublin'), ('Europe/Gibraltar', 'Europe/Gibraltar'), ('Europe/Guernsey', 'Europe/Guernsey'), ('Europe/Helsinki', 'Europe/Helsinki'), ('Europe/Isle_of_Man', 'Europe/Isle_of_Man'), ('Europe/Istanbul', 'Europe/Istanbul'), ('Europe/Jersey', 'Europe/Jersey'), ('Europe/Kaliningrad', 'Europe/Kaliningrad'), ('Europe/Kiev', 'Europe/Kiev'), ('Europe/Kirov', 'Europe/Kirov'), ('Europe/Lisbon', 'Europe/Lisbon'), ('Europe/Ljubljana', 'Europe/Ljubljana'), ('Europe/London', 'Europe/London'), ('Europe/Luxembourg', 'Europe/Luxembourg'), ('Europe/Madrid', 'Europe/Madrid'), ('Europe/Malta', 'Europe/Malta'), ('Europe/Mariehamn', 'Europe/Mariehamn'), ('Europe/Minsk', 'Europe/Minsk'), ('Europe/Monaco', 'Europe/Monaco'), ('Europe/Moscow', 'Europe/Moscow'), ('Europe/Oslo', 'Europe/Oslo'), ('Europe/Paris', 'Europe/Paris'), ('Europe/Podgorica', 'Europe/Podgorica'), ('Europe/Prague', 'Europe/Prague'), ('Europe/Riga', 'Europe/Riga'), ('Europe/Rome', 'Europe/Rome'), ('Europe/Samara', 'Europe/Samara'), ('Europe/San_Marino', 'Europe/San_Marino'), ('Europe/Sarajevo', 'Europe/Sarajevo'), ('Europe/Saratov', 'Europe/Saratov'), ('Europe/Simferopol', 'Europe/Simferopol'), ('Europe/Skopje', 'Europe/Skopje'), ('Europe/Sofia', 'Europe/Sofia'), ('Europe/Stockholm', 'Europe/Stockholm'), ('Europe/Tallinn', 'Europe/Tallinn'), ('Europe/Tirane', 'Europe/Tirane'), ('Europe/Ulyanovsk', 'Europe/Ulyanovsk'), ('Europe/Uzhgorod', 'Europe/Uzhgorod'), ('Europe/Vaduz', 'Europe/Vaduz'), ('Europe/Vatican', 'Europe/Vatican'), ('Europe/Vienna', 'Europe/Vienna'), ('Europe/Vilnius', 'Europe/Vilnius'), ('Europe/Volgograd', 'Europe/Volgograd'), ('Europe/Warsaw', 'Europe/Warsaw'), ('Europe/Zagreb', 'Europe/Zagreb'), ('Europe/Zaporozhye', 'Europe/Zaporozhye'), ('Europe/Zurich', 'Europe/Zurich'), ('GMT', 'GMT'), ('Indian/Antananarivo', 'Indian/Antananarivo'), ('Indian/Chagos', 'Indian/Chagos'), ('Indian/Christmas', 'Indian/Christmas'), ('Indian/Cocos', 'Indian/Cocos'), ('Indian/Comoro', 'Indian/Comoro'), ('Indian/Kerguelen', 'Indian/Kerguelen'), ('Indian/Mahe', 'Indian/Mahe'), ('Indian/Maldives', 'Indian/Maldives'), ('Indian/Mauritius', 'Indian/Mauritius'), ('Indian/Mayotte', 'Indian/Mayotte'), ('Indian/Reunion', 'Indian/Reunion'), ('Pacific/Apia', 'Pacific/Apia'), ('Pacific/Auckland', 'Pacific/Auckland'), ('Pacific/Bougainville', 'Pacific/Bougainville'), ('Pacific/Chatham', 'Pacific/Chatham'), ('Pacific/Chuuk', 'Pacific/Chuuk'), ('Pacific/Easter', 'Pacific/Easter'), ('Pacific/Efate', 'Pacific/Efate'), ('Pacific/Enderbury', 'Pacific/Enderbury'), ('Pacific/Fakaofo', 'Pacific/Fakaofo'), ('Pacific/Fiji', 'Pacific/Fiji'), ('Pacific/Funafuti', 'Pacific/Funafuti'), ('Pacific/Galapagos', 'Pacific/Galapagos'), ('Pacific/Gambier', 'Pacific/Gambier'), ('Pacific/Guadalcanal', 'Pacific/Guadalcanal'), ('Pacific/Guam', 'Pacific/Guam'), ('Pacific/Honolulu', 'Pacific/Honolulu'), ('Pacific/Kiritimati', 'Pacific/Kiritimati'), ('Pacific/Kosrae', 'Pacific/Kosrae'), ('Pacific/Kwajalein', 'Pacific/Kwajalein'), ('Pacific/Majuro', 'Pacific/Majuro'), ('Pacific/Marquesas', 'Pacific/Marquesas'), ('Pacific/Midway', 'Pacific/Midway'), ('Pacific/Nauru', 'Pacific/Nauru'), ('Pacific/Niue', 'Pacific/Niue'), ('Pacific/Norfolk', 'Pacific/Norfolk'), ('Pacific/Noumea', 'Pacific/Noumea'), ('Pacific/Pago_Pago', 'Pacific/Pago_Pago'), ('Pacific/Palau', 'Pacific/Palau'), ('Pacific/Pitcairn', 'Pacific/Pitcairn'), ('Pacific/Pohnpei', 'Pacific/Pohnpei'), ('Pacific/Port_Moresby', 'Pacific/Port_Moresby'), ('Pacific/Rarotonga', 'Pacific/Rarotonga'), ('Pacific/Saipan', 'Pacific/Saipan'), ('Pacific/Tahiti', 'Pacific/Tahiti'), ('Pacific/Tarawa', 'Pacific/Tarawa'), ('Pacific/Tongatapu', 'Pacific/Tongatapu'), ('Pacific/Wake', 'Pacific/Wake'), ('Pacific/Wallis', 'Pacific/Wallis'), ('US/Alaska', 'US/Alaska'), ('US/Arizona', 'US/Arizona'), ('US/Central', 'US/Central'), ('US/Eastern', 'US/Eastern'), ('US/Hawaii', 'US/Hawaii'), ('US/Mountain', 'US/Mountain'), ('US/Pacific', 'US/Pacific'), ('UTC', 'UTC')], default='UTC', max_length=100)), + ('contact_phone', models.CharField(blank=True, max_length=17, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+999999999'. Up to 15 digits allowed.", regex='^\\+?1?\\d{9,15}$')])), + ('contact_email', models.EmailField(blank=True, max_length=254, validators=[django.core.validators.EmailValidator()])), + ], + bases=('rowers.plannedsession',), + ), + migrations.CreateModel( + name='WorkoutComment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('comment', models.TextField(max_length=300)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('read', models.BooleanField(default=False)), + ('notification', models.BooleanField(default=True, verbose_name='Subscribe to new comment notifications')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), + ('workout', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Workout')), + ], + ), + migrations.CreateModel( + name='TrainingTarget', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('date', models.DateField(default=rowers.models.half_year_from_now)), + ('notes', models.TextField(blank=True, max_length=300)), + ('manager', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='targetmanager', to='rowers.Rower')), + ('rowers', models.ManyToManyField(related_name='targetathletes', to='rowers.Rower', verbose_name='Athletes')), + ], + ), + migrations.CreateModel( + name='TrainingPlan', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('status', models.BooleanField(default=True, verbose_name='Active')), + ('startdate', models.DateField(default=rowers.models.current_day)), + ('enddate', models.DateField(default=rowers.models.half_year_from_now)), + ('manager', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='planmanager', to='rowers.Rower')), + ('rowers', models.ManyToManyField(related_name='planathletes', to='rowers.Rower', verbose_name='Athletes')), + ('target', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='rowers.TrainingTarget')), + ], + ), + migrations.CreateModel( + name='TrainingMicroCycle', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('startdate', models.DateField(default=rowers.models.current_day)), + ('enddate', models.DateField(default=rowers.models.half_year_from_now)), + ('notes', models.TextField(blank=True, max_length=300)), + ('type', models.CharField(choices=[('filler', 'System Defined'), ('userdefined', 'User Defined')], default='filler', max_length=150)), + ('plantime', models.IntegerField(default=0, verbose_name='Planned Duration')), + ('plandistance', models.IntegerField(default=0, verbose_name='Planned Distance')), + ('planrscore', models.IntegerField(default=0, verbose_name='Planned rScore')), + ('plantrimp', models.IntegerField(default=0, verbose_name='Planned TRIMP')), + ('actualtime', models.IntegerField(default=0, verbose_name='Actual Duration')), + ('actualdistance', models.IntegerField(default=0, verbose_name='Actual Distance')), + ('actualrscore', models.IntegerField(default=0, verbose_name='Actual rScore')), + ('actualtrimp', models.IntegerField(default=0, verbose_name='Actual TRIMP')), + ('plan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.TrainingMesoCycle')), + ], + ), + migrations.AddField( + model_name='trainingmacrocycle', + name='plan', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.TrainingPlan'), + ), + migrations.CreateModel( + name='TombStone', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('uploadedtoc2', models.IntegerField(default=0)), + ('uploadedtostrava', models.BigIntegerField(default=0)), + ('uploadedtosporttracks', models.BigIntegerField(default=0)), + ('uploadedtounderarmour', models.BigIntegerField(default=0)), + ('uploadedtotp', models.BigIntegerField(default=0)), + ('uploadedtorunkeeper', models.BigIntegerField(default=0)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Rower')), + ], + ), + migrations.CreateModel( + name='TeamRequest', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('issuedate', models.DateField(default=rowers.models.current_day)), + ('code', models.CharField(max_length=150, unique=True)), + ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Team')), + ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='TeamInvite', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('issuedate', models.DateField(default=rowers.models.current_day)), + ('code', models.CharField(max_length=150, unique=True)), + ('email', models.CharField(blank=True, max_length=150, null=True)), + ('team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Team')), + ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='StrokeData', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('workoutid', models.IntegerField(null=True)), + ('workoutstate', models.IntegerField(default=1, null=True)), + ('ftime', models.CharField(max_length=30)), + ('fpace', models.CharField(max_length=30)), + ('hr_ut2', models.IntegerField(null=True)), + ('hr_ut1', models.IntegerField(null=True)), + ('hr_at', models.IntegerField(null=True)), + ('hr_tr', models.IntegerField(null=True)), + ('hr_an', models.IntegerField(null=True)), + ('hr_max', models.IntegerField(null=True)), + ('hr_bottom', models.IntegerField(null=True)), + ('x_right', models.FloatField(null=True)), + ('ergpace', models.FloatField(null=True)), + ('nowindpace', models.FloatField(null=True)), + ('equivergpower', models.FloatField(null=True)), + ('fergpace', models.CharField(max_length=30)), + ('fnowindpace', models.CharField(max_length=30)), + ('time', models.FloatField(null=True, verbose_name='Time')), + ('hr', models.IntegerField(null=True, verbose_name='Heart Rate (bpm)')), + ('pace', models.FloatField(null=True, verbose_name='Pace (/500m)')), + ('velo', models.FloatField(default=0, null=True, verbose_name='Boat Speed (m/s)')), + ('spm', models.FloatField(null=True, verbose_name='Stroke Rate (spm)')), + ('driveenergy', models.FloatField(null=True, verbose_name='Work Per Stroke (J)')), + ('power', models.FloatField(null=True, verbose_name='Power (W)')), + ('averageforce', models.FloatField(null=True, verbose_name='Average Drive Force (N)')), + ('peakforce', models.FloatField(null=True, verbose_name='Peak Drive Force (N)')), + ('drivelength', models.FloatField(null=True, verbose_name='Drive Length (m)')), + ('forceratio', models.FloatField(null=True, verbose_name='Average/Peak Force Ratio')), + ('distance', models.FloatField(null=True, verbose_name='Distance (m)')), + ('cumdist', models.FloatField(null=True, verbose_name='Cumulative Distance (m)')), + ('drivespeed', models.FloatField(default=0, null=True, verbose_name='Drive Speed (m/s)')), + ('catch', models.FloatField(default=0, null=True, verbose_name='Catch Angle (degrees)')), + ('slip', models.FloatField(default=0, null=True, verbose_name='Slip (degrees)')), + ('finish', models.FloatField(default=0, null=True, verbose_name='Finish Angle (degrees)')), + ('wash', models.FloatField(default=0, null=True, verbose_name='Wash (degrees)')), + ('peakforceangle', models.FloatField(default=0, null=True, verbose_name='Peak Force Angle')), + ('totalangle', models.FloatField(default=0, null=True, verbose_name='Drive Length (deg)')), + ('effectiveangle', models.FloatField(default=0, null=True, verbose_name='Effective Drive Length (deg)')), + ('rhythm', models.FloatField(default=1.0, null=True, verbose_name='Stroke Rhythm')), + ('efficiency', models.FloatField(default=0, null=True, verbose_name='OTW Efficiency (%)')), + ('distanceperstroke', models.FloatField(default=0, null=True, verbose_name='Distance per Stroke (m)')), + ], + options={ + 'db_table': 'strokedata', + 'index_together': {('workoutid',)}, + }, + ), + migrations.AddField( + model_name='rower', + name='team', + field=models.ManyToManyField(blank=True, to='rowers.Team'), + ), + migrations.AddField( + model_name='rower', + name='user', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + migrations.CreateModel( + name='PowerTimeFitnessMetric', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField(default=rowers.models.current_day)), + ('last_workout', models.IntegerField(default=0)), + ('PowerFourMin', models.FloatField(default=0)), + ('PowerTwoK', models.FloatField(default=0)), + ('PowerOneHour', models.FloatField(default=0)), + ('workoutmode', models.CharField(choices=[('rower', 'Rower'), ('water', 'On the water')], default='rower', max_length=40)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + options={ + 'db_table': 'powertimefitnessmetric', + }, + ), + migrations.CreateModel( + name='PlannedSessionComment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('comment', models.TextField(max_length=300)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('read', models.BooleanField(default=False)), + ('notification', models.BooleanField(default=True, verbose_name='Subscribe to new comment notifications')), + ('plannedsession', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.PlannedSession')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.AddField( + model_name='plannedsession', + name='rower', + field=models.ManyToManyField(blank=True, to='rowers.Rower'), + ), + migrations.AddField( + model_name='plannedsession', + name='team', + field=models.ManyToManyField(blank=True, to='rowers.Team'), + ), + migrations.CreateModel( + name='GraphImage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('filename', models.CharField(blank=True, default='', max_length=150, null=True)), + ('creationdatetime', models.DateTimeField()), + ('width', models.IntegerField(default=1200)), + ('height', models.IntegerField(default=600)), + ('workout', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Workout')), + ], + ), + migrations.CreateModel( + name='GeoPolygon', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=150)), + ('order_in_course', models.IntegerField(default=0)), + ('course', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='rowers.GeoCourse')), + ], + ), + migrations.CreateModel( + name='GeoPoint', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('latitude', models.FloatField(default=0)), + ('longitude', models.FloatField(default=0)), + ('order_in_poly', models.IntegerField(default=0)), + ('polygon', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='rowers.GeoPolygon')), + ], + ), + migrations.AddField( + model_name='geocourse', + name='manager', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='rowers.Rower'), + ), + migrations.CreateModel( + name='FavoriteChart', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('yparam1', models.CharField(choices=[('averageforce', 'Average Drive Force (N)'), ('forceratio', 'Average/Peak Force Ratio'), ('velo', 'Boat Speed (m/s)'), ('catch', 'Catch Angle (degrees)'), ('cumdist', 'Cumulative Distance (m)'), ('distance', 'Distance (m)'), ('distanceperstroke', 'Distance per Stroke (m)'), ('totalangle', 'Drive Length (deg)'), ('drivelength', 'Drive Length (m)'), ('drivespeed', 'Drive Speed (m/s)'), ('effectiveangle', 'Effective Drive Length (deg)'), ('finish', 'Finish Angle (degrees)'), ('hr', 'Heart Rate (bpm)'), ('efficiency', 'OTW Efficiency (%)'), ('pace', 'Pace (/500m)'), ('peakforce', 'Peak Drive Force (N)'), ('peakforceangle', 'Peak Force Angle'), ('power', 'Power (W)'), ('slip', 'Slip (degrees)'), ('spm', 'Stroke Rate (spm)'), ('rhythm', 'Stroke Rhythm'), ('time', 'Time'), ('wash', 'Wash (degrees)'), ('driveenergy', 'Work Per Stroke (J)')], max_length=50, verbose_name='Y1')), + ('yparam2', models.CharField(blank=True, choices=[('None', ''), ('averageforce', 'Average Drive Force (N)'), ('forceratio', 'Average/Peak Force Ratio'), ('velo', 'Boat Speed (m/s)'), ('catch', 'Catch Angle (degrees)'), ('cumdist', 'Cumulative Distance (m)'), ('distance', 'Distance (m)'), ('distanceperstroke', 'Distance per Stroke (m)'), ('totalangle', 'Drive Length (deg)'), ('drivelength', 'Drive Length (m)'), ('drivespeed', 'Drive Speed (m/s)'), ('effectiveangle', 'Effective Drive Length (deg)'), ('finish', 'Finish Angle (degrees)'), ('hr', 'Heart Rate (bpm)'), ('efficiency', 'OTW Efficiency (%)'), ('pace', 'Pace (/500m)'), ('peakforce', 'Peak Drive Force (N)'), ('peakforceangle', 'Peak Force Angle'), ('power', 'Power (W)'), ('slip', 'Slip (degrees)'), ('spm', 'Stroke Rate (spm)'), ('rhythm', 'Stroke Rhythm'), ('time', 'Time'), ('wash', 'Wash (degrees)'), ('driveenergy', 'Work Per Stroke (J)')], default='None', max_length=50, verbose_name='Y2')), + ('xparam', models.CharField(choices=[('None', ''), ('averageforce', 'Average Drive Force (N)'), ('forceratio', 'Average/Peak Force Ratio'), ('velo', 'Boat Speed (m/s)'), ('catch', 'Catch Angle (degrees)'), ('cumdist', 'Cumulative Distance (m)'), ('distance', 'Distance (m)'), ('distanceperstroke', 'Distance per Stroke (m)'), ('totalangle', 'Drive Length (deg)'), ('drivelength', 'Drive Length (m)'), ('drivespeed', 'Drive Speed (m/s)'), ('effectiveangle', 'Effective Drive Length (deg)'), ('finish', 'Finish Angle (degrees)'), ('hr', 'Heart Rate (bpm)'), ('efficiency', 'OTW Efficiency (%)'), ('pace', 'Pace (/500m)'), ('peakforce', 'Peak Drive Force (N)'), ('peakforceangle', 'Peak Force Angle'), ('power', 'Power (W)'), ('slip', 'Slip (degrees)'), ('spm', 'Stroke Rate (spm)'), ('rhythm', 'Stroke Rhythm'), ('time', 'Time'), ('wash', 'Wash (degrees)'), ('driveenergy', 'Work Per Stroke (J)')], max_length=50, verbose_name='X')), + ('plottype', models.CharField(choices=[('line', 'Line Chart'), ('scatter', 'Scatter Chart')], default='line', max_length=50, verbose_name='Chart Type')), + ('workouttype', models.CharField(choices=[('ote', 'Erg/SkiErg'), ('otw', 'On The Water'), ('all', 'All'), ('strava', 'strava'), ('concept2', 'concept2'), ('sporttracks', 'sporttracks'), ('runkeeper', 'runkeeper'), ('mapmyfitness', 'mapmyfitness'), ('csv', 'painsled'), ('tcx', 'tcx'), ('rp', 'rowperfect'), ('mystery', 'mystery'), ('rowperfect3', 'rowperfect3'), ('ergdata', 'ergdata'), ('boatcoach', 'boatcoach'), ('boatcoachotw', 'boatcoachotw'), ('painsleddesktop', 'painsleddesktop'), ('speedcoach', 'speedcoach'), ('speedcoach2', 'speedcoach2'), ('ergstick', 'ergstick'), ('fit', 'fit'), ('unknown', 'unknown')], default='both', max_length=50, verbose_name='Workout Type')), + ('reststrokes', models.BooleanField(default=True, verbose_name='Incl. Rest')), + ('notes', models.CharField(blank=True, default='Flex Chart Notes', max_length=300, verbose_name='Chart Notes')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Rower')), + ], + ), + migrations.CreateModel( + name='ergcpdata', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delta', models.IntegerField(default=0)), + ('cp', models.FloatField(default=0)), + ('distance', models.FloatField(default=0)), + ('user', models.IntegerField(default=0)), + ], + options={ + 'db_table': 'ergcpdata', + 'index_together': {('user',)}, + }, + ), + migrations.CreateModel( + name='cpergdata', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delta', models.IntegerField(default=0)), + ('cp', models.FloatField(default=0)), + ('user', models.IntegerField(default=0)), + ], + options={ + 'db_table': 'cpergdata', + 'index_together': {('user',)}, + }, + ), + migrations.CreateModel( + name='cpdata', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('delta', models.IntegerField(default=0)), + ('cp', models.FloatField(default=0)), + ('user', models.IntegerField(default=0)), + ], + options={ + 'db_table': 'cpdata', + 'index_together': {('user',)}, + }, + ), + migrations.CreateModel( + name='CourseTestResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('userid', models.IntegerField(default=0)), + ('workoutid', models.IntegerField(null=True)), + ('duration', models.TimeField(default=datetime.time(1, 0))), + ('distance', models.IntegerField(default=0)), + ('coursecompleted', models.BooleanField(default=False)), + ('plannedsession', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.PlannedSession')), + ], + ), + migrations.CreateModel( + name='CoachRequest', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('issuedate', models.DateField(default=rowers.models.current_day)), + ('code', models.CharField(max_length=150, unique=True)), + ('coach', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Rower')), + ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='CoachOffer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('issuedate', models.DateField(default=rowers.models.current_day)), + ('code', models.CharField(max_length=150, unique=True)), + ('coach', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Rower')), + ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='C2WorldClassAgePerformance', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=30)), + ('sex', models.CharField(choices=[('male', 'male'), ('female', 'female')], default='female', max_length=30)), + ('age', models.IntegerField(default=19, verbose_name='Age')), + ('distance', models.IntegerField(default=2000)), + ('name', models.CharField(blank=True, max_length=200)), + ('duration', models.FloatField(blank=True, default=1)), + ('season', models.IntegerField(default=2013)), + ('power', models.IntegerField(default=200)), + ], + options={ + 'unique_together': {('age', 'sex', 'weightcategory', 'distance')}, + }, + ), + migrations.CreateModel( + name='VirtualRaceResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('userid', models.IntegerField(default=0)), + ('teamname', models.CharField(blank=True, max_length=80, null=True, verbose_name='Team Name')), + ('username', models.CharField(max_length=150)), + ('workoutid', models.IntegerField(null=True)), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=10, verbose_name='Weight Category')), + ('adaptiveclass', models.CharField(choices=[('None', 'None'), ('PR1', 'PR1 (Arms and Shoulders)'), ('PR2', 'PR2 (Trunk and Arms)'), ('PR3', 'PR3 (Leg Trunk and Arms)'), ('FES', 'FES (Functional Electrical Stimulation)')], default='None', max_length=50, verbose_name='Adaptive Class')), + ('duration', models.TimeField(default=datetime.time(1, 0))), + ('distance', models.IntegerField(default=0)), + ('boatclass', models.CharField(choices=[('water', 'Standard Racing Shell'), ('coastal', 'Coastal'), ('c-boat', 'Dutch C boat'), ('churchboat', 'Finnish Church boat')], default='water', max_length=40, verbose_name='Boat Class')), + ('boattype', models.CharField(choices=[('1x', '1x (single)'), ('2x', '2x (double)'), ('2x+', '2x+ (coxed double)'), ('2-', '2- (pair)'), ('2+', '2+ (coxed pair)'), ('3x+', '3x+ (coxed triple)'), ('3x-', '3x- (triple)'), ('4x', '4x (quad)'), ('4x+', '4x+ (coxed quad)'), ('4-', '4- (four)'), ('4+', '4+ (coxed four)'), ('8+', '8+ (eight)'), ('8x+', '8x+ (octuple scull)')], default='1x', max_length=40, verbose_name='Boat Type')), + ('coursecompleted', models.BooleanField(default=False)), + ('sex', models.CharField(choices=[('male', 'male'), ('female', 'female'), ('not specified', 'not specified')], default='not specified', max_length=30, verbose_name='Gender')), + ('age', models.IntegerField(null=True)), + ('emailnotifications', models.BooleanField(default=True, verbose_name='Receive race notifications by email')), + ('race', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.VirtualRace')), + ], + ), + migrations.CreateModel( + name='RaceLogo', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('filename', models.CharField(default='', max_length=150)), + ('creationdatetime', models.DateTimeField()), + ('width', models.IntegerField(default=1200)), + ('height', models.IntegerField(default=600)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), + ('race', models.ManyToManyField(related_name='logos', to='rowers.VirtualRace')), + ], + ), + migrations.CreateModel( + name='IndoorVirtualRaceResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('userid', models.IntegerField(default=0)), + ('teamname', models.CharField(blank=True, max_length=80, null=True, verbose_name='Team Name')), + ('username', models.CharField(max_length=150)), + ('workoutid', models.IntegerField(null=True)), + ('weightcategory', models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=10, verbose_name='Weight Category')), + ('adaptiveclass', models.CharField(choices=[('None', 'None'), ('PR1', 'PR1 (Arms and Shoulders)'), ('PR2', 'PR2 (Trunk and Arms)'), ('PR3', 'PR3 (Leg Trunk and Arms)'), ('FES', 'FES (Functional Electrical Stimulation)')], default='None', max_length=50, verbose_name='Adaptive Class')), + ('duration', models.TimeField(default=datetime.time(1, 0))), + ('distance', models.IntegerField(default=0)), + ('boatclass', models.CharField(choices=[('rower', 'Indoor Rower'), ('dynamic', 'Dynamic Indoor Rower'), ('slides', 'Indoor Rower on Slides')], default='rower', max_length=40, verbose_name='Ergometer Class')), + ('coursecompleted', models.BooleanField(default=False)), + ('sex', models.CharField(choices=[('male', 'male'), ('female', 'female'), ('not specified', 'not specified')], default='not specified', max_length=30, verbose_name='Gender')), + ('age', models.IntegerField(null=True)), + ('emailnotifications', models.BooleanField(default=True, verbose_name='Receive race notifications by email')), + ('race', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.VirtualRace')), + ], + ), ] diff --git a/rowers/migrations/0002_auto_20160426_1043.py b/rowers/migrations/0002_auto_20160426_1043.py deleted file mode 100644 index 46f09592..00000000 --- a/rowers/migrations/0002_auto_20160426_1043.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-26 08:43 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0001_initial'), - ] - - operations = [ - migrations.RenameField( - model_name='workout', - old_name='type', - new_name='workouttype', - ), - ] diff --git a/rowers/migrations/0003_auto_20160426_1048.py b/rowers/migrations/0003_auto_20160426_1048.py deleted file mode 100644 index 74bd095a..00000000 --- a/rowers/migrations/0003_auto_20160426_1048.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-26 08:48 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0002_auto_20160426_1043'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='workouttype', - field=models.CharField(choices=[('water', 'On-water'), ('rower', 'Indoor Rower'), ('skierg', 'Ski Erg'), ('dynamic', 'Dynamic Indoor Rower'), ('slides', 'Indoor Rower on Slides'), ('paddle', 'Paddle Adapter'), ('snow', 'On-snow')], max_length=30), - ), - ] diff --git a/rowers/migrations/0004_auto_20160426_1441.py b/rowers/migrations/0004_auto_20160426_1441.py deleted file mode 100644 index 4c6f854e..00000000 --- a/rowers/migrations/0004_auto_20160426_1441.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-26 12:41 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0003_auto_20160426_1048'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='an', - field=models.IntegerField(default=180), - ), - migrations.AddField( - model_name='rower', - name='at', - field=models.IntegerField(default=160), - ), - migrations.AddField( - model_name='rower', - name='rest', - field=models.IntegerField(default=48), - ), - migrations.AddField( - model_name='rower', - name='tr', - field=models.IntegerField(default=167), - ), - migrations.AddField( - model_name='rower', - name='ut1', - field=models.IntegerField(default=146), - ), - migrations.AddField( - model_name='rower', - name='ut2', - field=models.IntegerField(default=105), - ), - migrations.AlterField( - model_name='rower', - name='max', - field=models.IntegerField(default=192), - ), - ] diff --git a/rowers/migrations/0005_auto_20160426_1446.py b/rowers/migrations/0005_auto_20160426_1446.py deleted file mode 100644 index c61ffb79..00000000 --- a/rowers/migrations/0005_auto_20160426_1446.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-26 12:46 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0004_auto_20160426_1441'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='c2token', - field=models.CharField(default='', max_length=50), - ), - migrations.AddField( - model_name='rower', - name='tokenexpirydate', - field=models.DateField(blank=True, null=True), - ), - migrations.AddField( - model_name='rower', - name='weightcategory', - field=models.CharField(default='hwt', max_length=30), - ), - ] diff --git a/rowers/migrations/0006_auto_20160427_1350.py b/rowers/migrations/0006_auto_20160427_1350.py deleted file mode 100644 index 5ba06faf..00000000 --- a/rowers/migrations/0006_auto_20160427_1350.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-27 11:50 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0005_auto_20160426_1446'), - ] - - operations = [ - migrations.AlterField( - model_name='rower', - name='c2token', - field=models.CharField(blank=True, default='', max_length=50, null=True), - ), - ] diff --git a/rowers/migrations/0007_auto_20160428_1153.py b/rowers/migrations/0007_auto_20160428_1153.py deleted file mode 100644 index 5a0784e9..00000000 --- a/rowers/migrations/0007_auto_20160428_1153.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 09:53 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0006_auto_20160427_1350'), - ] - - operations = [ - migrations.CreateModel( - name='GraphImage', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('filename', models.CharField(blank=True, default='', max_length=50, null=True)), - ('creationdatetime', models.DateTimeField()), - ('workout', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rowers.Workout')), - ], - ), - migrations.AlterField( - model_name='rower', - name='weightcategory', - field=models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'leight-weight')], default='hwt', max_length=30), - ), - ] diff --git a/rowers/migrations/0008_auto_20160428_1154.py b/rowers/migrations/0008_auto_20160428_1154.py deleted file mode 100644 index 16c7a05b..00000000 --- a/rowers/migrations/0008_auto_20160428_1154.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 09:54 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0007_auto_20160428_1153'), - ] - - operations = [ - migrations.AlterField( - model_name='rower', - name='weightcategory', - field=models.CharField(choices=[('hwt', 'heavy-weight'), ('lwt', 'light-weight')], default='hwt', max_length=30), - ), - ] diff --git a/rowers/migrations/0009_auto_20160428_1955.py b/rowers/migrations/0009_auto_20160428_1955.py deleted file mode 100644 index e406694a..00000000 --- a/rowers/migrations/0009_auto_20160428_1955.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 17:55 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0008_auto_20160428_1154'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='starttime', - field=models.TimeField(blank=True, null=True), - ), - migrations.AlterField( - model_name='rower', - name='an', - field=models.IntegerField(default=180, verbose_name='AN band lower HR'), - ), - migrations.AlterField( - model_name='rower', - name='at', - field=models.IntegerField(default=160, verbose_name='AT band lower HR'), - ), - migrations.AlterField( - model_name='rower', - name='max', - field=models.IntegerField(default=192, verbose_name='Max Heart Rate'), - ), - migrations.AlterField( - model_name='rower', - name='rest', - field=models.IntegerField(default=48, verbose_name='Resting Heart Rate'), - ), - migrations.AlterField( - model_name='rower', - name='tr', - field=models.IntegerField(default=167, verbose_name='TR band lower HR'), - ), - migrations.AlterField( - model_name='rower', - name='ut1', - field=models.IntegerField(default=146, verbose_name='UT1 band lower HR'), - ), - migrations.AlterField( - model_name='rower', - name='ut2', - field=models.IntegerField(default=105, verbose_name='UT2 band lower HR'), - ), - ] diff --git a/rowers/migrations/0010_workout_distance.py b/rowers/migrations/0010_workout_distance.py deleted file mode 100644 index 85ac5657..00000000 --- a/rowers/migrations/0010_workout_distance.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 17:58 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0009_auto_20160428_1955'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='distance', - field=models.IntegerField(blank=True, default=0), - ), - ] diff --git a/rowers/migrations/0011_auto_20160428_2009.py b/rowers/migrations/0011_auto_20160428_2009.py deleted file mode 100644 index a68306a5..00000000 --- a/rowers/migrations/0011_auto_20160428_2009.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 18:09 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0010_workout_distance'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='csvfilename', - field=models.CharField(blank=True, max_length=50), - ), - migrations.AddField( - model_name='workout', - name='duration', - field=models.IntegerField(blank=True, default=0), - preserve_default=False, - ), - migrations.AddField( - model_name='workout', - name='notes', - field=models.CharField(blank=True, max_length=100), - ), - migrations.AddField( - model_name='workout', - name='uploadedtoc2', - field=models.BooleanField(default=False), - ), - migrations.AddField( - model_name='workout', - name='weightclass', - field=models.CharField(default='hwt', max_length=10), - ), - ] diff --git a/rowers/migrations/0012_auto_20160428_2010.py b/rowers/migrations/0012_auto_20160428_2010.py deleted file mode 100644 index 8ef16d4a..00000000 --- a/rowers/migrations/0012_auto_20160428_2010.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 18:10 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0011_auto_20160428_2009'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='duration', - field=models.IntegerField(blank=True, default=1), - ), - ] diff --git a/rowers/migrations/0013_auto_20160428_2021.py b/rowers/migrations/0013_auto_20160428_2021.py deleted file mode 100644 index 5e3c5111..00000000 --- a/rowers/migrations/0013_auto_20160428_2021.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 18:21 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0012_auto_20160428_2010'), - ] - - operations = [ - migrations.RenameField( - model_name='workout', - old_name='weightclass', - new_name='weightcategory', - ), - ] diff --git a/rowers/migrations/0014_auto_20160428_2251.py b/rowers/migrations/0014_auto_20160428_2251.py deleted file mode 100644 index 46a54491..00000000 --- a/rowers/migrations/0014_auto_20160428_2251.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-28 20:51 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0013_auto_20160428_2021'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='duration', - field=models.TimeField(blank=True, default=1), - ), - ] diff --git a/rowers/migrations/0015_auto_20160429_2038.py b/rowers/migrations/0015_auto_20160429_2038.py deleted file mode 100644 index ddc88015..00000000 --- a/rowers/migrations/0015_auto_20160429_2038.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-29 18:38 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0014_auto_20160428_2251'), - ] - - operations = [ - migrations.AlterField( - model_name='graphimage', - name='filename', - field=models.CharField(blank=True, default='', max_length=150, null=True), - ), - ] diff --git a/rowers/migrations/0016_auto_20160501_1119.py b/rowers/migrations/0016_auto_20160501_1119.py deleted file mode 100644 index 4c863795..00000000 --- a/rowers/migrations/0016_auto_20160501_1119.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-01 09:19 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0015_auto_20160429_2038'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='c2refreshtoken', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - migrations.AlterField( - model_name='rower', - name='c2token', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - ] diff --git a/rowers/migrations/0017_auto_20160501_1126.py b/rowers/migrations/0017_auto_20160501_1126.py deleted file mode 100644 index af96a886..00000000 --- a/rowers/migrations/0017_auto_20160501_1126.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-01 09:26 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0016_auto_20160501_1119'), - ] - - operations = [ - migrations.AlterField( - model_name='rower', - name='tokenexpirydate', - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/rowers/migrations/0018_auto_20160501_1944.py b/rowers/migrations/0018_auto_20160501_1944.py deleted file mode 100644 index 3020be4e..00000000 --- a/rowers/migrations/0018_auto_20160501_1944.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-01 17:44 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0017_auto_20160501_1126'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='uploadedtoc2', - field=models.IntegerField(default=0), - ), - ] diff --git a/rowers/migrations/0019_auto_20160522_1659.py b/rowers/migrations/0019_auto_20160522_1659.py deleted file mode 100644 index c24d0625..00000000 --- a/rowers/migrations/0019_auto_20160522_1659.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-22 14:59 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0018_auto_20160501_1944'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='stravarefreshtoken', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - migrations.AddField( - model_name='rower', - name='stravatoken', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - migrations.AddField( - model_name='rower', - name='stravatokenexpirydate', - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/rowers/migrations/0020_auto_20160522_1726.py b/rowers/migrations/0020_auto_20160522_1726.py deleted file mode 100644 index 52b0440a..00000000 --- a/rowers/migrations/0020_auto_20160522_1726.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-22 15:26 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0019_auto_20160522_1659'), - ] - - operations = [ - migrations.RemoveField( - model_name='rower', - name='stravarefreshtoken', - ), - migrations.RemoveField( - model_name='rower', - name='stravatokenexpirydate', - ), - ] diff --git a/rowers/migrations/0021_rower_rowerplan.py b/rowers/migrations/0021_rower_rowerplan.py deleted file mode 100644 index ebc0a422..00000000 --- a/rowers/migrations/0021_rower_rowerplan.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-25 12:50 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0020_auto_20160522_1726'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='rowerplan', - field=models.CharField(choices=[('basic', 'basic'), ('pro', 'pro')], default='basic', max_length=30), - ), - ] diff --git a/rowers/migrations/0022_auto_20160529_2115.py b/rowers/migrations/0022_auto_20160529_2115.py deleted file mode 100644 index ed585c1a..00000000 --- a/rowers/migrations/0022_auto_20160529_2115.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-29 19:15 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0021_rower_rowerplan'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='csvfilename', - field=models.CharField(blank=True, max_length=150), - ), - migrations.AlterField( - model_name='workout', - name='notes', - field=models.CharField(blank=True, max_length=200), - ), - migrations.AlterField( - model_name='workout', - name='workouttype', - field=models.CharField(choices=[('water', 'On-water'), ('rower', 'Indoor Rower'), ('skierg', 'Ski Erg'), ('dynamic', 'Dynamic Indoor Rower'), ('slides', 'Indoor Rower on Slides'), ('paddle', 'Paddle Adapter'), ('snow', 'On-snow')], max_length=50), - ), - ] diff --git a/rowers/migrations/0023_auto_20160530_0914.py b/rowers/migrations/0023_auto_20160530_0914.py deleted file mode 100644 index c240493e..00000000 --- a/rowers/migrations/0023_auto_20160530_0914.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-30 07:14 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0022_auto_20160529_2115'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='name', - field=models.CharField(max_length=150), - ), - ] diff --git a/rowers/migrations/0024_workout_uploadedtostrava.py b/rowers/migrations/0024_workout_uploadedtostrava.py deleted file mode 100644 index 29266b17..00000000 --- a/rowers/migrations/0024_workout_uploadedtostrava.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-02 13:56 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0023_auto_20160530_0914'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='uploadedtostrava', - field=models.IntegerField(default=0), - ), - ] diff --git a/rowers/migrations/0025_workout_summary.py b/rowers/migrations/0025_workout_summary.py deleted file mode 100644 index 5399f4a2..00000000 --- a/rowers/migrations/0025_workout_summary.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-08 06:11 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0024_workout_uploadedtostrava'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='summary', - field=models.TextField(blank=True), - ), - ] diff --git a/rowers/migrations/0026_auto_20160608_2137.py b/rowers/migrations/0026_auto_20160608_2137.py deleted file mode 100644 index 04c87107..00000000 --- a/rowers/migrations/0026_auto_20160608_2137.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-08 19:37 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0025_workout_summary'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='averagehr', - field=models.IntegerField(blank=True, default=0), - preserve_default=False, - ), - migrations.AddField( - model_name='workout', - name='maxhr', - field=models.IntegerField(blank=True, default=0), - preserve_default=False, - ), - ] diff --git a/rowers/migrations/0027_workout_uploadedtosporttracks.py b/rowers/migrations/0027_workout_uploadedtosporttracks.py deleted file mode 100644 index 2405cd05..00000000 --- a/rowers/migrations/0027_workout_uploadedtosporttracks.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-09 16:22 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0026_auto_20160608_2137'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='uploadedtosporttracks', - field=models.IntegerField(default=0), - ), - ] diff --git a/rowers/migrations/0028_rower_sporttrackstoken.py b/rowers/migrations/0028_rower_sporttrackstoken.py deleted file mode 100644 index fc70da44..00000000 --- a/rowers/migrations/0028_rower_sporttrackstoken.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-09 16:37 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0027_workout_uploadedtosporttracks'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='sporttrackstoken', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - ] diff --git a/rowers/migrations/0029_auto_20160610_0825.py b/rowers/migrations/0029_auto_20160610_0825.py deleted file mode 100644 index 68c55066..00000000 --- a/rowers/migrations/0029_auto_20160610_0825.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-10 06:25 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0028_rower_sporttrackstoken'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='uploadedtosporttracks', - field=models.IntegerField(blank=True, default=0), - ), - ] diff --git a/rowers/migrations/0030_auto_20160610_0826.py b/rowers/migrations/0030_auto_20160610_0826.py deleted file mode 100644 index 601c2a41..00000000 --- a/rowers/migrations/0030_auto_20160610_0826.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-10 06:26 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0029_auto_20160610_0825'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='uploadedtosporttracks', - field=models.IntegerField(blank=True, default=0, null=True), - ), - ] diff --git a/rowers/migrations/0031_auto_20160610_0843.py b/rowers/migrations/0031_auto_20160610_0843.py deleted file mode 100644 index 9386f0e8..00000000 --- a/rowers/migrations/0031_auto_20160610_0843.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-10 06:43 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0030_auto_20160610_0826'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='averagehr', - field=models.IntegerField(blank=True, null=True), - ), - migrations.AlterField( - model_name='workout', - name='maxhr', - field=models.IntegerField(blank=True, null=True), - ), - migrations.AlterField( - model_name='workout', - name='uploadedtosporttracks', - field=models.IntegerField(default=0), - ), - ] diff --git a/rowers/migrations/0032_auto_20160615_1332.py b/rowers/migrations/0032_auto_20160615_1332.py deleted file mode 100644 index ced2bbeb..00000000 --- a/rowers/migrations/0032_auto_20160615_1332.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-15 11:32 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0031_auto_20160610_0843'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='sporttracksrefreshtoken', - field=models.CharField(blank=True, default='', max_length=200, null=True), - ), - migrations.AddField( - model_name='rower', - name='sporttrackstokenexpirytdata', - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/rowers/migrations/0033_auto_20160617_0927.py b/rowers/migrations/0033_auto_20160617_0927.py deleted file mode 100644 index e4192f7b..00000000 --- a/rowers/migrations/0033_auto_20160617_0927.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-17 07:27 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0032_auto_20160615_1332'), - ] - - operations = [ - migrations.RenameField( - model_name='rower', - old_name='sporttrackstokenexpirytdata', - new_name='sporttrackstokenexpirytdate', - ), - ] diff --git a/rowers/migrations/0034_auto_20160617_0929.py b/rowers/migrations/0034_auto_20160617_0929.py deleted file mode 100644 index cbfd2eef..00000000 --- a/rowers/migrations/0034_auto_20160617_0929.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-17 07:29 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0033_auto_20160617_0927'), - ] - - operations = [ - migrations.RenameField( - model_name='rower', - old_name='sporttrackstokenexpirytdate', - new_name='sporttrackstokenexpirydate', - ), - ] diff --git a/rowers/migrations/0035_auto_20160623_0815.py b/rowers/migrations/0035_auto_20160623_0815.py deleted file mode 100644 index 5a3f0332..00000000 --- a/rowers/migrations/0035_auto_20160623_0815.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-23 06:15 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0034_auto_20160617_0929'), - ] - - operations = [ - migrations.CreateModel( - name='Team', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=150)), - ('notes', models.CharField(blank=True, max_length=200)), - ], - ), - migrations.AlterField( - model_name='rower', - name='rowerplan', - field=models.CharField(choices=[('basic', 'basic'), ('pro', 'pro'), ('coach', 'coach')], default='basic', max_length=30), - ), - migrations.AddField( - model_name='workout', - name='team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rowers.Team'), - ), - ] diff --git a/rowers/migrations/0036_rower_team.py b/rowers/migrations/0036_rower_team.py deleted file mode 100644 index 287d3203..00000000 --- a/rowers/migrations/0036_rower_team.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-23 06:17 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0035_auto_20160623_0815'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='team', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rowers.Team'), - ), - ] diff --git a/rowers/migrations/0037_auto_20160629_1014.py b/rowers/migrations/0037_auto_20160629_1014.py deleted file mode 100644 index b7b30108..00000000 --- a/rowers/migrations/0037_auto_20160629_1014.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-29 08:14 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0036_rower_team'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='boattype', - field=models.CharField(blank=True, choices=[('1x', '1x (single)'), ('2x', '2x (double - not working)')], default='1x', max_length=50), - ), - migrations.AddField( - model_name='workout', - name='weightvalue', - field=models.FloatField(blank=True, default=80.0), - ), - ] diff --git a/rowers/migrations/0038_auto_20160629_1023.py b/rowers/migrations/0038_auto_20160629_1023.py deleted file mode 100644 index ee1ae219..00000000 --- a/rowers/migrations/0038_auto_20160629_1023.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-06-29 08:23 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0037_auto_20160629_1014'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='boattype', - field=models.CharField(blank=True, choices=[('1x', '1x (single)'), ('2x', '2x (double - not working)')], default='1x', max_length=50, verbose_name='Boat Type'), - ), - migrations.AlterField( - model_name='workout', - name='weightvalue', - field=models.FloatField(blank=True, default=80.0, verbose_name='Average Crew Weight (kg)'), - ), - ] diff --git a/rowers/migrations/0039_auto_20160719_2240.py b/rowers/migrations/0039_auto_20160719_2240.py deleted file mode 100644 index 6a187912..00000000 --- a/rowers/migrations/0039_auto_20160719_2240.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-19 20:40 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0038_auto_20160629_1023'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='boattype', - field=models.CharField(choices=[('1x', '1x (single)'), ('2x', '2x (double)'), ('2-', '2- (pair)'), ('4x', '4x (quad)'), ('4-', '4- (four)'), ('8+', '8+ (eight)')], default='1x (single)', max_length=50, verbose_name='Boat Type'), - ), - ] diff --git a/rowers/migrations/0040_workout_startdatetime.py b/rowers/migrations/0040_workout_startdatetime.py deleted file mode 100644 index 856f0870..00000000 --- a/rowers/migrations/0040_workout_startdatetime.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-07-20 19:31 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0039_auto_20160719_2240'), - ] - - operations = [ - migrations.AddField( - model_name='workout', - name='startdatetime', - field=models.DateTimeField(blank=True, null=True), - ), - ] diff --git a/rowers/migrations/0041_rower_friends.py b/rowers/migrations/0041_rower_friends.py deleted file mode 100644 index a133aa20..00000000 --- a/rowers/migrations/0041_rower_friends.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-09-01 12:58 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0040_workout_startdatetime'), - ] - - operations = [ - migrations.AddField( - model_name='rower', - name='friends', - field=models.ManyToManyField(related_name='_rower_friends_+', to='rowers.Rower'), - ), - ] diff --git a/rowers/migrations/0042_auto_20161101_2235.py b/rowers/migrations/0042_auto_20161101_2235.py deleted file mode 100644 index da4f530b..00000000 --- a/rowers/migrations/0042_auto_20161101_2235.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-11-01 21:35 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('rowers', '0041_rower_friends'), - ] - - operations = [ - migrations.AlterField( - model_name='workout', - name='notes', - field=models.CharField(blank=True, max_length=200, null=True), - ), - ]