Skip to content

Commit c68a544

Browse files
authored
Merge branch 'Lab-Lab-Lab:main' into main
2 parents 577b880 + c4dbe96 commit c68a544

File tree

62 files changed

+674
-354
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+674
-354
lines changed

Diff for: config/api_router.py

+14-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,17 @@
66

77
from teleband.users.api.views import UserViewSet
88
from teleband.courses.api.views import EnrollmentViewSet, CourseViewSet
9-
from teleband.assignments.api.views import AssignmentViewSet, ActivityViewSet, PiecePlanViewSet
10-
from teleband.submissions.api.views import GradeViewSet, SubmissionViewSet, AttachmentViewSet, TeacherSubmissionViewSet
9+
from teleband.assignments.api.views import (
10+
AssignmentViewSet,
11+
ActivityViewSet,
12+
PiecePlanViewSet,
13+
)
14+
from teleband.submissions.api.views import (
15+
GradeViewSet,
16+
SubmissionViewSet,
17+
AttachmentViewSet,
18+
TeacherSubmissionViewSet,
19+
)
1120
from teleband.musics.api.views import PieceViewSet
1221
from teleband.instruments.api.views import InstrumentViewSet
1322

@@ -28,7 +37,9 @@
2837
courses_router = nested_cls(router, "courses", lookup="course_slug")
2938
courses_router.register("assignments", AssignmentViewSet) # option basename omitted
3039
courses_router.register("activities", ActivityViewSet) # option basename omitted
31-
courses_router.register("submissions", TeacherSubmissionViewSet) # option basename omitted
40+
courses_router.register(
41+
"submissions", TeacherSubmissionViewSet
42+
) # option basename omitted
3243
courses_router.register("grades", GradeViewSet) # option basename omitted
3344
courses_router.register("piece-plans", PiecePlanViewSet)
3445

Diff for: config/asgi.py

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
https://docs.djangoproject.com/en/dev/howto/deployment/asgi/
88
99
"""
10+
1011
import os
1112
import sys
1213
from pathlib import Path

Diff for: config/settings/base.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""
22
Base settings to build other settings files upon.
33
"""
4+
45
from pathlib import Path
56

67
import environ

Diff for: config/settings/local.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@
6161
# django-cors-headers - https://github.com/adamchainz/django-cors-headers#setup
6262
# Your stuff...
6363
# CORS_ALLOW_ALL_ORIGINS = True
64-
CORS_ALLOWED_ORIGIN_REGEXES = [r'{}'.format(s) for s in env.list("CORS_ALLOWED_ORIGIN_REGEXES", default=[r"^http://localhost:3000$"])]
64+
CORS_ALLOWED_ORIGIN_REGEXES = [
65+
r"{}".format(s)
66+
for s in env.list(
67+
"CORS_ALLOWED_ORIGIN_REGEXES", default=[r"^http://localhost:3000$"]
68+
)
69+
]
6570
# CORS_ALLOWED_ORIGIN_REGEXES = [
6671
# r"^http://localhost:3000$", # works for local dev
6772
# ]

Diff for: config/wsgi.py

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
framework.
1414
1515
"""
16+
1617
import os
1718
import sys
1819
from pathlib import Path

Diff for: teleband/assignments/admin.py

+27-14
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
from django.contrib import admin
22
from reversion.admin import VersionAdmin
33

4-
from .models import ActivityCategory, ActivityType, Activity, \
5-
Assignment, Curriculum, CurriculumEntry, \
6-
PiecePlan, PlannedActivity, AssignmentGroup
4+
from .models import (
5+
ActivityCategory,
6+
ActivityType,
7+
Activity,
8+
Assignment,
9+
Curriculum,
10+
CurriculumEntry,
11+
PiecePlan,
12+
PlannedActivity,
13+
AssignmentGroup,
14+
)
715

816

917
@admin.register(ActivityCategory)
@@ -47,17 +55,19 @@ class AssignmentAdmin(VersionAdmin):
4755
date_hierarchy = "created_at"
4856
save_as = True
4957

58+
5059
class PiecePlanActivityInline(admin.TabularInline):
5160
model = PlannedActivity
5261
extra = 0
5362
ordering = ("order",)
5463

64+
5565
@admin.register(PiecePlan)
5666
class PiecePlanAdmin(VersionAdmin):
5767
list_display = (
58-
"id",
68+
"id",
5969
"name",
60-
"piece",
70+
"piece",
6171
"type",
6272
)
6373
list_filter = (
@@ -68,27 +78,28 @@ class PiecePlanAdmin(VersionAdmin):
6878
raw_id_fields = ("activities",)
6979
save_as = True
7080

81+
7182
class AssignmentInline(admin.TabularInline):
7283
model = Assignment
7384
extra = 0
7485
ordering = ("-id",)
7586

87+
7688
@admin.register(AssignmentGroup)
7789
class AssignmentGroupAdmin(VersionAdmin):
7890
list_display = (
79-
"id",
80-
"type",
81-
)
82-
list_filter = (
91+
"id",
8392
"type",
8493
)
94+
list_filter = ("type",)
8595
inlines = (AssignmentInline,)
8696

97+
8798
# @admin.register(PlannedActivity)
8899
# class PlannedActivityAdmin(VersionAdmin):
89100
# list_display = (
90-
# "id",
91-
# "piece_plan",
101+
# "id",
102+
# "piece_plan",
92103
# "activity",
93104
# "order",
94105
# )
@@ -97,23 +108,25 @@ class AssignmentGroupAdmin(VersionAdmin):
97108
# "activity",
98109
# )
99110

111+
100112
class CurriculumEntryInline(admin.TabularInline):
101113
model = CurriculumEntry
102114
extra = 0
103115
ordering = ("order",)
104116

117+
105118
@admin.register(Curriculum)
106119
class CurriculumAdmin(VersionAdmin):
107120
list_display = (
108-
"id",
121+
"id",
109122
"name",
110123
"course",
111-
"ordered",
124+
"ordered",
112125
)
113126
list_filter = (
114127
"course",
115128
"ordered",
116129
)
117130
inlines = (CurriculumEntryInline,)
118131
raw_id_fields = ("piece_plans",)
119-
save_as = True
132+
save_as = True

Diff for: teleband/assignments/api/serializers.py

+60-16
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
from rest_framework import serializers
22

3-
from teleband.assignments.models import Assignment, Activity, ActivityType, AssignmentGroup, PiecePlan
3+
from teleband.assignments.models import (
4+
Assignment,
5+
Activity,
6+
ActivityType,
7+
AssignmentGroup,
8+
PiecePlan,
9+
)
410
from teleband.courses.api.serializers import EnrollmentSerializer
511
from teleband.instruments.api.serializers import InstrumentSerializer
612
from teleband.submissions.api.serializers import SubmissionSerializer
713
from teleband.utils.serializers import GenericNameSerializer
8-
from teleband.musics.api.serializers import PartTranspositionSerializer, PartSerializer, PieceSerializer
14+
from teleband.musics.api.serializers import (
15+
PartTranspositionSerializer,
16+
PartSerializer,
17+
PieceSerializer,
18+
)
919

1020

1121
class ActivityTypeSerializer(serializers.ModelSerializer):
@@ -32,10 +42,15 @@ class GroupSerializer(serializers.ModelSerializer):
3242
def get_members(self, obj):
3343
assignments = Assignment.objects.filter(group=obj)
3444
assignment_enrollments = [(a, a.enrollment) for a in assignments]
35-
member_list = [{"enrollment_id": ae[1].id,
36-
"enrollment_username": ae[1].user.username,
37-
"activity_type_name": ae[0].activity.activity_type_name,
38-
"assignment_submitted": bool(ae[0].submissions.count())} for ae in assignment_enrollments]
45+
member_list = [
46+
{
47+
"enrollment_id": ae[1].id,
48+
"enrollment_username": ae[1].user.username,
49+
"activity_type_name": ae[0].activity.activity_type_name,
50+
"assignment_submitted": bool(ae[0].submissions.count()),
51+
}
52+
for ae in assignment_enrollments
53+
]
3954
return member_list
4055

4156
class Meta:
@@ -53,31 +68,45 @@ class AssignmentSerializer(serializers.ModelSerializer):
5368
class Meta:
5469
model = Assignment
5570
# fields = ["activity", "deadline", "instrument", "id", "url"]
56-
fields = ["activity", "deadline", "instrument", "part", "id", "enrollment", "submissions", "group"]
71+
fields = [
72+
"activity",
73+
"deadline",
74+
"instrument",
75+
"part",
76+
"id",
77+
"enrollment",
78+
"submissions",
79+
"group",
80+
]
5781

5882
extra_kwargs = {
5983
"url": {"view_name": "api:assignment-detail", "lookup_field": "id"},
6084
}
6185

6286
# def get_fields(self):
6387
# fields = super().get_fields()
64-
# if not self.instance.group:
88+
# if not self.instance.group:
6589
# del fields['group']
66-
# return fields
67-
90+
# return fields
6891

6992

7093
class AssignmentViewSetSerializer(serializers.ModelSerializer):
7194
activity = serializers.PrimaryKeyRelatedField(queryset=Activity.objects.all())
72-
activity_type_name = serializers.CharField(source="activity.activity_type_name", read_only=True)
73-
activity_type_category = serializers.CharField(source="activity.category", read_only=True)
95+
activity_type_name = serializers.CharField(
96+
source="activity.activity_type_name", read_only=True
97+
)
98+
activity_type_category = serializers.CharField(
99+
source="activity.category", read_only=True
100+
)
74101
activity_body = serializers.CharField(source="activity.body", read_only=True)
75102
part_type = serializers.CharField(source="activity.part_type.name", read_only=True)
76103
piece_name = serializers.SlugField(source="piece.name", read_only=True)
77104
piece_id = serializers.IntegerField(source="piece.id", read_only=True)
78105
piece_slug = serializers.SlugField(source="piece.slug", read_only=True)
79106
instrument = serializers.CharField(source="instrument.name", read_only=True)
80-
transposition = serializers.CharField(source="instrument.transposition.name", read_only=True)
107+
transposition = serializers.CharField(
108+
source="instrument.transposition.name", read_only=True
109+
)
81110
group = GroupSerializer()
82111
# instrument = InstrumentSerializer()
83112
part = PartSerializer()
@@ -88,8 +117,22 @@ class Meta:
88117
model = Assignment
89118
# fields = ["activity", "deadline", "instrument", "id", "url"]
90119
# fields = ["activity", "deadline", "instrument", "part", "id", "enrollment", "submissions"]
91-
fields = ["id", "activity", "activity_type_name", "activity_type_category", "activity_body", "part_type",
92-
"piece_name", "piece_id", "piece_slug", "instrument", "transposition", "group", "part", "submissions"]
120+
fields = [
121+
"id",
122+
"activity",
123+
"activity_type_name",
124+
"activity_type_category",
125+
"activity_body",
126+
"part_type",
127+
"piece_name",
128+
"piece_id",
129+
"piece_slug",
130+
"instrument",
131+
"transposition",
132+
"group",
133+
"part",
134+
"submissions",
135+
]
93136

94137
extra_kwargs = {
95138
"url": {"view_name": "api:assignment-detail", "lookup_field": "id"},
@@ -116,6 +159,7 @@ class Meta:
116159
"url": {"view_name": "api:assignment-detail", "lookup_field": "id"},
117160
}
118161

162+
119163
class PiecePlanSerializer(serializers.ModelSerializer):
120164
id = serializers.IntegerField()
121165
type = serializers.CharField()
@@ -129,4 +173,4 @@ class Meta:
129173

130174
# extra_kwargs = {
131175
# "url": {"view_name": "api:pieceplan-detail", "lookup_field": "id"},
132-
# }
176+
# }

Diff for: teleband/assignments/migrations/0016_alter_activity_part_type.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,18 @@
77
class Migration(migrations.Migration):
88

99
dependencies = [
10-
('musics', '0015_auto_20220206_2027'),
11-
('assignments', '0015_seed_activities'),
10+
("musics", "0015_auto_20220206_2027"),
11+
("assignments", "0015_seed_activities"),
1212
]
1313

1414
operations = [
1515
migrations.AlterField(
16-
model_name='activity',
17-
name='part_type',
18-
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='musics.parttype'),
16+
model_name="activity",
17+
name="part_type",
18+
field=models.ForeignKey(
19+
null=True,
20+
on_delete=django.db.models.deletion.PROTECT,
21+
to="musics.parttype",
22+
),
1923
),
2024
]

Diff for: teleband/assignments/migrations/0017_seed_more_activities.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from django.db import migrations
44

5+
56
def update_site_forward(apps, schema_editor):
67
"""Set site domain and name."""
78
Activity = apps.get_model("assignments", "Activity")
@@ -28,7 +29,7 @@ def update_site_forward(apps, schema_editor):
2829
class Migration(migrations.Migration):
2930

3031
dependencies = [
31-
('assignments', '0016_alter_activity_part_type'),
32+
("assignments", "0016_alter_activity_part_type"),
3233
]
3334

3435
operations = [migrations.RunPython(update_site_forward, migrations.RunPython.noop)]

Diff for: teleband/assignments/migrations/0018_assign_part_type_to_assignment_20220617_2211.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,22 @@ def assign_part_type(apps, schema_editor):
99
ActivityType = apps.get_model("assignments", "ActivityType")
1010
PartType = apps.get_model("musics", "PartType")
1111
combined_part_type = PartType.objects.get(name="Combined")
12-
record = Activity.objects.get(activity_type=ActivityType.objects.get(name="Creativity"),)
13-
record.part_type=combined_part_type
12+
record = Activity.objects.get(
13+
activity_type=ActivityType.objects.get(name="Creativity"),
14+
)
15+
record.part_type = combined_part_type
1416
record.save()
15-
record = Activity.objects.get(activity_type=ActivityType.objects.get(name="Reflection"),)
16-
record.part_type=combined_part_type
17+
record = Activity.objects.get(
18+
activity_type=ActivityType.objects.get(name="Reflection"),
19+
)
20+
record.part_type = combined_part_type
1721
record.save()
1822

1923

2024
class Migration(migrations.Migration):
2125

2226
dependencies = [
23-
('assignments', '0017_seed_more_activities'),
27+
("assignments", "0017_seed_more_activities"),
2428
]
2529

2630
operations = [migrations.RunPython(assign_part_type, migrations.RunPython.noop)]

0 commit comments

Comments
 (0)