Profil part.2/?
This commit is contained in:
parent
36ce5a553b
commit
36fc33c3e9
@ -1,53 +1,39 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import {reactive, ref } from 'vue'
|
import {reactive, ref } from 'vue'
|
||||||
import {getSelf} from '../rest/Users.js'
|
import {getSelf,alterSelf} from '../rest/Users.js'
|
||||||
import i18n from "@/i18n.js"
|
import i18n from "@/i18n.js"
|
||||||
import { uploadProfilePicture } from '@/rest/uploads.js'
|
import { uploadProfilePicture } from '@/rest/uploads.js'
|
||||||
const user = await getSelf();
|
const user = await getSelf();
|
||||||
console.log(user)
|
console.log(user);
|
||||||
console.log(user.role)
|
|
||||||
console.log("test")
|
|
||||||
/*
|
|
||||||
Teacher user
|
|
||||||
const user =reactive({
|
|
||||||
profilPicture:"../assets/clyde.png",
|
|
||||||
lastName:"Ghost",
|
|
||||||
firstName:"Clyde",
|
|
||||||
role:"teacher",
|
|
||||||
address: "Radiator Springs",
|
|
||||||
email:"ClydeGhost@gmail.com",
|
|
||||||
coursesOwned:[
|
|
||||||
{
|
|
||||||
"id": 12,
|
|
||||||
"name": "Math pour l'info",
|
|
||||||
"faculty": "science",
|
|
||||||
"teacher": 42,
|
|
||||||
"Assistants": []},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "Fonctionnement des ordinateurs",
|
|
||||||
"credits": 11,
|
|
||||||
"faculty": "science",
|
|
||||||
"teacher": 42,
|
|
||||||
"Assistants": []},
|
|
||||||
|
|
||||||
],
|
|
||||||
faculty:"Science",
|
|
||||||
})*/
|
|
||||||
|
|
||||||
const modif = ref(false);
|
|
||||||
const curric = ref(false);
|
|
||||||
const unreg = ref(false);
|
|
||||||
const reg = ref(false);
|
|
||||||
const toModify = Object.assign({}, user);
|
|
||||||
|
|
||||||
function getPP(){
|
const modif = ref(false);
|
||||||
return user.profilePicture
|
const curric = ref(false);
|
||||||
}
|
const unreg = ref(false);
|
||||||
|
const reg = ref(false);
|
||||||
|
|
||||||
|
const toModify = {
|
||||||
|
profilPictureUrl:null,
|
||||||
|
email:null,
|
||||||
|
adress:null,
|
||||||
|
password:null,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function ChangeInfos(){
|
||||||
|
for (const [key, value] in Object.entries(toModify)){
|
||||||
|
if(value !== null){
|
||||||
|
alterSelf({key:value})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPP(){
|
||||||
|
return user.profilePictureUrl
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -56,7 +42,7 @@ function getPP(){
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="globalInfos">
|
<div class="globalInfos">
|
||||||
<div v-if="modif==false" class="infosContainer" >
|
<div v-if="modif==false && curric==false && unreg==false && reg==false " class="infosContainer" >
|
||||||
<div>
|
<div>
|
||||||
{{user.firstName}} {{user.lastName}}
|
{{user.firstName}} {{user.lastName}}
|
||||||
</div>
|
</div>
|
||||||
@ -75,12 +61,12 @@ function getPP(){
|
|||||||
<div v-if="(user.role==='Student')">
|
<div v-if="(user.role==='Student')">
|
||||||
<button @click="reg=!reg">{{i18n("profile.reRegister")}}</button>
|
<button @click="reg=!reg">{{i18n("profile.reRegister")}}</button>
|
||||||
<button @click="unreg=!unreg" style="float:right;background-color:rgb(150,0,0);">{{i18n("profile.unRegister")}}</button>
|
<button @click="unreg=!unreg" style="float:right;background-color:rgb(150,0,0);">{{i18n("profile.unRegister")}}</button>
|
||||||
|
</div>
|
||||||
|
<div v-if="(user.role==='Student')">
|
||||||
<button @click="curric=!curric">{{i18n("profile.change.curriculum")}}</button>
|
<button @click="curric=!curric">{{i18n("profile.change.curriculum")}}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="infosContainer">
|
<div v-else-if="modif" class="infosContainer">
|
||||||
<div>
|
<div>
|
||||||
{{i18n("profile.picture")}}:
|
{{i18n("profile.picture")}}:
|
||||||
<input type="file" @change="user.profilPicture = uploadProfilePicture($event.target.files);" accept="image/*">
|
<input type="file" @change="user.profilPicture = uploadProfilePicture($event.target.files);" accept="image/*">
|
||||||
@ -102,17 +88,87 @@ function getPP(){
|
|||||||
<input type="password" id="confirm">
|
<input type="password" id="confirm">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button @click=" modif=!modif">{{i18n("courses.confirm")}}</button>
|
<button @click=" modif=!modif; ChangeInfos();">{{i18n("courses.confirm")}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else-if="curric" class="infosContainer">
|
||||||
|
<div>
|
||||||
|
{{i18n("curriculum")}}:
|
||||||
|
<select v-model="curriculum">
|
||||||
|
<option v-for="item in currcula">{{item}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
E-mail:
|
||||||
|
<input type="mail" v-model="mail">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.password")}}:
|
||||||
|
<input type="password" v-model="assword">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.cPassword")}}:
|
||||||
|
<input type="password" id="confirm">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button @click=" curric=!curric;">{{i18n("courses.confirm")}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="reg" class="infosContainer">
|
||||||
|
<div>
|
||||||
|
E-mail:
|
||||||
|
<input type="mail" v-model="toModify.email" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("profile.address")}}:
|
||||||
|
<input type="text" v-model="toModify.address">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.password")}}:
|
||||||
|
<input type="password" v-model="toModify.password">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.cPassword")}}:
|
||||||
|
<input type="password" id="confirm">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button @click=" reg=!reg;">{{i18n("courses.confirm")}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="unreg" class="infosContainer">
|
||||||
|
<div>
|
||||||
|
E-mail:
|
||||||
|
<input type="mail" v-model="toModify.email" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("profile.address")}}:
|
||||||
|
<input type="text" v-model="toModify.address">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.password")}}:
|
||||||
|
<input type="password" v-model="toModify.password">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{i18n("login.cPassword")}}:
|
||||||
|
<input type="password" id="confirm">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button @click=" unreg=!unreg;">{{i18n("courses.confirm")}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="modif==false"class="moreInfos">
|
|
||||||
|
<div v-if="modif==false && curric==false && unreg==false && reg==false "class="moreInfos">
|
||||||
|
|
||||||
<div v-if="(user.role==='Student')">
|
<div v-if="(user.role==='Student')">
|
||||||
<div class="listTitle">
|
<div class="listTitle">
|
||||||
{{i18n("profile.course.list")}}
|
{{i18n("profile.course.list")}}
|
||||||
</div>
|
</div>
|
||||||
<div class="listElement "
|
<div class="listElement "
|
||||||
v-for="item in user.curriculum">
|
v-for="item in user.curriculum">
|
||||||
<div class=" containerElement">
|
<div class=" containerElement">
|
||||||
<div class="name"> {{item.name}} </div>
|
<div class="name"> {{item.name}} </div>
|
||||||
@ -133,10 +189,6 @@ function getPP(){
|
|||||||
{{item.name}}
|
{{item.name}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
import { reactive } from 'vue'
|
import { reactive } from 'vue'
|
||||||
import { getAllUsers } from '../rest/Users.js'
|
import { getAllUsers } from '../rest/Users.js'
|
||||||
|
|
||||||
const users = getAllUsers();
|
const users = await getAllUsers();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div v-for="item in users">
|
<div v-for="item in users">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { restGet, restPost } from './restConsumer.js'
|
import { restGet, restPost, restPatch} from './restConsumer.js'
|
||||||
import { getCookie, setCookie } from '@/utils.js'
|
import { getCookie, setCookie } from '@/utils.js'
|
||||||
|
|
||||||
export async function login(user, pass, exp){
|
export async function login(user, pass, exp){
|
||||||
|
Loading…
Reference in New Issue
Block a user