7 Commits

Author SHA1 Message Date
d21655c535 fix max's scroll issue
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 1m24s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 30s
2024-04-22 10:25:07 +02:00
490bf403f0 Merge pull request 'Add the regNo in profile and aboutStudent' (#178) from regNoFix into master
All checks were successful
Build and test backend / Build-backend (push) Successful in 1m25s
deploy to production / deploy-frontend (push) Successful in 33s
deploy to production / deploy-backend (push) Successful in 18s
Build and test FrontEnd / Build-frontend (push) Successful in 29s
Reviewed-on: #178
2024-04-22 09:52:56 +02:00
c61a092809 Add the regNo in profile and aboutStudent
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 1m23s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 32s
2024-04-22 09:39:48 +02:00
2cffe28720 show regno on options
All checks were successful
Build and test backend / Build-backend (push) Successful in 1m23s
deploy to production / deploy-frontend (push) Successful in 33s
deploy to production / deploy-backend (push) Successful in 18s
Build and test FrontEnd / Build-frontend (push) Successful in 30s
2024-04-22 09:22:19 +02:00
060526c20d timer on notifications
All checks were successful
Build and test backend / Build-backend (push) Successful in 1m30s
deploy to production / deploy-frontend (push) Successful in 32s
deploy to production / deploy-backend (push) Successful in 18s
Build and test FrontEnd / Build-frontend (push) Successful in 30s
2024-04-22 09:09:53 +02:00
af8bc8872d Merge pull request 'fix with the stats and translations' (#177) from Maxime/Clyde:master into master
All checks were successful
Build and test backend / Build-backend (push) Successful in 1m29s
deploy to production / deploy-frontend (push) Successful in 34s
deploy to production / deploy-backend (push) Successful in 58s
Build and test FrontEnd / Build-frontend (push) Successful in 31s
Reviewed-on: #177
2024-04-22 02:28:41 +02:00
12ff43e970 fix with the stats and translations
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 1m26s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 33s
2024-04-22 02:27:21 +02:00
11 changed files with 38 additions and 25 deletions

View File

@ -81,7 +81,7 @@ public class MockController {
// user part
User herobrine = new User("brine","hero","admin@admin.com","behind","ShadowsLand",new Date(0), null,Role.Admin,"admin");
User joe = new User("Mama","Joe","student@student.com","roundabout","England",new Date(0), null,Role.Student,"student");
User joe = new User("Piplo","Joe","student@student.com","roundabout","England",new Date(0), null,Role.Student,"student");
User meh = new User("Polo","Marco","secretary@secretary.com","a Box","Monaco",new Date(0), null,Role.Secretary,"secretary");
User joke = new User("Gaillard","Corentin","teacher@teacher.com","lab","faculty",new Date(0), null,Role.Teacher,"teacher");
User jojo = new User("Bridoux","Justin","teacher2@teacher2.com","lab","faculty",new Date(0), null,Role.Teacher,"teacher");
@ -168,13 +168,13 @@ public class MockController {
Research jojoResearch = new Research("Graphs : Advanced Search Algorithms", output, new Date(0),
PaperType.Article, "test.pdf", null, "english",
Access.OpenSource, "IT", "This Article's title speaks for itself \n We'll discuss about advanced Graph search Algorithms",coAuthor);
Research restrictedResearch = new Research("just another Name", output, new Date(1111111111),
PaperType.Article, "restricted", null, "english",
Access.Restricted, "Restricted", "This Article's title speaks for itself\n We'll discuss about advanced Graph search Algorithms", new HashSet<>());
Research restrictedResearch = new Research("the great Constantinople war", output, new Date(1111111111),
PaperType.Article, "restricted", null, "Portuguese",
Access.Restricted, "history", "this is a summary", new HashSet<>());
Research privateResearch = new Research("the great Potato War", output, new Date(),
PaperType.Article, "private", null, "english",
Access.Private, "private", "This Article's title speaks for itself\n We'll discuss about advanced Graph search Algorithms",null);
Access.Private, "agriculture", "my life is potato",null);
researchesService.saveResearch(restrictedResearch);

View File

@ -289,3 +289,4 @@ cursusprereq=The cursus you selected has some prerequisites ensure that your ext
imposecurriculum=Impose a curriculum
impose=Impose
gotimposed=The selected curriculum has been imposed
DifferentLanguage=Different Languages

View File

@ -287,3 +287,4 @@ cursusprereq=Le cursus que vous avez selectionné a des prérequis assurez vous
imposecurriculum=Imposer un cursusgotimposed
impose=Imposer
gotimposed=Le cursus selectionné a été imposé
DifferentLanguage=Langues différentes

View File

@ -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', () => {
@ -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;

View File

@ -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>

View File

@ -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>

View File

@ -138,7 +138,6 @@ const emit = defineEmits(["modified"]);
#researches{
width: 100%;
height: 100%;
overflow: scroll;
}
#search{
width: 100%;

View File

@ -82,7 +82,7 @@ function getPP(){
</div>
<div> <ListResearches :allResearcher="allResearcher" :research-list="researchList" :manage="true" @modified="modifiedResearch"></ListResearches> </div>
<ListResearches :allResearcher="allResearcher" :research-list="researchList" :manage="true" @modified="modifiedResearch"></ListResearches>
</div>
</div>
</template>

View File

@ -99,7 +99,7 @@ async function articleClicked(){
<li>{{i18n("PaperType")}} : {{article.paperType}}</li>
<li>{{i18n("Domain")}} : {{article.domain}}</li>
<li>{{i18n("Views")}} : {{article.views}}</li>
<li>{{i18n("Access")}} : {{i18n(article.access)}}</li>
<li>{{i18n("Access")}} : {{i18n("Access."+article.access)}}</li>
</ul>
<div id="downloads" v-if="article.pdfLocation !== null && !manage">
<a :href=downloadPdf() @click.stop="articleClicked" target="_blank">{{i18n("See.Research")}}</a>

View File

@ -11,8 +11,8 @@ import {fetchResearcher, fetchResearches, fetchStats} from "@/rest/ScientificPub
import ListResearches from "@/Apps/ScientificPublications/ListResearches.vue";
import i18n from "../../i18n.js";
const input = ref("");
const statsOf = ref("");
const statsBy = ref("");
const statsOf = ref();
const statsBy = ref();
let chart;
const researcherId = window.location.href.split("=")[1]
@ -63,16 +63,15 @@ const options = reactive({
function update(){
options.title = {
fontColor: "white",
text: statsOf.value + " By "+ statsBy.value,
}
let index = (statsOf.value === "views"?0:(statsOf.value === "researches"?3:6)) + (statsBy.value ==="years"?0:(statsBy.value==="months"?1:2))
if (statsOf.value !== "" && statsBy.value !== "")
let index = (statsOf.value === "Views"?0:(statsOf.value === "Researches"?3:6)) + (statsBy.value ==="Years"?0:(statsBy.value==="Months"?1:2))
if (typeof statsBy.value !== 'undefined' && typeof statsOf.value !== 'undefined'){
options.data[0].dataPoints = stats.value[index]
options.title.text = i18n(statsOf.value) +" "+ i18n("By") +" " + i18n(statsBy.value);
chart.render();
}
}
</script>
@ -97,7 +96,7 @@ function update(){
<select @change="update()" id="stats-select" v-model="statsOf">
<option value="Views">{{i18n("Views")}}</option>
<option value="Researches">{{i18n("Researches")}}</option>
<option value="Languages">{{i18n("Language")}}</option>
<option value="DifferentLanguage">{{i18n("DifferentLanguage")}}</option>
</select>
</div>
<div class="surrounded">
@ -105,7 +104,7 @@ function update(){
<select @change="update()" id="classed-select" v-model="statsBy">
<option value="Years">{{i18n("Years")}}</option>
<option value="Months">{{i18n("Months")}}</option>
<option value="Topics">{{i18n("Domain")}}</option>
<option value="Domain">{{i18n("Domain")}}</option>
</select>
</div>
<div id="statsPie">

View File

@ -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){