diff --git a/backend/dining/management/commands/load_venues.py b/backend/dining/management/commands/load_venues.py index 9025dd5b..3da54006 100644 --- a/backend/dining/management/commands/load_venues.py +++ b/backend/dining/management/commands/load_venues.py @@ -11,6 +11,7 @@ class Command(BaseCommand): """ def handle(self, *args, **kwargs): + with open("dining/data/dining_venues.csv") as data: reader = csv.reader(data) for i, row in enumerate(reader): diff --git a/backend/dining/migrations/0001_initial.py b/backend/dining/migrations/0001_initial.py index ea010875..51b3bc0f 100644 --- a/backend/dining/migrations/0001_initial.py +++ b/backend/dining/migrations/0001_initial.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [ diff --git a/backend/dining/migrations/0002_diningitem_diningstation_diningmenu.py b/backend/dining/migrations/0002_diningitem_diningstation_diningmenu.py index 2a915e45..0caaa2be 100644 --- a/backend/dining/migrations/0002_diningitem_diningstation_diningmenu.py +++ b/backend/dining/migrations/0002_diningitem_diningstation_diningmenu.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ ("dining", "0001_initial"), ] diff --git a/backend/dining/migrations/0003_venue_name.py b/backend/dining/migrations/0003_venue_name.py index 7938b7f5..7a5062bd 100644 --- a/backend/dining/migrations/0003_venue_name.py +++ b/backend/dining/migrations/0003_venue_name.py @@ -4,14 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("dining", "0002_diningitem_diningstation_diningmenu"), ] operations = [ migrations.AddField( - model_name="venue", - name="name", - field=models.CharField(max_length=255, null=True), + model_name="venue", name="name", field=models.CharField(max_length=255, null=True), ), ] diff --git a/backend/dining/migrations/0004_remove_diningtransaction_profile_and_more.py b/backend/dining/migrations/0004_remove_diningtransaction_profile_and_more.py index 24f7a9ae..a0f06e8a 100644 --- a/backend/dining/migrations/0004_remove_diningtransaction_profile_and_more.py +++ b/backend/dining/migrations/0004_remove_diningtransaction_profile_and_more.py @@ -4,29 +4,19 @@ class Migration(migrations.Migration): + dependencies = [ ("dining", "0003_venue_name"), ] operations = [ - migrations.RemoveField( - model_name="diningtransaction", - name="profile", - ), + migrations.RemoveField(model_name="diningtransaction", name="profile",), migrations.AlterField( - model_name="diningitem", - name="description", - field=models.CharField(max_length=1000), + model_name="diningitem", name="description", field=models.CharField(max_length=1000), ), migrations.AlterField( - model_name="diningitem", - name="ingredients", - field=models.CharField(max_length=1000), - ), - migrations.DeleteModel( - name="DiningBalance", - ), - migrations.DeleteModel( - name="DiningTransaction", + model_name="diningitem", name="ingredients", field=models.CharField(max_length=1000), ), + migrations.DeleteModel(name="DiningBalance",), + migrations.DeleteModel(name="DiningTransaction",), ] diff --git a/backend/dining/views.py b/backend/dining/views.py index d05f2cb8..552e751c 100644 --- a/backend/dining/views.py +++ b/backend/dining/views.py @@ -59,6 +59,7 @@ class Preferences(APIView): permission_classes = [IsAuthenticated] def get(self, request): + preferences = request.user.profile.dining_preferences # aggregates venues and puts it in form {"venue_id": x, "count": x} @@ -67,6 +68,7 @@ def get(self, request): ) def post(self, request): + profile = request.user.profile preferences = profile.dining_preferences diff --git a/backend/gsr_booking/api_wrapper.py b/backend/gsr_booking/api_wrapper.py index 4c7ee9e8..49e9b3ad 100644 --- a/backend/gsr_booking/api_wrapper.py +++ b/backend/gsr_booking/api_wrapper.py @@ -503,6 +503,7 @@ def book_room(self, rid, start, end, user, test=False): return res_json def get_reservations(self, user): + reservations = Reservation.objects.filter( creator=user, end__gte=timezone.localtime(), is_cancelled=False ) diff --git a/backend/gsr_booking/management/commands/load_gsrs.py b/backend/gsr_booking/management/commands/load_gsrs.py index db91de38..88a2bfba 100644 --- a/backend/gsr_booking/management/commands/load_gsrs.py +++ b/backend/gsr_booking/management/commands/load_gsrs.py @@ -7,6 +7,7 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): + with open("gsr_booking/data/gsr_data.csv") as data: reader = csv.reader(data) next(reader) diff --git a/backend/gsr_booking/management/commands/send_gsr_reminders.py b/backend/gsr_booking/management/commands/send_gsr_reminders.py index d7229615..d125196e 100644 --- a/backend/gsr_booking/management/commands/send_gsr_reminders.py +++ b/backend/gsr_booking/management/commands/send_gsr_reminders.py @@ -12,6 +12,7 @@ class Command(BaseCommand): help = "Sends reminders for the GSR Bookings." def handle(self, *args, **kwargs): + # iterate through all reservations scheduled for the next 30 minutes for reservation in Reservation.objects.filter( is_cancelled=False, diff --git a/backend/gsr_booking/migrations/0001_initial.py b/backend/gsr_booking/migrations/0001_initial.py index ca4af893..2002b619 100644 --- a/backend/gsr_booking/migrations/0001_initial.py +++ b/backend/gsr_booking/migrations/0001_initial.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] @@ -17,10 +18,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("name", models.CharField(max_length=255)), @@ -35,22 +33,15 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("accepted", models.BooleanField(default=False)), - ( - "type", - models.CharField(choices=[("A", "Admin"), ("M", "M")], max_length=10), - ), + ("type", models.CharField(choices=[("A", "Admin"), ("M", "M")], max_length=10),), ( "group", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="gsr_booking.Group", + on_delete=django.db.models.deletion.CASCADE, to="gsr_booking.Group", ), ), ( diff --git a/backend/gsr_booking/migrations/0001_squashed_0011_merge_20200418_2009.py b/backend/gsr_booking/migrations/0001_squashed_0011_merge_20200418_2009.py index 4d301007..98cb99a6 100644 --- a/backend/gsr_booking/migrations/0001_squashed_0011_merge_20200418_2009.py +++ b/backend/gsr_booking/migrations/0001_squashed_0011_merge_20200418_2009.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + replaces = [ ("gsr_booking", "0001_initial"), ("gsr_booking", "0002_auto_20191208_1251"), @@ -33,10 +34,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("name", models.CharField(max_length=255)), @@ -51,22 +49,15 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("accepted", models.BooleanField(default=False)), - ( - "type", - models.CharField(choices=[("A", "Admin"), ("M", "M")], max_length=10), - ), + ("type", models.CharField(choices=[("A", "Admin"), ("M", "M")], max_length=10),), ( "group", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="gsr_booking.Group", + on_delete=django.db.models.deletion.CASCADE, to="gsr_booking.Group", ), ), ( @@ -113,10 +104,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("full_name", models.CharField(db_index=True, max_length=255)), @@ -124,8 +112,7 @@ class Migration(migrations.Migration): ( "user", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, + on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], @@ -136,10 +123,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( @@ -155,17 +139,13 @@ class Migration(migrations.Migration): ( "email", models.CharField( - max_length=255, - null=True, - unique=True, - verbose_name="school email", + max_length=255, null=True, unique=True, verbose_name="school email", ), ), ( "user", models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, + on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ( diff --git a/backend/gsr_booking/migrations/0002_auto_20191208_1251.py b/backend/gsr_booking/migrations/0002_auto_20191208_1251.py index f5827bb2..899ce52e 100644 --- a/backend/gsr_booking/migrations/0002_auto_20191208_1251.py +++ b/backend/gsr_booking/migrations/0002_auto_20191208_1251.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [("gsr_booking", "0001_initial")] operations = [ diff --git a/backend/gsr_booking/migrations/0002_auto_20210129_1527.py b/backend/gsr_booking/migrations/0002_auto_20210129_1527.py index d042003a..9a665f1d 100644 --- a/backend/gsr_booking/migrations/0002_auto_20210129_1527.py +++ b/backend/gsr_booking/migrations/0002_auto_20210129_1527.py @@ -6,20 +6,15 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0001_squashed_0011_merge_20200418_2009"), ] operations = [ - migrations.RemoveField( - model_name="gsrbookingcredentials", - name="email", - ), - migrations.RemoveField( - model_name="gsrbookingcredentials", - name="id", - ), + migrations.RemoveField(model_name="gsrbookingcredentials", name="email",), + migrations.RemoveField(model_name="gsrbookingcredentials", name="id",), migrations.AlterField( model_name="gsrbookingcredentials", name="date_updated", diff --git a/backend/gsr_booking/migrations/0003_auto_20191208_2144.py b/backend/gsr_booking/migrations/0003_auto_20191208_2144.py index 1c1cec84..1d861505 100644 --- a/backend/gsr_booking/migrations/0003_auto_20191208_2144.py +++ b/backend/gsr_booking/migrations/0003_auto_20191208_2144.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [("gsr_booking", "0002_auto_20191208_1251")] operations = [ diff --git a/backend/gsr_booking/migrations/0003_gsr_gsrbooking.py b/backend/gsr_booking/migrations/0003_gsr_gsrbooking.py index 9e77db81..0fd3601f 100644 --- a/backend/gsr_booking/migrations/0003_gsr_gsrbooking.py +++ b/backend/gsr_booking/migrations/0003_gsr_gsrbooking.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0002_auto_20210129_1527"), diff --git a/backend/gsr_booking/migrations/0004_alter_gsr_lid.py b/backend/gsr_booking/migrations/0004_alter_gsr_lid.py index bf5680ab..9d64deac 100644 --- a/backend/gsr_booking/migrations/0004_alter_gsr_lid.py +++ b/backend/gsr_booking/migrations/0004_alter_gsr_lid.py @@ -4,14 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0003_gsr_gsrbooking"), ] operations = [ migrations.AlterField( - model_name="gsr", - name="lid", - field=models.CharField(max_length=255), + model_name="gsr", name="lid", field=models.CharField(max_length=255), ), ] diff --git a/backend/gsr_booking/migrations/0004_auto_20191225_1527.py b/backend/gsr_booking/migrations/0004_auto_20191225_1527.py index 42b77a62..95e89e3f 100644 --- a/backend/gsr_booking/migrations/0004_auto_20191225_1527.py +++ b/backend/gsr_booking/migrations/0004_auto_20191225_1527.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0003_auto_20191208_2144"), diff --git a/backend/gsr_booking/migrations/0005_reservation.py b/backend/gsr_booking/migrations/0005_reservation.py index ee3ea1e7..14928fbc 100644 --- a/backend/gsr_booking/migrations/0005_reservation.py +++ b/backend/gsr_booking/migrations/0005_reservation.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0004_alter_gsr_lid"), diff --git a/backend/gsr_booking/migrations/0005_usersearchindex.py b/backend/gsr_booking/migrations/0005_usersearchindex.py index ba220f93..80cce7da 100644 --- a/backend/gsr_booking/migrations/0005_usersearchindex.py +++ b/backend/gsr_booking/migrations/0005_usersearchindex.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0004_auto_20191225_1527"), @@ -18,10 +19,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("full_name", models.CharField(db_index=True, max_length=255)), @@ -29,8 +27,7 @@ class Migration(migrations.Migration): ( "user", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, + on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], diff --git a/backend/gsr_booking/migrations/0006_auto_20200207_2126.py b/backend/gsr_booking/migrations/0006_auto_20200207_2126.py index d7407406..378edc5b 100644 --- a/backend/gsr_booking/migrations/0006_auto_20200207_2126.py +++ b/backend/gsr_booking/migrations/0006_auto_20200207_2126.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0005_usersearchindex"), ] diff --git a/backend/gsr_booking/migrations/0006_auto_20211024_1231.py b/backend/gsr_booking/migrations/0006_auto_20211024_1231.py index b6bcc780..004bf153 100644 --- a/backend/gsr_booking/migrations/0006_auto_20211024_1231.py +++ b/backend/gsr_booking/migrations/0006_auto_20211024_1231.py @@ -8,16 +8,13 @@ def create_single_user_group(apps, schema_editor): Group = apps.get_model("gsr_booking", "Group") GroupMembership = apps.get_model("gsr_booking", "GroupMembership") for user in User.objects.all(): - group, created = Group.objects.get_or_create( - owner=user, - name="Me", - color="#14f7d1", - ) + group, created = Group.objects.get_or_create(owner=user, name="Me", color="#14f7d1",) if created: GroupMembership.objects.get_or_create(group=group, user=user, type="A", accepted=True) class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0005_reservation"), ] diff --git a/backend/gsr_booking/migrations/0006_gsrbookingcredentials.py b/backend/gsr_booking/migrations/0006_gsrbookingcredentials.py index bca05929..8d6366e2 100644 --- a/backend/gsr_booking/migrations/0006_gsrbookingcredentials.py +++ b/backend/gsr_booking/migrations/0006_gsrbookingcredentials.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0005_usersearchindex"), @@ -18,10 +19,7 @@ class Migration(migrations.Migration): ( "id", models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", + auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( @@ -41,17 +39,13 @@ class Migration(migrations.Migration): ( "email", models.CharField( - max_length=255, - null=True, - unique=True, - verbose_name="school email", + max_length=255, null=True, unique=True, verbose_name="school email", ), ), ( "user", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, + on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], diff --git a/backend/gsr_booking/migrations/0007_auto_20200202_1159.py b/backend/gsr_booking/migrations/0007_auto_20200202_1159.py index df480884..990cf52d 100644 --- a/backend/gsr_booking/migrations/0007_auto_20200202_1159.py +++ b/backend/gsr_booking/migrations/0007_auto_20200202_1159.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [("gsr_booking", "0006_gsrbookingcredentials")] operations = [ diff --git a/backend/gsr_booking/migrations/0007_delete_gsrbookingcredentials.py b/backend/gsr_booking/migrations/0007_delete_gsrbookingcredentials.py index bcd28645..4fa32b03 100644 --- a/backend/gsr_booking/migrations/0007_delete_gsrbookingcredentials.py +++ b/backend/gsr_booking/migrations/0007_delete_gsrbookingcredentials.py @@ -4,12 +4,11 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0006_auto_20211024_1231"), ] operations = [ - migrations.DeleteModel( - name="GSRBookingCredentials", - ), + migrations.DeleteModel(name="GSRBookingCredentials",), ] diff --git a/backend/gsr_booking/migrations/0008_auto_20200202_1218.py b/backend/gsr_booking/migrations/0008_auto_20200202_1218.py index af6eae7b..74069e66 100644 --- a/backend/gsr_booking/migrations/0008_auto_20200202_1218.py +++ b/backend/gsr_booking/migrations/0008_auto_20200202_1218.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("gsr_booking", "0007_auto_20200202_1159"), diff --git a/backend/gsr_booking/migrations/0008_auto_20211112_1657.py b/backend/gsr_booking/migrations/0008_auto_20211112_1657.py index 72a569bf..505d5d6a 100644 --- a/backend/gsr_booking/migrations/0008_auto_20211112_1657.py +++ b/backend/gsr_booking/migrations/0008_auto_20211112_1657.py @@ -29,15 +29,13 @@ def create_reservation_for_booking(apps, schema_editor): class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0007_delete_gsrbookingcredentials"), ] operations = [ - migrations.RemoveField( - model_name="reservation", - name="gsr", - ), + migrations.RemoveField(model_name="reservation", name="gsr",), migrations.AddField( model_name="gsrbooking", name="reservation", @@ -46,12 +44,8 @@ class Migration(migrations.Migration): ), ), migrations.AddField( - model_name="reservation", - name="is_cancelled", - field=models.BooleanField(default=False), - ), - migrations.DeleteModel( - name="UserSearchIndex", + model_name="reservation", name="is_cancelled", field=models.BooleanField(default=False), ), + migrations.DeleteModel(name="UserSearchIndex",), migrations.RunPython(create_reservation_for_booking), ] diff --git a/backend/gsr_booking/migrations/0009_auto_20200202_1232.py b/backend/gsr_booking/migrations/0009_auto_20200202_1232.py index 8e0af906..d45a3235 100644 --- a/backend/gsr_booking/migrations/0009_auto_20200202_1232.py +++ b/backend/gsr_booking/migrations/0009_auto_20200202_1232.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0008_auto_20200202_1218"), ] diff --git a/backend/gsr_booking/migrations/0009_remove_groupmembership_username_and_more.py b/backend/gsr_booking/migrations/0009_remove_groupmembership_username_and_more.py index 6b653a5d..c25206a1 100644 --- a/backend/gsr_booking/migrations/0009_remove_groupmembership_username_and_more.py +++ b/backend/gsr_booking/migrations/0009_remove_groupmembership_username_and_more.py @@ -4,15 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0008_auto_20211112_1657"), ] operations = [ - migrations.RemoveField( - model_name="groupmembership", - name="username", - ), + migrations.RemoveField(model_name="groupmembership", name="username",), migrations.AddField( model_name="groupmembership", name="is_wharton", diff --git a/backend/gsr_booking/migrations/0010_auto_20200202_1243.py b/backend/gsr_booking/migrations/0010_auto_20200202_1243.py index 5714f03b..6866f58a 100644 --- a/backend/gsr_booking/migrations/0010_auto_20200202_1243.py +++ b/backend/gsr_booking/migrations/0010_auto_20200202_1243.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [("gsr_booking", "0009_auto_20200202_1232")] operations = [ diff --git a/backend/gsr_booking/migrations/0010_remove_gsrbooking_reminder_sent_and_more.py b/backend/gsr_booking/migrations/0010_remove_gsrbooking_reminder_sent_and_more.py index db5243be..3054dbca 100644 --- a/backend/gsr_booking/migrations/0010_remove_gsrbooking_reminder_sent_and_more.py +++ b/backend/gsr_booking/migrations/0010_remove_gsrbooking_reminder_sent_and_more.py @@ -4,15 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0009_remove_groupmembership_username_and_more"), ] operations = [ - migrations.RemoveField( - model_name="gsrbooking", - name="reminder_sent", - ), + migrations.RemoveField(model_name="gsrbooking", name="reminder_sent",), migrations.AddField( model_name="reservation", name="reminder_sent", diff --git a/backend/gsr_booking/migrations/0011_merge_20200418_2009.py b/backend/gsr_booking/migrations/0011_merge_20200418_2009.py index da983717..da6bfa0c 100644 --- a/backend/gsr_booking/migrations/0011_merge_20200418_2009.py +++ b/backend/gsr_booking/migrations/0011_merge_20200418_2009.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("gsr_booking", "0010_auto_20200202_1243"), ("gsr_booking", "0006_auto_20200207_2126"), diff --git a/backend/gsr_booking/models.py b/backend/gsr_booking/models.py index 1d1e285e..fe36fec9 100644 --- a/backend/gsr_booking/models.py +++ b/backend/gsr_booking/models.py @@ -13,11 +13,7 @@ class GroupMembership(models.Model): # INVARIANT: either user or username should always be set. if user is not None, then the # username should the be username of the associated user. user = models.ForeignKey( - User, - on_delete=models.CASCADE, - related_name="memberships", - blank=True, - null=True, + User, on_delete=models.CASCADE, related_name="memberships", blank=True, null=True, ) group = models.ForeignKey("Group", on_delete=models.CASCADE, related_name="memberships") @@ -105,6 +101,7 @@ def save(self, *args, **kwargs): class GSR(models.Model): + KIND_WHARTON = "WHARTON" KIND_LIBCAL = "LIBCAL" KIND_OPTIONS = ((KIND_WHARTON, "Wharton"), (KIND_LIBCAL, "Libcal")) diff --git a/backend/gsr_booking/serializers.py b/backend/gsr_booking/serializers.py index 3be1a7b8..ab798ec8 100644 --- a/backend/gsr_booking/serializers.py +++ b/backend/gsr_booking/serializers.py @@ -103,6 +103,7 @@ class Meta: class GSRBookingSerializer(serializers.ModelSerializer): + gsr = GSRSerializer(read_only=False, required=False) class Meta: diff --git a/backend/gsr_booking/views.py b/backend/gsr_booking/views.py index 2a5ce2cb..c6dd3ab1 100644 --- a/backend/gsr_booking/views.py +++ b/backend/gsr_booking/views.py @@ -70,9 +70,7 @@ def invites(self, request, username=None): return Response( GroupMembershipSerializer( GroupMembership.objects.filter( - user=user, - accepted=False, - group__in=self.request.user.booking_groups.all(), + user=user, accepted=False, group__in=self.request.user.booking_groups.all(), ), many=True, ).data @@ -208,6 +206,7 @@ class Availability(APIView): """ def get(self, request, lid, gid): + start = request.GET.get("start") end = request.GET.get("end") diff --git a/backend/laundry/api_wrapper.py b/backend/laundry/api_wrapper.py index a64db005..53a99a95 100644 --- a/backend/laundry/api_wrapper.py +++ b/backend/laundry/api_wrapper.py @@ -145,6 +145,7 @@ def save_data(): data = all_status() for name, room in data.items(): + laundry_room = LaundryRoom.objects.get(name=name) LaundrySnapshot.objects.create( diff --git a/backend/laundry/management/commands/load_laundry_rooms.py b/backend/laundry/management/commands/load_laundry_rooms.py index 8756df7e..6b26cc8b 100644 --- a/backend/laundry/management/commands/load_laundry_rooms.py +++ b/backend/laundry/management/commands/load_laundry_rooms.py @@ -7,6 +7,7 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): + with open("laundry/data/laundry_data.csv") as data: reader = csv.reader(data) diff --git a/backend/laundry/migrations/0001_initial.py b/backend/laundry/migrations/0001_initial.py index 8409ac6f..50e8e735 100644 --- a/backend/laundry/migrations/0001_initial.py +++ b/backend/laundry/migrations/0001_initial.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [] diff --git a/backend/laundry/migrations/0002_auto_20210321_1105.py b/backend/laundry/migrations/0002_auto_20210321_1105.py index ca9b91e2..eed312d7 100644 --- a/backend/laundry/migrations/0002_auto_20210321_1105.py +++ b/backend/laundry/migrations/0002_auto_20210321_1105.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [ ("laundry", "0001_initial"), ] diff --git a/backend/laundry/views.py b/backend/laundry/views.py index 95c23ae8..36e3f4dc 100644 --- a/backend/laundry/views.py +++ b/backend/laundry/views.py @@ -139,6 +139,7 @@ def compute_usage(hall_id): return content def get(self, request, hall_id): + return Response(HallUsage.compute_usage(hall_id)) @@ -153,12 +154,14 @@ class Preferences(APIView): permission_classes = [IsAuthenticated] def get(self, request): + preferences = request.user.profile.laundry_preferences.all() # returns all hall_ids in a person's preferences return Response({"rooms": preferences.values_list("hall_id", flat=True)}) def post(self, request): + profile = request.user.profile # clears all previous preferences in many-to-many diff --git a/backend/penndata/management/commands/get_fitness_snapshot.py b/backend/penndata/management/commands/get_fitness_snapshot.py index c3423a77..ec0792a8 100644 --- a/backend/penndata/management/commands/get_fitness_snapshot.py +++ b/backend/penndata/management/commands/get_fitness_snapshot.py @@ -12,6 +12,7 @@ def cap_string(s): def get_usages(): + # count/capacities default to 0 since spreadsheet number appears blank if no one there locations = [ "4th Floor Fitness", diff --git a/backend/penndata/management/commands/load_analytics.py b/backend/penndata/management/commands/load_analytics.py index 363dbf6a..b87d58b5 100644 --- a/backend/penndata/management/commands/load_analytics.py +++ b/backend/penndata/management/commands/load_analytics.py @@ -13,6 +13,7 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): + analytics_objects = [] # read in file and convert into array diff --git a/backend/penndata/migrations/0001_initial.py b/backend/penndata/migrations/0001_initial.py index 87090b5a..97305072 100644 --- a/backend/penndata/migrations/0001_initial.py +++ b/backend/penndata/migrations/0001_initial.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [] diff --git a/backend/penndata/migrations/0002_homepageorder.py b/backend/penndata/migrations/0002_homepageorder.py index 0338c587..639435e2 100644 --- a/backend/penndata/migrations/0002_homepageorder.py +++ b/backend/penndata/migrations/0002_homepageorder.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0001_initial"), ] diff --git a/backend/penndata/migrations/0003_analyticsevent.py b/backend/penndata/migrations/0003_analyticsevent.py index c9580e97..7ba82e52 100644 --- a/backend/penndata/migrations/0003_analyticsevent.py +++ b/backend/penndata/migrations/0003_analyticsevent.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0014_alter_post_post_url"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), diff --git a/backend/penndata/migrations/0004_analyticsevent_data.py b/backend/penndata/migrations/0004_analyticsevent_data.py index 4b38fd1f..dc3aa7cd 100644 --- a/backend/penndata/migrations/0004_analyticsevent_data.py +++ b/backend/penndata/migrations/0004_analyticsevent_data.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0003_analyticsevent"), ] diff --git a/backend/penndata/migrations/0005_fitnessroom_fitnesssnapshot.py b/backend/penndata/migrations/0005_fitnessroom_fitnesssnapshot.py index c12afda8..d671cc13 100644 --- a/backend/penndata/migrations/0005_fitnessroom_fitnesssnapshot.py +++ b/backend/penndata/migrations/0005_fitnessroom_fitnesssnapshot.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0004_analyticsevent_data"), ] diff --git a/backend/penndata/migrations/0006_fitnesssnapshot_capacity.py b/backend/penndata/migrations/0006_fitnesssnapshot_capacity.py index d01ab876..9d23e748 100644 --- a/backend/penndata/migrations/0006_fitnesssnapshot_capacity.py +++ b/backend/penndata/migrations/0006_fitnesssnapshot_capacity.py @@ -4,14 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0005_fitnessroom_fitnesssnapshot"), ] operations = [ migrations.AddField( - model_name="fitnesssnapshot", - name="capacity", - field=models.FloatField(null=True), + model_name="fitnesssnapshot", name="capacity", field=models.FloatField(null=True), ), ] diff --git a/backend/penndata/migrations/0007_fitnessroom_image_url.py b/backend/penndata/migrations/0007_fitnessroom_image_url.py index 3597aa20..44f89470 100644 --- a/backend/penndata/migrations/0007_fitnessroom_image_url.py +++ b/backend/penndata/migrations/0007_fitnessroom_image_url.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0006_fitnesssnapshot_capacity"), ] diff --git a/backend/penndata/serializers.py b/backend/penndata/serializers.py index 40e37ad7..5cffcc61 100644 --- a/backend/penndata/serializers.py +++ b/backend/penndata/serializers.py @@ -32,6 +32,7 @@ class Meta: class FitnessSnapshotSerializer(serializers.ModelSerializer): + room = FitnessRoomSerializer() class Meta: diff --git a/backend/penndata/views.py b/backend/penndata/views.py index 9bc78b8c..c09cf993 100644 --- a/backend/penndata/views.py +++ b/backend/penndata/views.py @@ -160,6 +160,7 @@ def get_queryset(self): class Analytics(generics.CreateAPIView): + permission_classes = [IsAuthenticated] serializer_class = AnalyticsEventSerializer @@ -194,6 +195,7 @@ def getCell(self): return {"type": self.type, "info": self.info} def get(self, request): + # NOTE: accept arguments: ?version= profile = request.user.profile @@ -429,12 +431,14 @@ class FitnessPreferences(APIView): permission_classes = [IsAuthenticated] def get(self, request): + preferences = request.user.profile.fitness_preferences.all() # returns all ids in a person's preferences return Response({"rooms": preferences.values_list("id", flat=True)}) def post(self, request): + if "rooms" not in request.data: return Response({"success": False, "error": "No rooms provided"}) diff --git a/backend/portal/management/commands/polls_populate.py b/backend/portal/management/commands/polls_populate.py index e4ad73d4..2168be2d 100644 --- a/backend/portal/management/commands/polls_populate.py +++ b/backend/portal/management/commands/polls_populate.py @@ -14,6 +14,7 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): + # Define graduation years df_2022 = datetime.date(2022, 5, 15) df_2023 = datetime.date(2023, 5, 16) diff --git a/backend/portal/migrations/0001_initial.py b/backend/portal/migrations/0001_initial.py index a8a6a25a..c7ed66f3 100644 --- a/backend/portal/migrations/0001_initial.py +++ b/backend/portal/migrations/0001_initial.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [ diff --git a/backend/portal/migrations/0002_auto_20211003_2225.py b/backend/portal/migrations/0002_auto_20211003_2225.py index 5408b8d4..7abb802a 100644 --- a/backend/portal/migrations/0002_auto_20211003_2225.py +++ b/backend/portal/migrations/0002_auto_20211003_2225.py @@ -5,24 +5,20 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0001_initial"), ] operations = [ - migrations.RemoveField( - model_name="poll", - name="image_url", - ), + migrations.RemoveField(model_name="poll", name="image_url",), migrations.AddField( model_name="poll", name="start_date", field=models.DateTimeField(default=django.utils.timezone.now), ), migrations.AddField( - model_name="polloption", - name="vote_count", - field=models.IntegerField(default=0), + model_name="polloption", name="vote_count", field=models.IntegerField(default=0), ), migrations.AddField( model_name="targetpopulation", diff --git a/backend/portal/migrations/0003_alter_targetpopulation_kind.py b/backend/portal/migrations/0003_alter_targetpopulation_kind.py index 99c8c62d..6d89a215 100644 --- a/backend/portal/migrations/0003_alter_targetpopulation_kind.py +++ b/backend/portal/migrations/0003_alter_targetpopulation_kind.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0002_auto_20211003_2225"), ] diff --git a/backend/portal/migrations/0004_post.py b/backend/portal/migrations/0004_post.py index d1e7948c..c80fd9dd 100644 --- a/backend/portal/migrations/0004_post.py +++ b/backend/portal/migrations/0004_post.py @@ -7,6 +7,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("portal", "0003_alter_targetpopulation_kind"), diff --git a/backend/portal/migrations/0005_auto_20211231_1558.py b/backend/portal/migrations/0005_auto_20211231_1558.py index 3e1fe1b1..c632e384 100644 --- a/backend/portal/migrations/0005_auto_20211231_1558.py +++ b/backend/portal/migrations/0005_auto_20211231_1558.py @@ -5,36 +5,21 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0004_post"), ] operations = [ migrations.RenameField( - model_name="poll", - old_name="user_comment", - new_name="club_comment", - ), - migrations.RemoveField( - model_name="poll", - name="approved", - ), - migrations.RemoveField( - model_name="poll", - name="source", - ), - migrations.RemoveField( - model_name="poll", - name="user", - ), - migrations.RemoveField( - model_name="pollvote", - name="user", + model_name="poll", old_name="user_comment", new_name="club_comment", ), + migrations.RemoveField(model_name="poll", name="approved",), + migrations.RemoveField(model_name="poll", name="source",), + migrations.RemoveField(model_name="poll", name="user",), + migrations.RemoveField(model_name="pollvote", name="user",), migrations.AddField( - model_name="poll", - name="club_code", - field=models.CharField(blank=True, max_length=255), + model_name="poll", name="club_code", field=models.CharField(blank=True, max_length=255), ), migrations.AddField( model_name="poll", diff --git a/backend/portal/migrations/0006_auto_20220112_1529.py b/backend/portal/migrations/0006_auto_20220112_1529.py index 128bda4d..3d8b9d17 100644 --- a/backend/portal/migrations/0006_auto_20220112_1529.py +++ b/backend/portal/migrations/0006_auto_20220112_1529.py @@ -4,36 +4,20 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0005_auto_20211231_1558"), ] operations = [ migrations.RenameField( - model_name="post", - old_name="user_comment", - new_name="club_comment", - ), - migrations.RenameField( - model_name="post", - old_name="created_at", - new_name="created_date", - ), - migrations.RemoveField( - model_name="post", - name="approved", - ), - migrations.RemoveField( - model_name="post", - name="source", - ), - migrations.RemoveField( - model_name="post", - name="user", + model_name="post", old_name="user_comment", new_name="club_comment", ), + migrations.RenameField(model_name="post", old_name="created_at", new_name="created_date",), + migrations.RemoveField(model_name="post", name="approved",), + migrations.RemoveField(model_name="post", name="source",), + migrations.RemoveField(model_name="post", name="user",), migrations.AddField( - model_name="post", - name="club_code", - field=models.CharField(blank=True, max_length=255), + model_name="post", name="club_code", field=models.CharField(blank=True, max_length=255), ), ] diff --git a/backend/portal/migrations/0007_post_status.py b/backend/portal/migrations/0007_post_status.py index f60ebe2b..ae126767 100644 --- a/backend/portal/migrations/0007_post_status.py +++ b/backend/portal/migrations/0007_post_status.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0006_auto_20220112_1529"), ] diff --git a/backend/portal/migrations/0008_alter_post_image_url.py b/backend/portal/migrations/0008_alter_post_image_url.py index 892eac9f..2249e1d0 100644 --- a/backend/portal/migrations/0008_alter_post_image_url.py +++ b/backend/portal/migrations/0008_alter_post_image_url.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0007_post_status"), ] diff --git a/backend/portal/migrations/0009_rename_image_url_post_image.py b/backend/portal/migrations/0009_rename_image_url_post_image.py index 071832d6..b2c04972 100644 --- a/backend/portal/migrations/0009_rename_image_url_post_image.py +++ b/backend/portal/migrations/0009_rename_image_url_post_image.py @@ -4,14 +4,11 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0008_alter_post_image_url"), ] operations = [ - migrations.RenameField( - model_name="post", - old_name="image_url", - new_name="image", - ), + migrations.RenameField(model_name="post", old_name="image_url", new_name="image",), ] diff --git a/backend/portal/migrations/0010_remove_post_image.py b/backend/portal/migrations/0010_remove_post_image.py index bb83db42..7ece1478 100644 --- a/backend/portal/migrations/0010_remove_post_image.py +++ b/backend/portal/migrations/0010_remove_post_image.py @@ -4,13 +4,11 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0009_rename_image_url_post_image"), ] operations = [ - migrations.RemoveField( - model_name="post", - name="image", - ), + migrations.RemoveField(model_name="post", name="image",), ] diff --git a/backend/portal/migrations/0011_post_image.py b/backend/portal/migrations/0011_post_image.py index 7f3416a6..b7a03d12 100644 --- a/backend/portal/migrations/0011_post_image.py +++ b/backend/portal/migrations/0011_post_image.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0010_remove_post_image"), ] diff --git a/backend/portal/migrations/0012_remove_post_image.py b/backend/portal/migrations/0012_remove_post_image.py index 02be416b..e951895f 100644 --- a/backend/portal/migrations/0012_remove_post_image.py +++ b/backend/portal/migrations/0012_remove_post_image.py @@ -4,13 +4,11 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0011_post_image"), ] operations = [ - migrations.RemoveField( - model_name="post", - name="image", - ), + migrations.RemoveField(model_name="post", name="image",), ] diff --git a/backend/portal/migrations/0013_post_image.py b/backend/portal/migrations/0013_post_image.py index ba6e634e..44a7ac6c 100644 --- a/backend/portal/migrations/0013_post_image.py +++ b/backend/portal/migrations/0013_post_image.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0012_remove_post_image"), ] diff --git a/backend/portal/migrations/0014_alter_post_post_url.py b/backend/portal/migrations/0014_alter_post_post_url.py index 07e59be1..b2690d59 100644 --- a/backend/portal/migrations/0014_alter_post_post_url.py +++ b/backend/portal/migrations/0014_alter_post_post_url.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("portal", "0013_post_image"), ] diff --git a/backend/portal/serializers.py b/backend/portal/serializers.py index ade009ea..50768f95 100644 --- a/backend/portal/serializers.py +++ b/backend/portal/serializers.py @@ -112,6 +112,7 @@ def update(self, instance, validated_data): class RetrievePollSerializer(serializers.ModelSerializer): + target_populations = TargetPopulationSerializer(many=True) options = PollOptionSerializer(source="polloption_set", many=True) @@ -142,6 +143,7 @@ class Meta: ) def create(self, validated_data): + options = validated_data["poll_options"] id_hash = validated_data["id_hash"] @@ -188,6 +190,7 @@ def create(self, validated_data): class RetrievePollVoteSerializer(serializers.ModelSerializer): + poll = RetrievePollSerializer() poll_options = PollOptionSerializer(many=True) created_date = serializers.DateTimeField() @@ -202,6 +205,7 @@ class Meta: class PostSerializer(serializers.ModelSerializer): + image = serializers.ImageField(write_only=True, required=False, allow_null=True) image_url = serializers.SerializerMethodField("get_image_url") diff --git a/backend/portal/views.py b/backend/portal/views.py index de7e5593..cf026770 100644 --- a/backend/portal/views.py +++ b/backend/portal/views.py @@ -156,10 +156,7 @@ def browse(self, request): def review(self, request): """Returns list of all Polls that admins still need to approve of""" return Response( - RetrievePollSerializer( - Poll.objects.filter(status=Poll.STATUS_DRAFT), - many=True, - ).data + RetrievePollSerializer(Poll.objects.filter(status=Poll.STATUS_DRAFT), many=True,).data ) @action(detail=True, methods=["get"]) @@ -212,6 +209,7 @@ def get_queryset(self): @action(detail=False, methods=["post"]) def recent(self, request): + id_hash = request.data["id_hash"] poll_votes = PollVote.objects.filter(id_hash=id_hash).order_by("-created_date").first() @@ -219,6 +217,7 @@ def recent(self, request): @action(detail=False, methods=["post"]) def all(self, request): + id_hash = request.data["id_hash"] poll_votes = PollVote.objects.filter(id_hash=id_hash).order_by("-created_date") @@ -311,8 +310,5 @@ def browse(self, request): def review(self, request): """Returns a list of all Posts that admins still need to approve of""" return Response( - PostSerializer( - Post.objects.filter(status=Poll.STATUS_DRAFT), - many=True, - ).data + PostSerializer(Post.objects.filter(status=Poll.STATUS_DRAFT), many=True,).data ) diff --git a/backend/sublet/migrations/0001_initial.py b/backend/sublet/migrations/0001_initial.py index fdb1d638..33e2aadb 100644 --- a/backend/sublet/migrations/0001_initial.py +++ b/backend/sublet/migrations/0001_initial.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [ @@ -15,9 +16,7 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( name="Amenity", - fields=[ - ("name", models.CharField(max_length=255, primary_key=True, serialize=False)), - ], + fields=[("name", models.CharField(max_length=255, primary_key=True, serialize=False)),], ), migrations.CreateModel( name="Offer", diff --git a/backend/sublet/migrations/0002_auto_20231029_1258.py b/backend/sublet/migrations/0002_auto_20231029_1258.py index cbb4f084..1fe7506b 100644 --- a/backend/sublet/migrations/0002_auto_20231029_1258.py +++ b/backend/sublet/migrations/0002_auto_20231029_1258.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("sublet", "0001_initial"), diff --git a/backend/sublet/migrations/0003_alter_offer_phone_number.py b/backend/sublet/migrations/0003_alter_offer_phone_number.py index afe0f9d3..051c1ee4 100644 --- a/backend/sublet/migrations/0003_alter_offer_phone_number.py +++ b/backend/sublet/migrations/0003_alter_offer_phone_number.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [ ("sublet", "0002_auto_20231029_1258"), ] diff --git a/backend/sublet/views.py b/backend/sublet/views.py index 8a4a5518..ae48210e 100644 --- a/backend/sublet/views.py +++ b/backend/sublet/views.py @@ -103,7 +103,9 @@ def list(self, request, *args, **kwargs): amenities = params.getlist("amenities") title = params.get("title") address = params.get("address") - subletter = params.get("subletter", "false") # Defaults to False if not specified + subletter = params.get( + "subletter", "false" + ) # Defaults to False if not specified starts_before = params.get("starts_before", None) starts_after = params.get("starts_after", None) ends_before = params.get("ends_before", None) diff --git a/backend/tests/laundry/test_api_wrapper.py b/backend/tests/laundry/test_api_wrapper.py index 7fbb5f3f..dccca9ea 100644 --- a/backend/tests/laundry/test_api_wrapper.py +++ b/backend/tests/laundry/test_api_wrapper.py @@ -28,6 +28,7 @@ def setUp(self): ) def test_all_status(self): + data = all_status() self.assertEqual(len(data), 4) @@ -70,7 +71,9 @@ def setUp(self): ) def test_all_status(self): + for room in LaundryRoom.objects.all(): + # asserts fields are present status = hall_status(room) machines = status["machines"] @@ -100,6 +103,7 @@ def setUp(self): ) def test_save_data(self): + self.assertEqual(LaundrySnapshot.objects.all().count(), 0) save_data() diff --git a/backend/tests/laundry/test_models.py b/backend/tests/laundry/test_models.py index 519c1d35..4b177e27 100644 --- a/backend/tests/laundry/test_models.py +++ b/backend/tests/laundry/test_models.py @@ -20,9 +20,7 @@ def setUp(self): ) self.laundry_room = LaundryRoom.objects.get(hall_id=0, name="Bishop White", location="Quad") self.snapshot = LaundrySnapshot.objects.create( - room=self.laundry_room, - available_washers=10, - available_dryers=10, + room=self.laundry_room, available_washers=10, available_dryers=10, ) def test_str(self): @@ -51,6 +49,5 @@ def setUp(self): def test_str(self): self.assertEqual( - str(self.room), - f"Hall No. {self.room.hall_id} | {self.room.name}", + str(self.room), f"Hall No. {self.room.hall_id} | {self.room.name}", ) diff --git a/backend/tests/laundry/test_views.py b/backend/tests/laundry/test_views.py index 06486afa..7a08dfdf 100644 --- a/backend/tests/laundry/test_views.py +++ b/backend/tests/laundry/test_views.py @@ -133,9 +133,7 @@ def setUp(self): ) self.laundry_room = LaundryRoom.objects.get(hall_id=0, name="Bishop White", location="Quad") self.snapshot = LaundrySnapshot.objects.create( - room=self.laundry_room, - available_washers=5, - available_dryers=10, + room=self.laundry_room, available_washers=5, available_dryers=10, ) self.client = APIClient() diff --git a/backend/tests/penndata/test_views.py b/backend/tests/penndata/test_views.py index 4c69a1bd..86520b4b 100644 --- a/backend/tests/penndata/test_views.py +++ b/backend/tests/penndata/test_views.py @@ -143,14 +143,10 @@ def setUp(self): # create old snapshot and new snapshot FitnessSnapshot.objects.create( - room=self.fitness_room, - date=old_time, - count=old_count, + room=self.fitness_room, date=old_time, count=old_count, ) FitnessSnapshot.objects.create( - room=self.fitness_room, - date=self.new_time, - count=self.new_count, + room=self.fitness_room, date=self.new_time, count=self.new_count, ) def test_get_recent(self): @@ -219,10 +215,7 @@ class TestFitnessUsage(TestCase): def load_snapshots_1(self, date): # 6:00, 0 FitnessSnapshot.objects.create( - room=self.room, - date=date + datetime.timedelta(hours=6), - count=0, - capacity=0.0, + room=self.room, date=date + datetime.timedelta(hours=6), count=0, capacity=0.0, ) # 7:30, 10 FitnessSnapshot.objects.create( @@ -233,10 +226,7 @@ def load_snapshots_1(self, date): ) # 8:00, 65 FitnessSnapshot.objects.create( - room=self.room, - date=date + datetime.timedelta(hours=8), - count=65, - capacity=65.0, + room=self.room, date=date + datetime.timedelta(hours=8), count=65, capacity=65.0, ) # 8:30, 0 FitnessSnapshot.objects.create( @@ -247,10 +237,7 @@ def load_snapshots_1(self, date): ) # 10:00, 60 FitnessSnapshot.objects.create( - room=self.room, - date=date + datetime.timedelta(hours=10), - count=60, - capacity=60.0, + room=self.room, date=date + datetime.timedelta(hours=10), count=60, capacity=60.0, ) # 20:00, 0 FitnessSnapshot.objects.create( diff --git a/backend/tests/sublet/test_sublets.py b/backend/tests/sublet/test_sublets.py index 3229abc8..2c4b0fae 100644 --- a/backend/tests/sublet/test_sublets.py +++ b/backend/tests/sublet/test_sublets.py @@ -129,7 +129,7 @@ def test_browse_filtered(self): "title": "Sublet2", "max_price": 450, } - response = self.client.get("/sublet/properties/", payload) + response = self.client.get(f"/sublet/properties/", payload) res_json = json.loads(response.content) sublet = res_json[0] self.assertEqual(1, len(res_json)) diff --git a/backend/user/migrations/0001_initial.py b/backend/user/migrations/0001_initial.py index 7e7f9b9c..94afbf19 100644 --- a/backend/user/migrations/0001_initial.py +++ b/backend/user/migrations/0001_initial.py @@ -6,6 +6,7 @@ class Migration(migrations.Migration): + initial = True dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] diff --git a/backend/user/migrations/0002_profile_laundry_preferences.py b/backend/user/migrations/0002_profile_laundry_preferences.py index 7f469b52..f34836f2 100644 --- a/backend/user/migrations/0002_profile_laundry_preferences.py +++ b/backend/user/migrations/0002_profile_laundry_preferences.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("laundry", "0001_initial"), ("user", "0001_initial"), diff --git a/backend/user/migrations/0003_profile_dining_preferences.py b/backend/user/migrations/0003_profile_dining_preferences.py index 8be9fb7f..9b6e3503 100644 --- a/backend/user/migrations/0003_profile_dining_preferences.py +++ b/backend/user/migrations/0003_profile_dining_preferences.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("dining", "0001_initial"), ("user", "0002_profile_laundry_preferences"), diff --git a/backend/user/migrations/0004_auto_20210324_1851.py b/backend/user/migrations/0004_auto_20210324_1851.py index df58e11f..37f3f2d4 100644 --- a/backend/user/migrations/0004_auto_20210324_1851.py +++ b/backend/user/migrations/0004_auto_20210324_1851.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("dining", "0001_initial"), ("user", "0003_profile_dining_preferences"), diff --git a/backend/user/migrations/0005_auto_20211003_2240.py b/backend/user/migrations/0005_auto_20211003_2240.py index eebbf7ad..830f10de 100644 --- a/backend/user/migrations/0005_auto_20211003_2240.py +++ b/backend/user/migrations/0005_auto_20211003_2240.py @@ -4,20 +4,13 @@ class Migration(migrations.Migration): + dependencies = [ ("user", "0004_auto_20210324_1851"), ] operations = [ - migrations.RemoveField( - model_name="profile", - name="degrees", - ), - migrations.RemoveField( - model_name="profile", - name="expected_graduation", - ), - migrations.DeleteModel( - name="Degree", - ), + migrations.RemoveField(model_name="profile", name="degrees",), + migrations.RemoveField(model_name="profile", name="expected_graduation",), + migrations.DeleteModel(name="Degree",), ] diff --git a/backend/user/migrations/0006_alter_notificationtoken_user_notificationsetting.py b/backend/user/migrations/0006_alter_notificationtoken_user_notificationsetting.py index 32311259..fb378a70 100644 --- a/backend/user/migrations/0006_alter_notificationtoken_user_notificationsetting.py +++ b/backend/user/migrations/0006_alter_notificationtoken_user_notificationsetting.py @@ -5,6 +5,7 @@ class Migration(migrations.Migration): + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("user", "0005_auto_20211003_2240"), diff --git a/backend/user/migrations/0007_alter_notificationsetting_service.py b/backend/user/migrations/0007_alter_notificationsetting_service.py index 33157546..58c68465 100644 --- a/backend/user/migrations/0007_alter_notificationsetting_service.py +++ b/backend/user/migrations/0007_alter_notificationsetting_service.py @@ -36,6 +36,7 @@ def create_settings_for_users(apps, schema_editor): class Migration(migrations.Migration): + dependencies = [ ("user", "0006_alter_notificationtoken_user_notificationsetting"), ] diff --git a/backend/user/migrations/0008_remove_notificationtoken_dev.py b/backend/user/migrations/0008_remove_notificationtoken_dev.py index 0f4fbf05..c622fefb 100644 --- a/backend/user/migrations/0008_remove_notificationtoken_dev.py +++ b/backend/user/migrations/0008_remove_notificationtoken_dev.py @@ -4,13 +4,11 @@ class Migration(migrations.Migration): + dependencies = [ ("user", "0007_alter_notificationsetting_service"), ] operations = [ - migrations.RemoveField( - model_name="notificationtoken", - name="dev", - ), + migrations.RemoveField(model_name="notificationtoken", name="dev",), ] diff --git a/backend/user/migrations/0009_profile_fitness_preferences.py b/backend/user/migrations/0009_profile_fitness_preferences.py index 380a14ce..ca477331 100644 --- a/backend/user/migrations/0009_profile_fitness_preferences.py +++ b/backend/user/migrations/0009_profile_fitness_preferences.py @@ -4,6 +4,7 @@ class Migration(migrations.Migration): + dependencies = [ ("penndata", "0006_fitnesssnapshot_capacity"), ("user", "0008_remove_notificationtoken_dev"), diff --git a/backend/user/serializers.py b/backend/user/serializers.py index 96d709d2..94a17def 100644 --- a/backend/user/serializers.py +++ b/backend/user/serializers.py @@ -44,6 +44,7 @@ class Meta: class UserSerializer(serializers.ModelSerializer): + profile = ProfileSerializer(read_only=False, required=False) class Meta: