1 Commits

Author SHA1 Message Date
ad0e7b3e35 - Ajoute un champ year dans UserCurriculum pour différencier les anciers cursus de l'actuel pour l'étudiant
- Ajoute la table ExemptionsRequest
- Ajoute la table ScholarshipRequest
- Ajoute la table UninscriptionRequest
2024-03-23 14:08:03 +01:00
8 changed files with 224 additions and 16 deletions

View File

@ -81,7 +81,7 @@ public class InscriptionService {
);
userRepo.save(userFromRequest);
userCurriculumRepo.save(new UserCurriculum(userFromRequest, curriculumRepo.findById(inscrRequest.getCurriculumId())));
userCurriculumRepo.save(new UserCurriculum(userFromRequest, curriculumRepo.findById(inscrRequest.getCurriculumId()),0));
}
inscrRequest.setState(requestState);
save(inscrRequest);

View File

@ -0,0 +1,66 @@
package ovh.herisson.Clyde.Tables;
import jakarta.persistence.*;
@Entity
public class ExemptionsRequest {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne
@JoinColumn(name = "Users")
private User user;
@ManyToOne
@JoinColumn(name = "Course")
private Course course;
private String justifDocument;
private RequestState state;
public ExemptionsRequest(User user, Course course, String justifDocument, RequestState state){
this.user = user;
this.course = course;
this.justifDocument = justifDocument;
this.state = state;
}
public ExemptionsRequest(){}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
public String getJustifDocument() {
return justifDocument;
}
public void setJustifDocument(String justifDocument) {
this.justifDocument = justifDocument;
}
public RequestState getState() {
return state;
}
public void setState(RequestState state) {
this.state = state;
}
}

View File

@ -0,0 +1,59 @@
package ovh.herisson.Clyde.Tables;
import jakarta.persistence.*;
@Entity
public class ScholarshipRequest {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne
@JoinColumn(name = "Users")
private User user;
private RequestState state;
private String requestForm;
private int amount;
public ScholarshipRequest(User user, RequestState state, String requestForm, int amount){
this.user = user;
this.state = state;
this.requestForm = requestForm;
this.amount = amount;
}
public ScholarshipRequest(){}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public RequestState getState() {
return state;
}
public void setState(RequestState state) {
this.state = state;
}
public String getRequestForm() {
return requestForm;
}
public void setRequestForm(String requestForm) {
this.requestForm = requestForm;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}

View File

@ -0,0 +1,28 @@
package ovh.herisson.Clyde.Tables;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class UninscriptionRequest {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private RequestState state;
public UninscriptionRequest(RequestState state){
this.state = state;
}
public UninscriptionRequest(){}
public RequestState getState() {
return state;
}
public void setState(RequestState state) {
this.state = state;
}
}

View File

@ -21,9 +21,12 @@ public class UserCurriculum {
@OnDelete(action = OnDeleteAction.CASCADE)
private Curriculum curriculum;
public UserCurriculum(User user, Curriculum curriculum){
private int year;
public UserCurriculum(User user, Curriculum curriculum, int year){
this.user = user;
this.curriculum = curriculum;
this.year = year;
}
public UserCurriculum() {}
@ -47,4 +50,12 @@ public class UserCurriculum {
public void setCurriculum(Curriculum curriculum) {
this.curriculum = curriculum;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}

View File

@ -52,7 +52,7 @@ window.addEventListener('hashchange', () => {
<a class="icon" href="#Notifications">
<div class="fa-solid fa-bell" style="margin-top: 7px; margin-bottom: 3px;"></div>
</a></li>
<li @click="active=!active" class="option"style="float: right;" title=settings>
<li @click="active=!active" class="option"style="float: right;" title=settings>
<a class="icon" >
<div class="fa-solid fa-gear" style="margin-top: 7px; margin-bottom: 3px;"></div>
<div v-if="active" class="dropdown">
@ -86,10 +86,12 @@ window.addEventListener('hashchange', () => {
</ul>
</div>
<div class="page">
<div style=" margin:50px;">
<Suspense>
<component :is="currentView" />
</Suspense>
</div>
</div>
</div>
</template>

View File

@ -0,0 +1,24 @@
<script setup>
</script>
<template>
<div class="aboutbox">
<h1 class="test">Coucou</h1>
</div>
</template>
<style scoped>
.aboutbox {
background-color: rgb(24,24,24);
width: 400px;
display:flex;
justify-content: center;
padding: 40px;
border-radius: 20px;
box-shadow:0 5px 25px #000000;
}
.test{
color: red;
}
</style>

View File

@ -55,11 +55,11 @@
</script>
<template style="background-color:rgba(255,255,255,0.05); border-radius:50px" >
<template>
<div class='loginBox'>
<div v-if="loginPage">
<form @submit.prevent="login(outputs.email,outputs.password);goBackHome();"class="form">
<form @submit.prevent=" login(outputs.email,outputs.password);goBackHome();"class="form">
<h1 style="color:rgb(239,60,168); font-family: sans-serif;">
{{i18n("login.guest.signin")}}
</h1>
@ -80,7 +80,7 @@
</form>
</div>
<div v-else>
<div v-else>
<form class="form">
<h1 style="color:rgb(239,60,168); font-family: sans-serif; text-align:center;">
{{i18n("login.guest.welcome")}}
@ -157,14 +157,31 @@
</template>
<style scoped>
.Home{
position:absolute;
display: flex;
z-index: 100;
padding: 8px 16px;
color:rgb(255, 255, 255);
text-decoration: none;
}
.Home:hover{
width:40px;
background-color: black;
border-radius:6px;
color:white;
transform: translate(0px ,1px);
}
.loginBox {
background-color: rgb(24,24,24);
width: 100%;
height:100%;
width: 400px;
display:flex;
justify-content: center;
padding: 10%;
border-radius: 5%;
padding: 40px;
border-radius: 20px;
box-shadow:0 5px 25px #000000;
}
@ -173,8 +190,9 @@
width:100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items:center;
gap: 3%;
gap: 15px;
}
@ -182,12 +200,12 @@
width:100%;
border: none;
margin-right: 12.5%;
padding-left: 2.5%;
padding-top:2.5%;
padding-bottom:2.5%;
margin-right: 50px;
padding-left: 10px;
padding-top:10px;
padding-bottom:10px;
outline:none;
border-radius: 10px;
border-radius: 4px;
font-size:1.35em;
}