Profil part.2/?
This commit is contained in:
		| @ -1,53 +1,39 @@ | ||||
| <script setup> | ||||
|   import {reactive, ref } from 'vue' | ||||
|   import {getSelf} from '../rest/Users.js' | ||||
|   import {getSelf,alterSelf} from '../rest/Users.js' | ||||
|   import i18n from "@/i18n.js" | ||||
|   import { uploadProfilePicture } from '@/rest/uploads.js' | ||||
|   const user = await getSelf(); | ||||
|   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": []}, | ||||
|   console.log(user); | ||||
|  | ||||
|   ], | ||||
|   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(){ | ||||
|   return user.profilePicture | ||||
| } | ||||
|   const modif = ref(false); | ||||
|   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> | ||||
|  | ||||
|  | ||||
|  | ||||
| <template> | ||||
|   <div class="body"> | ||||
|   <div class="container"> | ||||
| @ -56,7 +42,7 @@ function getPP(){ | ||||
|  | ||||
|     </div> | ||||
|       <div class="globalInfos"> | ||||
|         <div v-if="modif==false" class="infosContainer" > | ||||
|         <div v-if="modif==false && curric==false && unreg==false && reg==false " class="infosContainer" > | ||||
|           <div> | ||||
|             {{user.firstName}} {{user.lastName}}    | ||||
|           </div> | ||||
| @ -75,12 +61,12 @@ function getPP(){ | ||||
|           <div v-if="(user.role==='Student')"> | ||||
|             <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> | ||||
|           </div> | ||||
|           <div v-if="(user.role==='Student')"> | ||||
|             <button @click="curric=!curric">{{i18n("profile.change.curriculum")}}</button> | ||||
|           </div> | ||||
|            | ||||
|            | ||||
|         </div> | ||||
|         <div v-else class="infosContainer"> | ||||
|         <div v-else-if="modif" class="infosContainer"> | ||||
|           <div> | ||||
|             {{i18n("profile.picture")}}: | ||||
|             <input type="file" @change="user.profilPicture = uploadProfilePicture($event.target.files);" accept="image/*"> | ||||
| @ -102,17 +88,87 @@ function getPP(){ | ||||
|             <input type="password" id="confirm"> | ||||
|           </div> | ||||
|           <div> | ||||
|             <button @click=" modif=!modif">{{i18n("courses.confirm")}}</button> | ||||
|             <button @click=" modif=!modif; ChangeInfos();">{{i18n("courses.confirm")}}</button> | ||||
|           </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 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 class="listTitle"> | ||||
|             {{i18n("profile.course.list")}} | ||||
|           </div> | ||||
|         <div  class="listElement " | ||||
|           <div  class="listElement " | ||||
|           v-for="item in user.curriculum"> | ||||
|           <div class=" containerElement"> | ||||
|             <div class="name"> {{item.name}} </div> | ||||
| @ -133,10 +189,6 @@ function getPP(){ | ||||
|           {{item.name}}        | ||||
|           </div> | ||||
|         </div> | ||||
|          | ||||
|         <div> | ||||
|         </div> | ||||
|          | ||||
|       </div> | ||||
|   </div> | ||||
| </div> | ||||
|  | ||||
| @ -4,7 +4,8 @@ | ||||
|   import { reactive  } from 'vue' | ||||
|   import { getAllUsers } from '../rest/Users.js' | ||||
|  | ||||
|   const users = getAllUsers(); | ||||
|   const users = await getAllUsers(); | ||||
|  | ||||
| </script>  | ||||
| <template> | ||||
|   <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' | ||||
|  | ||||
| export async function login(user, pass, exp){ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user