Skip to content
Snippets Groups Projects
Commit 8ad8f42f authored by Julian's avatar Julian
Browse files

Create schema to update participation statuses

parent b829287e
No related branches found
No related tags found
1 merge request!362Resolve "Add personal note management dialog in course book"
mutation updateParticipationStatuses(
$input: [BatchPatchParticipationStatusInput]!
) {
updateParticipationStatuses(input: $input) {
items: participationStatuses {
id
isOptimistic
relatedDocumentation {
id
}
absenceReason {
id
name
shortName
}
}
}
}
......@@ -81,6 +81,7 @@ query documentationsForCoursebook(
name
shortName
}
isOptimistic
}
topic
homework
......
......@@ -17,6 +17,7 @@ from .documentation import (
DocumentationBatchCreateOrUpdateMutation,
DocumentationType,
)
from .participation_status import ParticipationStatusBatchPatchMutation
class Query(graphene.ObjectType):
......@@ -119,3 +120,4 @@ class Query(graphene.ObjectType):
class Mutation(graphene.ObjectType):
create_or_update_documentations = DocumentationBatchCreateOrUpdateMutation.Field()
update_participation_statuses = ParticipationStatusBatchPatchMutation.Field()
from graphene_django import DjangoObjectType
from aleksis.apps.alsijil.models import ParticipationStatus
from aleksis.core.schema.base import DjangoFilterMixin, PermissionsTypeMixin
from aleksis.core.schema.base import (
BaseBatchPatchMutation,
DjangoFilterMixin,
OptimisticResponseTypeMixin,
PermissionsTypeMixin,
)
class ParticipationStatusType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
class ParticipationStatusType(
OptimisticResponseTypeMixin,
PermissionsTypeMixin,
DjangoFilterMixin,
DjangoObjectType,
):
class Meta:
model = ParticipationStatus
fields = (
......@@ -14,3 +24,11 @@ class ParticipationStatusType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObj
"related_documentation",
"base_absence",
)
class ParticipationStatusBatchPatchMutation(BaseBatchPatchMutation):
class Meta:
model = ParticipationStatus
fields = ("id", "absence_reason") # Only the reason can be updated after creation
permissions = ("alsijil.change_participation_status",) # FIXME
return_field_name = "participationStatuses"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment