fix: submission list access from assignment form

This commit is contained in:
Jannat Patel
2025-05-06 20:02:34 +05:30
parent 62b05f2377
commit 91d79de723
2 changed files with 58 additions and 42 deletions

View File

@@ -3,7 +3,7 @@
<template #target="{ togglePopover }"> <template #target="{ togglePopover }">
<button <button
:class="[ :class="[
'group w-full flex h-7 items-center justify-between rounded px-2 text-base text-ink-gray-8 hover:bg-surface-gray-2', 'group w-full flex h-7 items-center justify-between rounded px-2 text-base text-ink-gray-7 hover:bg-surface-gray-2',
]" ]"
@click.prevent="togglePopover()" @click.prevent="togglePopover()"
> >

View File

@@ -2,22 +2,19 @@
<Dialog <Dialog
v-model="show" v-model="show"
:options="{ :options="{
title:
assignmentID === 'new'
? __('Create an Assignment')
: __('Edit Assignment'),
size: 'lg', size: 'lg',
actions: [
{
label: __('Save'),
variant: 'solid',
onClick: (close) => saveAssignment(close),
},
],
}" }"
> >
<template #body-content> <template #body>
<div class="space-y-4 text-base max-h-[65vh] overflow-y-auto"> <div class="p-5 text-base max-h-[75vh] overflow-y-auto">
<div class="text-lg text-ink-gray-9 font-semibold mb-5">
{{
assignmentID === 'new'
? __('Create an Assignment')
: __('Edit Assignment')
}}
</div>
<div class="space-y-4">
<FormControl <FormControl
v-model="assignment.title" v-model="assignment.title"
:label="__('Title')" :label="__('Title')"
@@ -44,15 +41,34 @@
/> />
</div> </div>
</div> </div>
<div class="flex justify-end space-x-2 mt-5">
<router-link
:to="{
name: 'AssignmentSubmissionList',
query: {
assignmentID: assignmentID,
},
}"
>
<Button v-if="assignmentID !== 'new'" variant="subtle">
{{ __('Check Submissions') }}
</Button>
</router-link>
<Button variant="solid" @click="saveAssignment">
{{ __('Save') }}
</Button>
</div>
</div>
</template> </template>
</Dialog> </Dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { Dialog, FormControl, TextEditor } from 'frappe-ui' import { Button, Dialog, FormControl, TextEditor } from 'frappe-ui'
import { computed, reactive, watch } from 'vue' import { computed, reactive, watch } from 'vue'
import { showToast } from '@/utils' import { showToast } from '@/utils'
const show = defineModel('show') const show = defineModel()
const assignments = defineModel<Assignments>('assignments') const assignments = defineModel<Assignments>('assignments')
interface Assignment { interface Assignment {
@@ -98,7 +114,7 @@ watch(
{ flush: 'post' } { flush: 'post' }
) )
const saveAssignment = (close) => { const saveAssignment = () => {
if (props.assignmentID == 'new') { if (props.assignmentID == 'new') {
assignments.value.insert.submit( assignments.value.insert.submit(
{ {
@@ -106,7 +122,7 @@ const saveAssignment = (close) => {
}, },
{ {
onSuccess() { onSuccess() {
close() show.value = false
showToast( showToast(
__('Success'), __('Success'),
__('Assignment created successfully'), __('Assignment created successfully'),
@@ -123,7 +139,7 @@ const saveAssignment = (close) => {
}, },
{ {
onSuccess() { onSuccess() {
close() show.value = false
showToast( showToast(
__('Success'), __('Success'),
__('Assignment updated successfully'), __('Assignment updated successfully'),