fix(frontend): Juiste groep ID gebruiken op leerpadpagina.

Vroeger werd zowel bij de redirect vanuit assignments als bij het kiezen van een groep in de ComboBox de "mooie" groeps-ID i.p.v. de echte gebruikt.
This commit is contained in:
Gerald Schmittinger 2025-05-20 14:44:26 +02:00
parent 74099fedc7
commit cac944e9c3
2 changed files with 10 additions and 13 deletions

View file

@ -41,7 +41,7 @@
<v-btn
:color="data?.submissions?.length > 0 ? 'green' : 'red'"
variant="text"
:to="data.submissions.length > 0 ? goToGroupSubmissionLink(props.group.groupNo) : undefined"
:to="data.submissions.length > 0 ? goToGroupSubmissionLink(props.group.originalGroupNo) : undefined"
:disabled="data.submissions.length === 0"
>
{{ data.submissions.length > 0 ? t("submission") : t("noSubmissionsYet") }}

View file

@ -16,18 +16,14 @@
const groupsQuery = useGroupsQuery(props.classId, props.assignmentNumber, true);
interface GroupSelectorOption {
groupNumber: number | undefined;
label: string;
function sortedGroups(groups: GroupDTO[]): GroupDTO[] {
return [...groups].sort((a, b) => a.groupNumber - b.groupNumber)
}
function groupOptions(groups: GroupDTO[]): GroupSelectorOption[] {
return [...groups]
.sort((a, b) => a.groupNumber - b.groupNumber)
.map((group, index) => ({
groupNumber: group.groupNumber,
label: `${index + 1}`,
}));
function groupOptions(groups: GroupDTO[]): number[] {
return sortedGroups(groups).map((group) => group.groupNumber);
}
function labelForGroup(groups: GroupDTO[], groupId: number): string {
return `${sortedGroups(groups).findIndex(group => group.groupNumber === groupId) + 1}`;
}
</script>
@ -40,7 +36,8 @@
:label="t('viewAsGroup')"
:items="groupOptions(data.groups)"
v-model="model"
item-title="label"
:item-title="item => labelForGroup(data.groups, parseInt(`${item}`))"
:item-value="item => item"
class="group-selector-cb"
variant="outlined"
clearable