FINAL WITHOUT CLEAN

This commit is contained in:
2024-04-20 19:30:01 +02:00
parent 0ffc8077db
commit be23c3ab91
10 changed files with 178 additions and 49 deletions

View File

@ -4,6 +4,7 @@ import i18n from "@/i18n.js"
import {ref} from 'vue'
import {changeRequestState, getAllRequests} from "@/rest/LessonRequests.js";
import {getLesson} from "@/rest/lessonSchedule.js";
import {getCourse} from "@/rest/courses.js"
import {formatDate, getHoursMinutes} from "@/scheduleFunctions.js";
const requests = ref(await getAllRequests());
@ -22,7 +23,8 @@ async function upPage(id,review){
async function AcceptSetup(id,type){
if(type !== 2 ){
AcceptMod.value = !AcceptMod.value;
editElementID.value = id
AcceptMod.value = true;
}
else{
await upPage(id,{local: null,state:'Accepted'});
@ -34,21 +36,26 @@ function editItem(item){
}
async function setMoreInfos(item){
moreInfos.value = Object.assign({},{})
moreInfos.value["requestType"] = requestTypes[item.requestType]
moreInfos.value["day"] = formatDate(new Date(item.lessonStart))
moreInfos.value["start"] = getHoursMinutes(new Date(item.lessonStart));
moreInfos.value["end"] = getHoursMinutes(new Date(item.lessonEnd));
if(item.requestType == 0 || item.requestType == 1){
moreInfos.value["day"] = item.lessonStart == null ? null : formatDate(new Date(item.lessonStart))
moreInfos.value["start"] = item.lessonStart == null ? null : getHoursMinutes(new Date(item.lessonStart))
moreInfos.value["end"] = item.lessonEnd == null ? null : getHoursMinutes(new Date(item.lessonEnd))
moreInfos.value["lessonType"] = item.lessonType;
[item["course"] == null ? moreInfos.value["course"] = null: moreInfos.value["course"]=item.course.title]
moreInfos.value["course"] = item["course"] == null ? null:item.course.title}
if (item.requestType==1 || item.requestType == 2){
let temp = await getLesson(item.lessonId);
if(item.requestType == 1){
let temp = await getLesson(item.lessonId);
if(item.requestType == 1 || item.requestType == 2){
moreInfos.value["course"] = temp.course.title;
moreInfos.value["old_day"] = formatDate(new Date(temp.lessonStart));
moreInfos.value["old_start"] = getHoursMinutes(new Date(temp.lessonStart));
moreInfos.value["old_end"] = getHoursMinutes(new Date(temp.lessonEnd));
moreInfos.value["old_type"] = temp.lessonType;
moreInfos.value[item.requestType == 2 ? "day" : "old_day"] = formatDate(new Date(temp.lessonStart));
moreInfos.value[item.requestType == 2 ? "start" : "old_start"] = getHoursMinutes(new Date(temp.lessonStart));
moreInfos.value[item.requestType == 2 ? "end":"old_end"] = getHoursMinutes(new Date(temp.lessonEnd));
moreInfos.value[item.requestType == 2 ? "lessonType":"old_type"] = temp.lessonType;
}}
editElementID.value = item.id ;
moreInfosMod.value =true;
}
</script>
@ -59,8 +66,7 @@ async function setMoreInfos(item){
<div class="body">
<div v-for="item of requests" :key="item.id" :style="{width:[moreInfosMod ? 95:70] + '%'}" class="centerer">
<button v-if="moreInfosMod && editElementID == item.id" @click="moreInfosMod = false; editElementID = ''; moreInfos='';">back</button>
<div v-if ="item.state === 'Pending'" class="listElement">
<div class="containerElement" v-if="editElementID !== item.id">
<div class="id">{{requestTypes[item.requestType]}}</div>
@ -68,20 +74,20 @@ async function setMoreInfos(item){
<div class="firstname">{{item.user.lastName}}</div>
<div class="infos">
<button @click=" editItem(item);moreInfosMod=!moreInfosMod; setMoreInfos(item); console.log(item);" style="background-color:rgb(105,05,105);" >
<button @click=" setMoreInfos(item); console.log(item);" style="background-color:rgb(105,05,105);" >
{{i18n("request.moreInfos")}}
</button></div>
<div class="accept"><button @click="editItem(item); AcceptSetup(item.id,item.requestType);" style="background-color:rgb(0,105,50);">{{i18n("request.accept")}}</button></div>
<div class="accept"><button @click="AcceptSetup(item.id,item.requestType);" style="background-color:rgb(0,105,50);">{{i18n("request.accept")}}</button></div>
<div class="refuse"><button @click="upPage(item.id,{local: null,state:'Refused'})" style="background-color:rgb(105,0,0);">{{i18n("request.refuse")}}</button></div>
</div>
<div v-else class="containerElement" style="width:auto; height:auto;">
<div v-if="AcceptMod">
<div v-if="AcceptMod" style="margin-left:20%;">
Local:
<select v-model="chosenLocal">
<option v-for="item in locals">{{item}}</option>
</select>
<button @click="AcceptMod = !AcceptMod;upPage(item.id,{local: chosenLocal, state:'Accepted'})"></button>
<button @click="AcceptMod = false;upPage(item.id,{local: chosenLocal, state:'Accepted'})">Accept</button>
</div>
<template v-if="moreInfosMod" v-for="(key,value) in moreInfos">
@ -92,7 +98,6 @@ async function setMoreInfos(item){
</div>
</div>
</template>
<button @click = "moreInfosMod = !moreInfosMod; editElementID = ''">back</button>
</div>
</div>
</div>