diff --git a/aleksis/apps/alsijil/schema.py b/aleksis/apps/alsijil/schema.py new file mode 100644 index 0000000000000000000000000000000000000000..8ee25fb4286b2b49b82f042b54190630c9de2893 --- /dev/null +++ b/aleksis/apps/alsijil/schema.py @@ -0,0 +1,61 @@ +import graphene +from graphene_django import DjangoObjectType +from graphene_django.forms.mutation import DjangoModelFormMutation + +from .forms import LessonDocumentationForm +from .models import ExcuseType, LessonDocumentation, PersonalNote, ExtraMark + +# print([ExcuseType, LessonDocumentation, PersonalNote, ExtraMark]) + + +class ExcuseTypeType(DjangoObjectType): + class Meta: + model = ExcuseType + + +class LessonDocumentationType(DjangoObjectType): + class Meta: + model = LessonDocumentation + + +class PersonalNoteType(DjangoObjectType): + class Meta: + model = PersonalNote + + +class ExtraMarkType(DjangoObjectType): + class Meta: + model = ExtraMark + + +class LessonDocumentationMutation(DjangoModelFormMutation): + lesson_documentation = graphene.Field(LessonDocumentationType) + + class Meta: + form_class = LessonDocumentationForm + + +class Query(graphene.ObjectType): + excuse_types = graphene.List(ExcuseTypeType) + lesson_documentations = graphene.List(LessonDocumentationType) + personal_notes = graphene.List(PersonalNoteType) + extra_marks = graphene.List(ExtraMarkType) + + def resolve_excuse_types(root, info, **kwargs): + # FIXME do permission stuff + print(ExcuseType.objects.all()) + return ExcuseType.objects.all() + + def resolve_lesson_documentations(root, info, **kwargs): + # FIXME do permission stuff + return LessonDocumentation.objects.all() + + def resolve_personal_notes(root, info, **kwargs): + # FIXME do permission stuff + return PersonalNote.objects.all() + + def resolve_extra_marks(root, info, **kwargs): + return ExtraMark.objects.all() + +# print("Hello2") +# schema = graphene.Schema(query=Query)