Skip to content
Snippets Groups Projects
Commit 7d35f90f authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '9-bugs-with-absences-fixed' into 'master'

Resolve "Bugs with absences"

Closes #9

See merge request AlekSIS/onboarding/AlekSIS-App-Kolego!23
parents 74d9b39c d6c7d7cf
No related branches found
No related tags found
1 merge request!23Resolve "Bugs with absences"
Pipeline #186188 passed with warnings
......@@ -3,6 +3,7 @@ import CounterChip from "aleksis.core/components/generic/chips/CounterChip.vue";
export default {
name: "AbsenceReasonChip",
components: [CounterChip],
props: {
absenceReason: {
type: Object,
......
......@@ -10,6 +10,7 @@ export default {
data() {
return {
absenceReasons: [],
innerValue: undefined,
};
},
apollo: {
......@@ -52,14 +53,28 @@ export default {
);
},
},
mounted() {
this.innerValue = this.value;
},
watch: {
value(newValue) {
this.innerValue = newValue;
},
},
methods: {
updateInnerValue($event) {
this.innerValue = $event;
this.$emit("input", $event);
},
},
};
</script>
<template>
<v-chip-group
column
:value="value"
@change="$emit('input', $event)"
:value="innerValue"
@change="updateInnerValue"
mandatory
v-if="showChips"
>
......@@ -71,7 +86,7 @@ export default {
outlined
>
{{ $t("kolego.absence_reason.present") }}
<v-avatar right v-if="loadSelectedChip && value === emptyValue">
<v-avatar right v-if="loadSelectedChip && innerValue === emptyValue">
<v-progress-circular indeterminate :size="16" :width="2" />
</v-avatar>
</v-chip>
......@@ -81,7 +96,7 @@ export default {
:absence-reason="absenceReason"
filter
outlined
:loading="loadSelectedChip && absenceReason.id === value"
:loading="loadSelectedChip && absenceReason.id === innerValue"
/>
</v-chip-group>
<v-skeleton-loader v-else type="chip@4" class="d-flex flex-wrap gap" />
......
......@@ -3,17 +3,14 @@ from datetime import timezone
from django.conf import settings
from graphene_django.types import DjangoObjectType
from graphene_django_cud.mutations import (
DjangoBatchCreateMutation,
DjangoBatchDeleteMutation,
DjangoBatchPatchMutation,
)
from guardian.shortcuts import get_objects_for_user
from zoneinfo import ZoneInfo
from aleksis.core.schema.base import (
BaseBatchCreateMutation,
BaseBatchDeleteMutation,
BaseBatchPatchMutation,
DjangoFilterMixin,
PermissionBatchPatchMixin,
PermissionsTypeMixin,
)
......@@ -48,7 +45,7 @@ class AbsenceType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
return get_objects_for_user(info.context.user, "kolego.view_absence", queryset)
class AbsenceBatchCreateMutation(DjangoBatchCreateMutation):
class AbsenceBatchCreateMutation(BaseBatchCreateMutation):
class Meta:
model = Absence
fields = ("person", "reason", "comment", "datetime_start", "datetime_end")
......@@ -72,13 +69,13 @@ class AbsenceBatchCreateMutation(DjangoBatchCreateMutation):
return obj
class AbsenceBatchDeleteMutation(DjangoBatchDeleteMutation):
class AbsenceBatchDeleteMutation(BaseBatchDeleteMutation):
class Meta:
model = Absence
permission_required = "kolego.delete_absence_rule"
permissions = ("kolego.delete_absence_rule",)
class AbsenceBatchPatchMutation(PermissionBatchPatchMixin, DjangoBatchPatchMutation):
class AbsenceBatchPatchMutation(BaseBatchPatchMutation):
class Meta:
model = Absence
fields = ("id", "person", "reason", "comment", "datetime_start", "datetime_end")
......@@ -101,7 +98,7 @@ class AbsenceBatchPatchMutation(PermissionBatchPatchMixin, DjangoBatchPatchMutat
return obj
class AbsenceReasonBatchCreateMutation(DjangoBatchCreateMutation):
class AbsenceReasonBatchCreateMutation(BaseBatchCreateMutation):
class Meta:
model = AbsenceReason
fields = ("short_name", "name", "colour", "default")
......@@ -109,13 +106,13 @@ class AbsenceReasonBatchCreateMutation(DjangoBatchCreateMutation):
permissions = ("kolego.create_absencereason_rule",)
class AbsenceReasonBatchDeleteMutation(DjangoBatchDeleteMutation):
class AbsenceReasonBatchDeleteMutation(BaseBatchDeleteMutation):
class Meta:
model = AbsenceReason
permission_required = "kolego.delete_absencereason_rule"
permissions = ("kolego.delete_absencereason_rule",)
class AbsenceReasonBatchPatchMutation(PermissionBatchPatchMixin, DjangoBatchPatchMutation):
class AbsenceReasonBatchPatchMutation(BaseBatchPatchMutation):
class Meta:
model = AbsenceReason
fields = ("id", "short_name", "name", "colour", "default")
......
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