Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import graphene
from calendarweek import CalendarWeek
from graphene_django import DjangoListField
from graphene_django.types import DjangoObjectType
from graphene_django_cud.mutations import (
DjangoBatchCreateMutation,
DjangoBatchPatchMutation,
DjangoCreateMutation,
)
from guardian.shortcuts import get_objects_for_user
from aleksis.core.schema.base import (
DeleteMutation,
DjangoFilterMixin,
PermissionBatchPatchMixin,
PermissionsTypeMixin,
)
from ..models import Documentation
class DocumentationType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
class Meta:
model = Documentation
fields = ("id", "course", "lesson_event", "subject", "topic", "homework", "group_note", "datetime_start", "datetime_end", "date_start", "date_end")
filter_fields = {
"id": ["exact", "lte", "gte"],
"course__name": ["exact"],
}
class DocumentationCreateMutation(DjangoCreateMutation):
class Meta:
model = Documentation
fields = ("course", "lesson_event", "subject", "topic", "homework", "group_note", "datetime_start", "datetime_end", "date_start", "date_end")
optional_fields = ("course", "lesson_event", "subject", "topic", "homework", "group_note", "datetime_start", "datetime_end", "date_start", "date_end")
permissions = ("",) # FIXME
@classmethod
def before_mutate(cls, root, info, input):
if "year" in input and "calendarWeek" in input:
cw = CalendarWeek(year=input["year"], week=input["week"])
input["date_start"] = cw[0]
input["date_end"] = cw[6]
return input
class DocumentationBatchCreateMutation(DjangoBatchCreateMutation):
class Meta:
model = Documentation
fields = ("id", "course", "lesson_event", "subject", "topic", "homework", "group_note", "datetime_start", "datetime_end", "date_start", "date_end")
permissions = ("",) # FIXME
class DocumentationDeleteMutation(DeleteMutation):
klass = Documentation
permission_required = "" # FIXME
class DocumentationBatchPatchMutation(PermissionBatchPatchMixin, DjangoBatchPatchMutation):
class Meta:
model = Documentation
fields = ("id", "course", "lesson_event", "subject", "topic", "homework", "group_note", "datetime_start", "datetime_end", "date_start", "date_end")
permissions = ("",) # FIXME