Implements the possibility to ask for a scholarship for a student
This commit is contained in:
		@ -20,11 +20,6 @@ async function updateCourseList(){
 | 
			
		||||
  courseslist.value = await getcurriculum(selectedCurriculum.value.curriculumId)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function uploadfileandgetpath(file, type){
 | 
			
		||||
  const a = await uploadFile(file, type);
 | 
			
		||||
  exemptReq.justifDocument = a.url
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function postExemptionRequest(file, type){
 | 
			
		||||
  const a = await uploadFile(file, type);
 | 
			
		||||
  exemptReq.justifDocument = a.url
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -2,4 +2,8 @@ import {restPost} from "@/rest/restConsumer.js";
 | 
			
		||||
 | 
			
		||||
export async function createExemptionsRequest(exempReq){
 | 
			
		||||
    return restPost("/exemptionreq", exempReq)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function createScholarshipRequest(scholReq){
 | 
			
		||||
    return restPost("/scholarshipreq", scholReq)
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user