Compare commits
1 Commits
tonitch/fr
...
Leo/Inscri
Author | SHA1 | Date | |
---|---|---|---|
ad0e7b3e35 |
@ -81,7 +81,7 @@ public class InscriptionService {
|
|||||||
);
|
);
|
||||||
|
|
||||||
userRepo.save(userFromRequest);
|
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);
|
inscrRequest.setState(requestState);
|
||||||
save(inscrRequest);
|
save(inscrRequest);
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -21,9 +21,12 @@ public class UserCurriculum {
|
|||||||
@OnDelete(action = OnDeleteAction.CASCADE)
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
private Curriculum curriculum;
|
private Curriculum curriculum;
|
||||||
|
|
||||||
public UserCurriculum(User user, Curriculum curriculum){
|
private int year;
|
||||||
|
|
||||||
|
public UserCurriculum(User user, Curriculum curriculum, int year){
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.curriculum = curriculum;
|
this.curriculum = curriculum;
|
||||||
|
this.year = year;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserCurriculum() {}
|
public UserCurriculum() {}
|
||||||
@ -47,4 +50,12 @@ public class UserCurriculum {
|
|||||||
public void setCurriculum(Curriculum curriculum) {
|
public void setCurriculum(Curriculum curriculum) {
|
||||||
this.curriculum = curriculum;
|
this.curriculum = curriculum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getYear() {
|
||||||
|
return year;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setYear(int year) {
|
||||||
|
this.year = year;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ window.addEventListener('hashchange', () => {
|
|||||||
<a class="icon" href="#Notifications">
|
<a class="icon" href="#Notifications">
|
||||||
<div class="fa-solid fa-bell" style="margin-top: 7px; margin-bottom: 3px;"></div>
|
<div class="fa-solid fa-bell" style="margin-top: 7px; margin-bottom: 3px;"></div>
|
||||||
</a></li>
|
</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" >
|
<a class="icon" >
|
||||||
<div class="fa-solid fa-gear" style="margin-top: 7px; margin-bottom: 3px;"></div>
|
<div class="fa-solid fa-gear" style="margin-top: 7px; margin-bottom: 3px;"></div>
|
||||||
<div v-if="active" class="dropdown">
|
<div v-if="active" class="dropdown">
|
||||||
@ -86,9 +86,12 @@ window.addEventListener('hashchange', () => {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
<div style=" margin:50px;">
|
||||||
<Suspense>
|
<Suspense>
|
||||||
<component :is="currentView" />
|
|
||||||
|
<component :is="currentView" />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -96,8 +99,6 @@ window.addEventListener('hashchange', () => {
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
.container{
|
.container{
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
display:grid;
|
display:grid;
|
||||||
grid-template-columns:[firstCol-start]70px[firstCol-end secondCol-start]auto[endCol];
|
grid-template-columns:[firstCol-start]70px[firstCol-end secondCol-start]auto[endCol];
|
||||||
grid-template-rows:[firstRow-start]61px[firstRow-end secondRow-start] auto [endRow];
|
grid-template-rows:[firstRow-start]61px[firstRow-end secondRow-start] auto [endRow];
|
||||||
@ -110,8 +111,6 @@ window.addEventListener('hashchange', () => {
|
|||||||
|
|
||||||
.page {
|
.page {
|
||||||
grid-area:page;
|
grid-area:page;
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
place-self:center;
|
place-self:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
24
frontend/src/Apps/AboutStudent.vue
Normal file
24
frontend/src/Apps/AboutStudent.vue
Normal 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>
|
@ -56,10 +56,10 @@
|
|||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="setup">
|
<div class='loginBox'>
|
||||||
|
|
||||||
<div v-if="loginPage">
|
<div v-if="loginPage">
|
||||||
<div class='loginBox' style="margin-top:30%;">
|
<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;">
|
<h1 style="color:rgb(239,60,168); font-family: sans-serif;">
|
||||||
{{i18n("login.guest.signin")}}
|
{{i18n("login.guest.signin")}}
|
||||||
</h1>
|
</h1>
|
||||||
@ -74,15 +74,14 @@
|
|||||||
<div class="register">
|
<div class="register">
|
||||||
<a @click="loginPage=!loginPage">{{i18n("login.guest.register")}}</a>
|
<a @click="loginPage=!loginPage">{{i18n("login.guest.register")}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="inputBox" style="margin-bottom:35px;">
|
<div class="inputBox">
|
||||||
<input type="submit" v-model="submitValue">
|
<input type="submit" v-model="submitValue">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div class='loginBox' style="margin-top:30%; margin-bottom:50%;">
|
<form class="form">
|
||||||
<form class="form">
|
|
||||||
<h1 style="color:rgb(239,60,168); font-family: sans-serif; text-align:center;">
|
<h1 style="color:rgb(239,60,168); font-family: sans-serif; text-align:center;">
|
||||||
{{i18n("login.guest.welcome")}}
|
{{i18n("login.guest.welcome")}}
|
||||||
</h1>
|
</h1>
|
||||||
@ -129,12 +128,9 @@
|
|||||||
<p>{{i18n("login.guest.country")}}</p>
|
<p>{{i18n("login.guest.country")}}</p>
|
||||||
<input type="text" v-model="outputs.country">
|
<input type="text" v-model="outputs.country">
|
||||||
</div>
|
</div>
|
||||||
<form class="inputBox"novalidate enctype="multipart/form-data">
|
<form novalidate enctype="multipart/form-data" class="inputBox">
|
||||||
<p>{{i18n("profile.picture").toUpperCase()}}</p>
|
<p>{{i18n("profile.picture").toUpperCase()}}</p>
|
||||||
<label class="browser">
|
<input type="file" :disabled="imageSaved" @change="ppData = uploadProfilePicture($event.target.files); imageSaved = true;" accept="image/*">
|
||||||
Parcourir . . .
|
|
||||||
<input type="file" :disabled="imageSaved" @change="ppData = uploadProfilePicture($event.target.files); imageSaved = true;" accept="image/*">
|
|
||||||
</label>
|
|
||||||
</form>
|
</form>
|
||||||
<div class="inputBox">
|
<div class="inputBox">
|
||||||
<p>{{i18n("Curriculum").toUpperCase()}}</p>
|
<p>{{i18n("Curriculum").toUpperCase()}}</p>
|
||||||
@ -157,26 +153,35 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.Home{
|
||||||
.setup {
|
position:absolute;
|
||||||
margin-left: auto;
|
display: flex;
|
||||||
margin-right:auto;
|
z-index: 100;
|
||||||
min-width:400px;
|
padding: 8px 16px;
|
||||||
|
color:rgb(255, 255, 255);
|
||||||
width:25%;
|
text-decoration: none;
|
||||||
height:60%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Home:hover{
|
||||||
|
width:40px;
|
||||||
|
background-color: black;
|
||||||
|
border-radius:6px;
|
||||||
|
color:white;
|
||||||
|
transform: translate(0px ,1px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.loginBox {
|
.loginBox {
|
||||||
background-color: rgb(24,24,24);
|
background-color: rgb(24,24,24);
|
||||||
|
width: 400px;
|
||||||
display:flex;
|
display:flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 5%;
|
padding: 40px;
|
||||||
|
border-radius: 20px;
|
||||||
box-shadow:0 5px 25px #000000;
|
box-shadow:0 5px 25px #000000;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -185,8 +190,9 @@
|
|||||||
width:100%;
|
width:100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
align-items:center;
|
align-items:center;
|
||||||
gap: 3%;
|
gap: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -194,12 +200,12 @@
|
|||||||
|
|
||||||
width:100%;
|
width:100%;
|
||||||
border: none;
|
border: none;
|
||||||
margin-right: 12.5%;
|
margin-right: 50px;
|
||||||
padding-left: 2.5%;
|
padding-left: 10px;
|
||||||
padding-top:2.5%;
|
padding-top:10px;
|
||||||
padding-bottom:2.5%;
|
padding-bottom:10px;
|
||||||
outline:none;
|
outline:none;
|
||||||
border-radius: 10px;
|
border-radius: 4px;
|
||||||
font-size:1.35em;
|
font-size:1.35em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,9 +220,8 @@
|
|||||||
|
|
||||||
.register{
|
.register{
|
||||||
color:rgb(239,60,168);
|
color:rgb(239,60,168);
|
||||||
width:70%;
|
width: 100%;
|
||||||
margin-bottom:20px;
|
display:flex;
|
||||||
margin-top:20px;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,21 +250,6 @@ input[type=submit],button,select{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=file]{
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.browser{
|
|
||||||
display:inline-block;
|
|
||||||
cursor:pointer;
|
|
||||||
border-radius:20px;
|
|
||||||
background-color:rgb(239,60,168);
|
|
||||||
padding:5%;
|
|
||||||
font-size:1.35em;
|
|
||||||
font-family:sans-serif;
|
|
||||||
background:#FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active ,.switchpage:active{
|
button:active ,.switchpage:active{
|
||||||
opacity:0.8;
|
opacity:0.8;
|
||||||
|
|
||||||
|
@ -1,11 +1,4 @@
|
|||||||
body {
|
body {
|
||||||
background-color: rgb(53, 25, 60);
|
background-color: rgb(53, 25, 60);
|
||||||
margin:0;
|
margin:0;
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user