diff --git a/backend/secfit/users/migrations/0001_initial.py b/backend/secfit/users/migrations/0001_initial.py index f54d52e24b3d41f54cf62935f80d29a0c989298a..e95b30d4751e3f36605b7144eb216231b6fe5ca9 100644 --- a/backend/secfit/users/migrations/0001_initial.py +++ b/backend/secfit/users/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.1 on 2022-03-14 20:07 +# Generated by Django 3.1 on 2020-08-21 03:42 from django.conf import settings import django.contrib.auth.models @@ -6,7 +6,6 @@ import django.contrib.auth.validators from django.db import migrations, models import django.db.models.deletion import django.utils.timezone -import users.models class Migration(migrations.Migration): @@ -14,60 +13,199 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('auth', '0012_alter_user_first_name_max_length'), + ("auth", "0012_alter_user_first_name_max_length"), ] operations = [ migrations.CreateModel( - name='User', + name="User", fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), - ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), - ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), - ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), - ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), - ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), - ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), - ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), - ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), - ('phone_number', models.TextField(blank=True, max_length=50)), - ('country', models.TextField(blank=True, max_length=50)), - ('city', models.TextField(blank=True, max_length=50)), - ('street_address', models.TextField(blank=True, max_length=50)), - ('favourite_exercise', models.TextField(blank=True, max_length=50)), - ('main_gym', models.TextField(blank=True, max_length=50)), - ('coach', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='athletes', to=settings.AUTH_USER_MODEL)), - ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), - ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("password", models.CharField(max_length=128, verbose_name="password")), + ( + "last_login", + models.DateTimeField( + blank=True, null=True, verbose_name="last login" + ), + ), + ( + "is_superuser", + models.BooleanField( + default=False, + help_text="Designates that this user has all permissions without explicitly assigning them.", + verbose_name="superuser status", + ), + ), + ( + "username", + models.CharField( + error_messages={ + "unique": "A user with that username already exists." + }, + help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", + max_length=150, + unique=True, + validators=[ + django.contrib.auth.validators.UnicodeUsernameValidator() + ], + verbose_name="username", + ), + ), + ( + "first_name", + models.CharField( + blank=True, max_length=150, verbose_name="first name" + ), + ), + ( + "last_name", + models.CharField( + blank=True, max_length=150, verbose_name="last name" + ), + ), + ( + "email", + models.EmailField( + blank=True, max_length=254, verbose_name="email address" + ), + ), + ( + "is_staff", + models.BooleanField( + default=False, + help_text="Designates whether the user can log into this admin site.", + verbose_name="staff status", + ), + ), + ( + "is_active", + models.BooleanField( + default=True, + help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.", + verbose_name="active", + ), + ), + ( + "date_joined", + models.DateTimeField( + default=django.utils.timezone.now, verbose_name="date joined" + ), + ), + ( + "coach", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="athletes", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "groups", + models.ManyToManyField( + blank=True, + help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.", + related_name="user_set", + related_query_name="user", + to="auth.Group", + verbose_name="groups", + ), + ), + ( + "user_permissions", + models.ManyToManyField( + blank=True, + help_text="Specific permissions for this user.", + related_name="user_set", + related_query_name="user", + to="auth.Permission", + verbose_name="user permissions", + ), + ), ], options={ - 'verbose_name': 'user', - 'verbose_name_plural': 'users', - 'abstract': False, + "verbose_name": "user", + "verbose_name_plural": "users", + "abstract": False, }, managers=[ - ('objects', django.contrib.auth.models.UserManager()), + ("objects", django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( - name='Offer', + name="Offer", fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('a', 'Accepted'), ('p', 'Pending'), ('d', 'Declined')], default='p', max_length=8)), - ('timestamp', models.DateTimeField(auto_now_add=True)), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sent_offers', to=settings.AUTH_USER_MODEL)), - ('recipient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='received_offers', to=settings.AUTH_USER_MODEL)), + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "offer_type", + models.CharField( + choices=[("co", "Coach"), ("at", "Athlete")], + default="at", + max_length=8, + ), + ), + ( + "owner", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), ], ), migrations.CreateModel( - name='AthleteFile', + name="OfferResponse", fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('file', models.FileField(upload_to=users.models.athlete_directory_path)), - ('athlete', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='coach_files', to=settings.AUTH_USER_MODEL)), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='athlete_files', to=settings.AUTH_USER_MODEL)), + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "response", + models.CharField( + blank=True, + choices=[("a", "Accept"), ("d", "Decline")], + max_length=8, + ), + ), + ( + "offer", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="response", + to="users.offer", + ), + ), ], ), ] diff --git a/backend/secfit/users/migrations/0002_auto_20200907_1200.py b/backend/secfit/users/migrations/0002_auto_20200907_1200.py new file mode 100644 index 0000000000000000000000000000000000000000..e1ffdfc85bbfa6746a249e02fb018710a3545c1a --- /dev/null +++ b/backend/secfit/users/migrations/0002_auto_20200907_1200.py @@ -0,0 +1,30 @@ +# Generated by Django 3.1 on 2020-09-07 10:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="offer", + name="stale", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="offer", + name="status", + field=models.CharField( + choices=[("a", "Accepted"), ("p", "Pending"), ("d", "Declined")], + default="p", + max_length=8, + ), + ), + migrations.DeleteModel( + name="OfferResponse", + ), + ] diff --git a/backend/secfit/users/migrations/0003_auto_20200907_1954.py b/backend/secfit/users/migrations/0003_auto_20200907_1954.py new file mode 100644 index 0000000000000000000000000000000000000000..c7f18c817057b573e3275f36a69f00e13676e5f3 --- /dev/null +++ b/backend/secfit/users/migrations/0003_auto_20200907_1954.py @@ -0,0 +1,24 @@ +# Generated by Django 3.1 on 2020-09-07 17:54 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0002_auto_20200907_1200"), + ] + + operations = [ + migrations.AlterField( + model_name="offer", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0004_auto_20200907_2021.py b/backend/secfit/users/migrations/0004_auto_20200907_2021.py new file mode 100644 index 0000000000000000000000000000000000000000..ff6be46f14e2bd0adc097f802b81ce758e4afcb1 --- /dev/null +++ b/backend/secfit/users/migrations/0004_auto_20200907_2021.py @@ -0,0 +1,110 @@ +# Generated by Django 3.1 on 2020-09-07 18:21 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0003_auto_20200907_1954"), + ] + + operations = [ + migrations.CreateModel( + name="AthleteRequest", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ( + "owner", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_athlete_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_athlete_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + options={ + "abstract": False, + }, + ), + migrations.CreateModel( + name="CoachRequest", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ( + "owner", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_coach_request", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_coach_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + options={ + "abstract": False, + }, + ), + migrations.DeleteModel( + name="Offer", + ), + ] diff --git a/backend/secfit/users/migrations/0005_auto_20200907_2039.py b/backend/secfit/users/migrations/0005_auto_20200907_2039.py new file mode 100644 index 0000000000000000000000000000000000000000..269e723bda3ff1b5b2207d1f7471b0f698682033 --- /dev/null +++ b/backend/secfit/users/migrations/0005_auto_20200907_2039.py @@ -0,0 +1,51 @@ +# Generated by Django 3.1 on 2020-09-07 18:39 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0004_auto_20200907_2021"), + ] + + operations = [ + migrations.AlterField( + model_name="athleterequest", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_athleterequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="athleterequest", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_athleterequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="coachrequest", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_coachrequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="coachrequest", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_coachrequests", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0006_auto_20200907_2054.py b/backend/secfit/users/migrations/0006_auto_20200907_2054.py new file mode 100644 index 0000000000000000000000000000000000000000..ed2ff761a8072336a82493831b79d1b99edb2b34 --- /dev/null +++ b/backend/secfit/users/migrations/0006_auto_20200907_2054.py @@ -0,0 +1,30 @@ +# Generated by Django 3.1 on 2020-09-07 18:54 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0005_auto_20200907_2039"), + ] + + operations = [ + migrations.AddField( + model_name="athleterequest", + name="timestamp", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + migrations.AddField( + model_name="coachrequest", + name="timestamp", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + ] diff --git a/backend/secfit/users/migrations/0007_auto_20200910_0222.py b/backend/secfit/users/migrations/0007_auto_20200910_0222.py new file mode 100644 index 0000000000000000000000000000000000000000..48a081d1f9387a1eb0fcd66648ec53d0ec8c1410 --- /dev/null +++ b/backend/secfit/users/migrations/0007_auto_20200910_0222.py @@ -0,0 +1,131 @@ +# Generated by Django 3.1 on 2020-09-10 00:22 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import users.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0006_auto_20200907_2054"), + ] + + operations = [ + migrations.CreateModel( + name="AthleteFile", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "file", + models.FileField(upload_to=users.models.athlete_directory_path), + ), + ], + ), + migrations.CreateModel( + name="Offer", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ( + "offer_type", + models.CharField( + choices=[("a", "Athlete"), ("c", "Coach")], + default="a", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ("timestamp", models.DateTimeField(auto_now_add=True)), + ], + ), + migrations.RemoveField( + model_name="coachrequest", + name="owner", + ), + migrations.RemoveField( + model_name="coachrequest", + name="recipient", + ), + migrations.AlterField( + model_name="user", + name="coach", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="athletes", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.DeleteModel( + name="AthleteRequest", + ), + migrations.DeleteModel( + name="CoachRequest", + ), + migrations.AddField( + model_name="offer", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="offer", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="athletefile", + name="athlete", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="coach_files", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="athletefile", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="athlete_files", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0008_auto_20201213_2228.py b/backend/secfit/users/migrations/0008_auto_20201213_2228.py new file mode 100644 index 0000000000000000000000000000000000000000..b2a2d3bd1f048227365bd679b1a253855cd4b776 --- /dev/null +++ b/backend/secfit/users/migrations/0008_auto_20201213_2228.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1 on 2020-12-13 21:28 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0007_auto_20200910_0222'), + ] + + operations = [ + migrations.RemoveField( + model_name='offer', + name='offer_type', + ), + migrations.RemoveField( + model_name='offer', + name='stale', + ), + ] diff --git a/backend/secfit/users/migrations/0009_auto_20210204_1055.py b/backend/secfit/users/migrations/0009_auto_20210204_1055.py new file mode 100644 index 0000000000000000000000000000000000000000..90d76ebd4412716db60b8615e474bfa9bc0464b4 --- /dev/null +++ b/backend/secfit/users/migrations/0009_auto_20210204_1055.py @@ -0,0 +1,33 @@ +# Generated by Django 3.1 on 2021-02-04 10:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0008_auto_20201213_2228'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='city', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='country', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='phone_number', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='street_address', + field=models.TextField(blank=True, max_length=50), + ), + ] diff --git a/backend/secfit/users/migrations/0010_auto_20220314_2046.py b/backend/secfit/users/migrations/0010_auto_20220314_2046.py new file mode 100644 index 0000000000000000000000000000000000000000..b767206e6c294eb3b8d5fa7cff165b70da920cf1 --- /dev/null +++ b/backend/secfit/users/migrations/0010_auto_20220314_2046.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1 on 2022-03-14 20:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0009_auto_20210204_1055'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='favourite_exercise', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='main_gym', + field=models.TextField(blank=True, max_length=50), + ), + ]