Work: Fix assignments creation broken - refs #5080

pull/5082/head
christianbeeznst 2 years ago
parent 7751e72311
commit 71b8000ffb
  1. 41
      assets/vue/components/assignments/AssignmentsLayout.vue
  2. 25
      assets/vue/views/assignments/AssignmentsList.vue

@ -1,37 +1,16 @@
<template>
<div class="flex gap-2">
<h2 v-t="'Assignments'" class="mr-auto" />
<StudentViewButton />
<BaseButton
v-if="isCurrentTeacher && menuItems.length > 0"
icon="cog"
only-icon
popup-identifier="course-tmenu"
type="black"
@click="toggleCourseTMenu"
/>
<BaseMenu v-if="isCurrentTeacher && menuItems.length > 0" id="course-tmenu" ref="menu" :model="menuItems" />
</div>
<hr />
<router-view></router-view>
</template>
<script setup>
import StudentViewButton from "../StudentViewButton.vue";
import BaseButton from "../basecomponents/BaseButton.vue";
import BaseMenu from "../basecomponents/BaseMenu.vue";
import { computed, ref, watchEffect } from "vue";
import { useRoute } from "vue-router";
import { useRoute, useRouter } from "vue-router"
import { useStore } from "vuex";
import { useI18n } from "vue-i18n";
import { useCidReq } from "../../composables/cidReq";
const route = useRoute();
const router = useRouter()
const store = useStore();
const { t } = useI18n();
@ -46,20 +25,4 @@ const menuItems = ref([]);
const toggleCourseTMenu = (event) => {
menu.value.toggle(event);
};
watchEffect(() => {
menuItems.value = [];
if ("AssigmnentsList" === route.name) {
menuItems.value = [
{
label: t("Create assignment"),
to: {
name: "AssigmnentsCreate",
query: { cid, sid, gid },
},
},
];
}
});
</script>

@ -1,12 +1,33 @@
<template>
<BaseToolbar>
<BaseButton
:label="t('Create assignment')"
icon="file-cloud-add"
type="black"
@click="goToNewAssigment"
/>
</BaseToolbar>
<TeacherAssignmentList v-if="isUserTeacher" />
</template>
<script setup>
import TeacherAssignmentList from "../../components/assignments/TeacherAssignmentList.vue"
import { computed } from "vue"
import { useStore } from "vuex"
import BaseButton from "../../components/basecomponents/BaseButton.vue"
import BaseToolbar from "../../components/basecomponents/BaseToolbar.vue"
import { useI18n } from "vue-i18n";
import { useRoute, useRouter } from "vue-router"
const route = useRoute();
const router = useRouter()
const store = useStore()
const isUserTeacher = computed(() => store.getters["security/isCurrentTeacher"])
</script>
const { t } = useI18n();
function goToNewAssigment() {
router.push({
name: "AssigmnentsCreate",
query: route.query,
})
}
</script>

Loading…
Cancel
Save