Implements the possibility to ask for a scholarship for a student

This commit is contained in:
2024-04-09 15:58:10 +02:00
parent e6e147af26
commit 21a5dbdb22
6 changed files with 126 additions and 29 deletions

View File

@ -4,10 +4,11 @@
import {getSelfCurriculum, getAllCurriculums, getSomeonesCurriculumList} from '../rest/curriculum.js'
import {getCourses} from "../rest/courses.js"
import i18n from "@/i18n.js"
import { uploadProfilePicture } from '@/rest/uploads.js'
import {uploadFile, uploadProfilePicture} from '@/rest/uploads.js'
import CourseList from "@/Apps/CourseList.vue";
import {editMinerval, getCurrentMinerval} from "@/rest/minerval.js";
import {postPayment} from "@/rest/payment.js";
import {createScholarshipRequest} from "@/rest/requests.js";
const user = ref(await getSelf());
const UserCurriculum = ref("");
@ -27,6 +28,8 @@
const courseslist = ref(false);
const minerval = ref(false);
const paymentPage = ref(false);
const scholarship = ref(false);
const scholarshipinfos = ref(false);
const pattern = {
profilPictureUrl:null,
email:null,
@ -50,6 +53,17 @@
expDate:null,
amount: null
}
//Used to modelize a scholarship request
const scholarshipData=reactive({
userId: user.value.regNo,
state:null,
date:null,
amount:0,
taxDocUrl : "",
residencyDocUrl : ""
})
const paymentAmount = ref(0);
let toModify= Object.assign({}, pattern);
let personnalInfos = Object.assign({}, patternInfos);
@ -121,6 +135,18 @@
}
return actualCurriculumList
}
async function postScholarshipRequest(file1, type1, file2, type2){
const a = await uploadFile(file1, type1)
scholarshipData.taxDocUrl = a.url;
const b = await uploadFile(file2, type2)
scholarshipData.residencyDocUrl = b.url;
scholarshipData.date = Date.now();
await createScholarshipRequest(scholarshipData)
}
</script>
<template>
@ -130,7 +156,7 @@
<img class="subContainter" :src=getPP()>
</div>
<div class="globalInfos">
<div v-if="modif==false && curric==false && reg==false && minerval==false && paymentPage == false" class="infosContainer">
<div v-if="modif==false && curric==false && reg==false && minerval==false && paymentPage == false && scholarship==false" class="infosContainer">
<div>
{{user.firstName}} {{user.lastName}}
</div>
@ -171,6 +197,30 @@
<div v-else>
Payment : School fees have already been paid this year
</div>
<div>
<button @click="scholarship=!scholarship; minerval=!minerval">Ask for a scholarship</button>
</div>
</div>
<div v-else-if="scholarship && !scholarshipinfos" class="infosContainer">
<p>Please upload the required documents</p>
<div>
Tax justification document :
<input type="file" @change="scholarshipData.taxDocUrl = $event.target.files">
</div>
<div>
Residency justification document :
<input type="file" style="margin-top:2%" @change="scholarshipData.residencyDocUrl = $event.target.files">
</div>
<button style="margin-top: 5%" @click="scholarshipinfos = !scholarshipinfos;postScholarshipRequest(scholarshipData.taxDocUrl, 'JustificationDocument',scholarshipData.residencyDocUrl, 'JustificationDocument');">Submit scholarship request</button>
</div>
<div v-else-if="scholarship && scholarshipinfos" class="infosContainer">
<div>
Your request has been sent to the inscription service you will get notified when
the request is reviewed.
</div>
<button @click="scholarshipinfos=!scholarshipinfos; scholarship=!scholarship">
Go back to profile
</button>
</div>
<div v-else-if="paymentPage" class="infosContainer">
Proceed to payment of {{paymentAmount}}
@ -256,7 +306,7 @@
</div>
</div>
</div>
<div v-if="modif==false && curric==false && reg==false && minerval==false"class="moreInfos">
<div v-if="modif==false && curric==false && reg==false && minerval==false && scholarship == false"class="moreInfos">
<div class = "oldcursus">
<div class="listTitle">
Anciens Cursus