Merge remote-tracking branch 'origin/master'
This commit is contained in:
		| @ -203,6 +203,8 @@ msg.notification.new=You have a new message | ||||
| forum.create=Create forum | ||||
| forum.create.name=New forum's name | ||||
| forum.post.create.name=New post's title  | ||||
| forum.notification.topic.new=New topic created | ||||
| forum.notification.forum.new=New Forum created | ||||
| firstname/name=Firstname/Name | ||||
| regNo=regNo | ||||
| From=From | ||||
| @ -282,7 +284,7 @@ rereg=Reregister in the next year of one of my cursus | ||||
| reregsup=Register in a supplementary cursus | ||||
| chcur=Change from a cursus to another | ||||
| iwouldlike=I would like to : | ||||
| newcurr=New curriculum | ||||
| newcurr=Actual curriculums | ||||
| cursusprereq=The cursus you selected has some prerequisites ensure that your external curriculum data is updated in your profile | ||||
| imposecurriculum=Impose a curriculum | ||||
| impose=Impose | ||||
|  | ||||
| @ -201,6 +201,8 @@ msg.notification.new=Vous avez un nouveau message! | ||||
| forum.create=Créer un forum | ||||
| forum.create.name=Nom du forum | ||||
| forum.post.create.name=Titre du post | ||||
| forum.notification.topic.new=Nouveau Topic crée | ||||
| forum.notification.forum.new=Nouveau forum crée | ||||
| firstname/name=Prénom/Nom | ||||
| regNo=Matricule | ||||
| From=De | ||||
| @ -280,7 +282,7 @@ rereg=Me réinscrire dans l'année supérieure | ||||
| reregsup=M'inscrire dans un cursus supplémentaire | ||||
| chcur=Changer d'un cursus vers un autre | ||||
| iwouldlike=Je voudrais : | ||||
| newcurr=Nouveau cursus | ||||
| newcurr=Cursus actuels | ||||
| cursusprereq=Le cursus que vous avez selectionné a des prérequis assurez vous que votre dossier de parcours est a jour dans votre profil | ||||
| imposecurriculum=Imposer un cursusgotimposed | ||||
| impose=Imposer | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
|   import { toast } from 'vue3-toastify'; | ||||
|   import { ref } from 'vue' | ||||
|   import i18n, { setLang } from './i18n.js' | ||||
|   import { isLogged } from '@/rest/Users.js' | ||||
|   import { isLogged, getSelf } from '@/rest/Users.js' | ||||
| 	import { notifications, fetchNotifications, archiveNotification } from '@/rest/notifications.js' | ||||
|  | ||||
|   import { appList, currentView } from '@/rest/apps.js' | ||||
| @ -14,9 +14,11 @@ window.onhashchange = function() { | ||||
|     currentURL = window.location.hash; | ||||
| } | ||||
| const Logged = ref(isLogged()); | ||||
| const user = ref(); | ||||
|  | ||||
| if(Logged.value){ | ||||
| 	fetchNotifications(); | ||||
| 	getSelf().then(e => user.value = e); | ||||
| } | ||||
|  | ||||
| window.addEventListener('hashchange', () => { | ||||
| @ -49,7 +51,7 @@ window.addEventListener('hashchange', () => { | ||||
|             </a></li> | ||||
|         <li style="float: right;" title=login> | ||||
|             <a class="icon" href="#/login"> | ||||
|                 <div class="fa-solid fa-user" :style="Logged ? 'color: red' : ''" style="margin-top: 7px; margin-bottom: 3px; "></div> | ||||
| 								<div class="fa-solid fa-user" :style="Logged ? 'color: red' : ''" style="margin-top: 7px; margin-bottom: 3px; "></div> | ||||
|             </a></li> | ||||
|         <li style="float: right;" title=notifications @click="notification = !notification"> | ||||
|             <a class="icon"> | ||||
| @ -75,6 +77,7 @@ window.addEventListener('hashchange', () => { | ||||
|                     {{i18n("app.manage.profile")}} | ||||
|                   </a> | ||||
|                   </div> | ||||
| 									<span v-if=Logged>RegNo - {{ user.regNo }}</span> | ||||
|                 </div> | ||||
|             </a></li> | ||||
|       </ul> | ||||
| @ -133,10 +136,12 @@ window.addEventListener('hashchange', () => { | ||||
|  | ||||
|  | ||||
| .dropdown { | ||||
|   color:black; | ||||
|   margin-top:55px; | ||||
|   width:160px; | ||||
|   display: inline-block; | ||||
|   height:110px; | ||||
|   /* height:110px; */ | ||||
| 	text-align: center; | ||||
|   font-size: 13px; | ||||
|   position: absolute; | ||||
|   z-index: 1; | ||||
| @ -162,12 +167,12 @@ window.addEventListener('hashchange', () => { | ||||
| 		margin-top: var(--header-size); | ||||
|     top:0; | ||||
|     left:0; | ||||
| 		padding: 25px 0 0; | ||||
| 		padding: 25px 0; | ||||
| 		width: 70px ; | ||||
| 		background-color: rgb(53, 53, 53); | ||||
| 		border-right:5px; | ||||
| 		border-color:black; | ||||
| 		height: 100%; | ||||
| 		height: calc( 95% - var(--header-size) ) ; | ||||
| 		position: fixed; | ||||
| 		overflow: scroll; | ||||
| 		transition-duration: .3s; | ||||
| @ -237,8 +242,7 @@ window.addEventListener('hashchange', () => { | ||||
| 	  .text { | ||||
| 		right: 0%; | ||||
| 		width: 0%; | ||||
| 		visibility: collapse; | ||||
| 		opacity: 0; | ||||
| 		display:none; | ||||
| 		color: white; | ||||
| 		font-size: 1.2em; | ||||
| 		font-weight: 600; | ||||
| @ -247,7 +251,7 @@ window.addEventListener('hashchange', () => { | ||||
|  | ||||
| 	  ul.vertical:hover .text { | ||||
| 		opacity:1; | ||||
| 		visibility:visible; | ||||
| 		display: inline; | ||||
| 		width: 60%; | ||||
| 		transition-duration: .3s; | ||||
| 		padding-left: 15px; | ||||
|  | ||||
| @ -32,6 +32,9 @@ | ||||
|           <div> | ||||
|             {{ i18n("firstname/name") }} : {{user.firstName}} {{user.lastName}} | ||||
|           </div> | ||||
|           <div> | ||||
|             {{ i18n("regNo") }} :  {{user.regNo}} | ||||
|           </div> | ||||
|           <div> | ||||
|             {{ i18n("login.guest.email") }}: {{user.email}} | ||||
|           </div> | ||||
|  | ||||
| @ -80,7 +80,7 @@ function isExempted(course){ | ||||
|     </div> | ||||
|   </div> | ||||
|   <div v-if="list === false"> | ||||
|     <button @click="list=!list;submitted=!submitted">{{ i18n("courses.back") }}</button> | ||||
|     <button @click="list=!list;submitted=false">{{ i18n("courses.back") }}</button> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
|  | ||||
| @ -115,7 +115,7 @@ | ||||
|           <div class="studentfirstname">{{item.user.firstName}}</div> | ||||
|           <div class="studentlastname">{{item.user.lastName}}</div> | ||||
|           <div class="reqState">{{ i18n("approval")}}{{item.state}}</div> | ||||
|           <div class="teacherApproval">{{ i18n("teacherapproval") }} : {{item.teacherApprovalState}}</div> | ||||
|           <div class="teacherApproval">{{ i18n("teacherapproval") }} {{item.teacherApprovalState}}</div> | ||||
|           <div class="infos"><button @click="windowsState=5;targetId=item.id">{{ i18n("request.moreInfos") }}</button></div> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
| @ -192,10 +192,10 @@ | ||||
|           <div> | ||||
|             {{ i18n("login.guest.email") }}: {{user.email}} | ||||
|           </div> | ||||
|           <div v-if="user.role==='Student'"> | ||||
|           <div> | ||||
|             {{ i18n("regNo") }} :  {{user.regNo}} | ||||
|           </div> | ||||
|           <div v-else> | ||||
|           <div> | ||||
|             {{ i18n("role") }}:  {{i18n((user.role))}} | ||||
|           </div> | ||||
|           <div> | ||||
| @ -253,7 +253,7 @@ | ||||
|             {{ i18n("alreadypaid") }} | ||||
|           </div> | ||||
|           <div> | ||||
|             <button @click="windowState=7" v-if="minerv.value.toPay <= 0">{{ i18n("askscholarship") }}</button> | ||||
|             <button @click="windowState=7" v-if="minerv.value.toPay >= 0">{{ i18n("askscholarship") }}</button> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div v-if="windowState === 5"> | ||||
| @ -369,7 +369,7 @@ | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div v-if="windowState === 0" class="moreInfos"> | ||||
|       <div v-if="windowState === 0 && user.role==='Student'" class="moreInfos"> | ||||
|         <div class = "oldcursus"> | ||||
|             <div class="listTitle"> | ||||
|               {{ i18n("oldcursus") }} | ||||
|  | ||||
| @ -2,9 +2,14 @@ import { ref } from 'vue' | ||||
| import { restGet, restPost } from '@/rest/restConsumer.js' | ||||
|  | ||||
| export const notifications = ref([]); | ||||
| let timerSet = false | ||||
|  | ||||
| export function fetchNotifications(){ | ||||
| 	restGet("/notifications").then( e => notifications.value = e ); | ||||
| 	if(!timerSet){ | ||||
| 		timerSet = true; | ||||
| 		setTimeout(() => {timerSet = false; fetchNotifications()}, 5000); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| export function archiveNotification(id){ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user