Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenQuizz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Weber Rodolphe
OpenQuizz
Commits
a7b1c6cf
Commit
a7b1c6cf
authored
Jul 07, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Corrections 'vague 1' ok
parent
4c1ab938
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
93 additions
and
27 deletions
+93
-27
Contenu.vue
src/Contenu.vue
+12
-2
Index.vue
src/Index.vue
+9
-3
Login.vue
src/Login.vue
+2
-4
Maj.vue
src/Maj.vue
+47
-11
Menu.vue
src/Menu.vue
+6
-1
Consulter_Contenu.vue
src/components/Consulter_Contenu.vue
+2
-0
Volet_Base.vue
src/components/Volet_Base.vue
+14
-5
Service.js
src/service/Service.js
+1
-1
No files found.
src/Contenu.vue
View file @
a7b1c6cf
<
template
>
<div
id=
"app"
>
<Volet
_Base
@
choix_variante=
"choixVariante"
@
newContenu=
"newContenu"
v-bind:nvoContenu=
"nvoContenu"
v-bind:auteur=
"auteur"
v-bind:contenuAjoute=
"contenuAjoute"
/>
<Volet
_Base
@
rechercherNouvellesPublications=
"rechercherNouvellesPublications"
@
choix_variante=
"choixVariante"
@
newContenu=
"newContenu"
v-bind:nvoContenu=
"nvoContenu"
v-bind:auteur=
"auteur"
v-bind:contenuAjoute=
"contenuAjoute"
v-bind:majContenus=
"majContenus"
/>
</div>
</
template
>
...
...
@@ -30,6 +32,13 @@ export default {
// Evenement à destination de Volet_Base
this
.
$emit
(
"newContenu"
)
},
/**
* @vuese
* Signal pour déclencher la recherche de nouvelles publications
*/
rechercherNouvellesPublications
:
function
()
{
this
.
$emit
(
"rechercherNouvellesPublications"
)
}
},
props
:
{
...
...
@@ -38,7 +47,8 @@ export default {
// Variable contenant un contenu ajouté, à destination de Volet_Base
contenuAjoute
:
{},
// Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base
nvoContenu
:
{}
nvoContenu
:
{},
majContenus
:
{}
}
}
</
script
>
...
...
src/Index.vue
View file @
a7b1c6cf
...
...
@@ -5,10 +5,13 @@
<Menu
v-show=
"etat !== 'unlogged'"
v-bind:auteur=
"auteur"
v-bind:etat=
"etat"
v-bind:variante=
"variante"
v-bind:recalculerNotif=
"recalculerNotif"
@
menu_choisi=
"changerPage"
></Menu>
<Contenu
v-show=
"etat === 'Contenu'"
v-bind:auteur=
"auteur"
v-bind:nvoContenu=
"nvoContenu"
v-bind:contenuAjoute=
"contenuAjoute"
@
choix_variante=
"choixVariante"
@
newContenu=
"newContenu"
></Contenu>
@
choix_variante=
"choixVariante"
@
newContenu=
"newContenu"
@
rechercherNouvellesPublications=
"rechercherPublications = !rechercherPublications"
v-bind:majContenus=
"majContenus"
></Contenu>
<Maj
v-show=
"etat === 'Mises à jour'"
v-bind:auteur=
"auteur"
v-bind:isRecu=
"isRecu"
v-bind:isPropose=
"isPropose"
v-bind:contenuEnPublication=
"contenuEnPublication"
@
recalculerNotif=
"recalculerNotification"
@
majNvoContenu=
"majNvoContenu"
></Maj>
@
majNvoContenu=
"majNvoContenu"
@
majContenus=
"majContenus = !majContenus"
v-bind:rechercherPublications=
"rechercherPublications"
></Maj>
<Profil
v-show=
"etat === 'Profil'"
></Profil>
<Tags
v-show=
"etat === 'Tags'"
></Tags>
<p
style=
"text-align: center"
v-show=
"errorLogin"
>
Login ou mot de passe erroné
</p>
...
...
@@ -40,7 +43,9 @@ export default {
isPropose
:
false
,
contenuAjoute
:
""
,
recalculerNotif
:
false
,
nvoContenu
:
''
nvoContenu
:
''
,
rechercherPublications
:
false
,
majContenus
:
false
}
},
methods
:
{
...
...
@@ -66,6 +71,7 @@ export default {
changerPage
:
function
(
event
)
{
if
(
event
.
choix
===
"Deconnexion"
){
this
.
etat
=
"unlogged"
localStorage
.
clear
()
}
else
this
.
etat
=
event
.
choix
...
...
src/Login.vue
View file @
a7b1c6cf
...
...
@@ -39,11 +39,9 @@ export default {
if
(
response
.
status
===
200
){
localStorage
.
token
=
response
.
data
.
access_token
that
.
$emit
(
"user_logged"
,
{
"isLogged"
:
true
,
"auteur"
:
that
.
login
})
}
else
{
// SI connexion refusée, on emet un booléen a false et le nom de l'auteur connecté
// @arg booléen indiquant que la connexion est pas ok
that
.
$emit
(
"user_logged"
,
{
"isLogged"
:
false
})
}
}).
catch
(
function
()
{
that
.
$emit
(
"user_logged"
,
{
"isLogged"
:
false
})
})
},
keymonitor
:
function
(
event
)
{
...
...
src/Maj.vue
View file @
a7b1c6cf
...
...
@@ -5,8 +5,8 @@
<span
v-bind:class=
"['niveau',
{'niveau-down' :
isRecu
}]" id="recues" v-on:click="naviguer">Maj Recues
</span><br>
<div
id=
"detailRecues"
class=
"masque"
v-bind:class=
"
{'affiche' :
isRecu
}">
<span
v-bind:class=
"['niveau',
{'niveau-down' :
contenusRecu.length > 0
}]" id="recues" v-on:click="naviguer">Maj Recues
</span><br>
<div
id=
"detailRecues"
class=
"masque"
v-bind:class=
"
{'affiche' :
contenusRecu.length > 0
}">
<table>
<thead>
<tr>
...
...
@@ -42,8 +42,8 @@
<span
class=
"niveau"
id=
"proposees"
v-bind:class=
"
{'niveau-down' :
isPropose
}" v-on:click="naviguer">Maj Proposées
</span>
<div
id=
"detailProposees"
class=
"masque"
v-bind:class=
"
{'affiche' :
isPropose
}">
<span
class=
"niveau"
id=
"proposees"
v-bind:class=
"
{'niveau-down' :
contenusPropose.length > 0
}" v-on:click="naviguer">Maj Proposées
</span>
<div
id=
"detailProposees"
class=
"masque"
v-bind:class=
"
{'affiche' :
contenusPropose.length > 0
}">
<table>
<thead>
<tr>
...
...
@@ -98,7 +98,7 @@ export default {
components
:
{
Consulter_Contenu
},
props
:
[
'contenuEnPublication'
,
'auteur'
,
'isRecu'
,
'isPropose'
],
props
:
[
'contenuEnPublication'
,
'auteur'
,
'isRecu'
,
'isPropose'
,
'rechercherPublications'
],
methods
:
{
/**
* @vuese
...
...
@@ -119,6 +119,10 @@ export default {
Service
.
creerEnCoursRefuse
(
data
).
then
(
function
()
{
Service
.
supprimerDemandePublication
(
JSON
.
stringify
(
item
.
_id
)).
then
(
function
()
{
that
.
contenusPropose
=
that
.
contenusPropose
.
filter
(
contenu
=>
contenu
.
_id
!==
item
.
_id
)
if
(
that
.
isContenuMajVide
())
that
.
$emit
(
"recalculerNotif"
)
that
.
$emit
(
"majContenus"
)
})
}
)
...
...
@@ -136,6 +140,8 @@ export default {
nvoContenu
.
provenance
=
"perso"
that
.
$emit
(
"majNvoContenu"
,
{
contenu
:
response
.
data
})
that
.
contenusPropose
=
that
.
contenusPropose
.
filter
(
contenu
=>
contenu
.
_id
!==
item
.
_id
)
if
(
that
.
isContenuMajVide
())
that
.
$emit
(
"recalculerNotif"
)
}
)
},
...
...
@@ -147,6 +153,8 @@ export default {
let
that
=
this
Service
.
supprimerDemandePublication
(
JSON
.
stringify
(
item
.
_id
)).
then
(
function
()
{
that
.
contenusPropose
=
that
.
contenusPropose
.
filter
(
contenu
=>
contenu
.
_id
!==
item
.
_id
)
if
(
that
.
isContenuMajVide
())
that
.
$emit
(
"recalculerNotif"
)
})
},
/**
...
...
@@ -161,9 +169,17 @@ export default {
// auteurContenu -> undefined == nous sommes sur une maj tiers. Le cas contraire = maj d'un contenu perso à faire
if
(
item
.
auteurContenu
===
undefined
)
{
data
=
{
id_tiers
:
JSON
.
stringify
(
item
[
0
].
_id
),
reponse
:
reponse
,
auteur
:
this
.
auteur
}
let
test
=
item
.
_id
console
.
log
(
"id item"
)
console
.
log
(
test
)
data
=
{
id_tiers
:
JSON
.
stringify
(
item
.
_id
),
reponse
:
reponse
,
auteur
:
this
.
auteur
}
Service
.
gererMajTiers
(
data
).
then
(
function
()
{
that
.
contenusRecu
=
that
.
contenusRecu
.
filter
(
contenu
=>
contenu
.
_id
!==
item
[
0
].
_id
)
that
.
contenusRecu
=
that
.
contenusRecu
.
filter
(
contenu
=>
contenu
.
_id
!==
item
.
_id
)
if
(
that
.
isContenuMajVide
()
)
that
.
$emit
(
"recalculerNotif"
)
if
(
reponse
===
'o'
){
that
.
$emit
(
"majContenus"
)
}
})
}
else
{
...
...
@@ -173,11 +189,15 @@ export default {
this
.
contenusRecu
=
[]
Service
.
gererDemandePublication
(
data
).
then
(
function
()
{
that
.
contenusRecu
=
that
.
contenusRecu
.
filter
(
contenu
=>
contenu
.
_id
!==
item
.
_id
)
if
(
that
.
isContenuMajVide
())
that
.
$emit
(
"recalculerNotif"
)
if
(
reponse
===
'o'
){
that
.
$emit
(
"majContenus"
)
}
})
}
// évènement pour recalculer les notifications de l'auteur en cours (et potentiellement faire disparaitre l'icone)
this
.
$emit
(
"recalculerNotif"
)
},
/**
* @vuese
...
...
@@ -199,8 +219,12 @@ export default {
}
Service
.
listeMajTiers
(
that
.
auteur
).
then
(
function
(
response
){
if
(
response
.
data
.
length
>
0
)
that
.
contenusRecu
.
push
(
response
.
data
)
let
reception
=
response
.
data
if
(
reception
.
length
>
0
)
for
(
let
i
=
0
;
i
<
reception
.
length
;
i
++
)
{
console
.
log
(
reception
[
i
])
that
.
contenusRecu
.
push
(
reception
[
i
])
}
})
})
},
...
...
@@ -237,7 +261,7 @@ export default {
* @vuese
* Récupération et mise en forme du texte associé au contenu
*/
rechercherTexte
(
id
)
{
rechercherTexte
:
function
(
id
)
{
let
that
=
this
Service
.
recupererTexteContenuEnCours
(
JSON
.
stringify
(
id
)).
then
(
function
(
response
)
{
...
...
@@ -247,6 +271,14 @@ export default {
that
.
texteDuContenu
=
converter
.
makeHtml
(
response
.
data
)
}
)
},
/**
* @vuese
* Permet de déterminer si il reste encore des contenus maj 'non traités'
* Utile pour le déclenchement du changement d'affichage pour la norification de maj
*/
isContenuMajVide
:
function
()
{
return
this
.
contenusPropose
.
length
===
0
&&
this
.
contenusRecu
.
length
===
0
}
},
data
:
function
()
{
...
...
@@ -272,6 +304,10 @@ export default {
auteur
:
function
()
{
this
.
publicationsRecues
()
this
.
publicationsProposees
()
},
rechercherPublications
:
function
()
{
this
.
publicationsRecues
()
this
.
publicationsProposees
()
}
},
}
...
...
src/Menu.vue
View file @
a7b1c6cf
...
...
@@ -2,7 +2,7 @@
<div
id=
"menuHaut"
>
<Choix
_Mode_Variante
class=
"menuVariante"
v-show=
"variante"
></Choix
_Mode_Variante
>
<div
class=
"notif"
v-on:click=
"choixIconeNotification"
v-show=
"isNotif"
v-bind:style=
"[!variante ?
{'margin-left': '90%'} : {'margin-left': '31.78%'}]">
</div>
<div
class=
"notif"
v-on:click=
"choixIconeNotification"
v-show=
"isNotif
=== true
"
v-bind:style=
"[!variante ?
{'margin-left': '90%'} : {'margin-left': '31.78%'}]">
</div>
<div
class=
"circle"
id=
"menuAuteur"
v-on:click=
"isAffiche = !isAffiche"
v-bind:style=
"[!isNotif ?
{'margin-left': '94.75%'} : {'margin-left': '3%'}]">
{{
auteur
}}
</div>
...
...
@@ -73,8 +73,11 @@ export default {
Service
.
getPublicationsRecues
(
this
.
auteur
).
then
(
function
(
response
)
{
let
contenusRecu
=
response
.
data
for
(
let
i
=
0
;
i
<
contenusRecu
.
length
;
i
++
)
{
if
(
contenusRecu
[
i
].
etat
===
"enCours"
)
{
that
.
isNotif
=
contenusRecu
.
length
!==
0
that
.
isRecu
=
that
.
isNotif
...
...
@@ -92,6 +95,7 @@ export default {
Service
.
getPublicationsProposees
(
this
.
auteur
).
then
(
function
(
response
)
{
let
contenusPropose
=
response
.
data
for
(
let
i
=
0
;
i
<
contenusPropose
.
length
;
i
++
)
{
if
(
contenusPropose
[
i
].
etat
!==
"enCours"
)
{
...
...
@@ -134,6 +138,7 @@ export default {
* Recalcul des opportunités de maj et on configure la notification en fonction après action dans le menu maj (fonctionne actuellement pas)
*/
recalculerNotif
:
function
()
{
// alert(this.isNotif)
this
.
isNotif
=
false
this
.
publicationsRecues
()
}
...
...
src/components/Consulter_Contenu.vue
View file @
a7b1c6cf
...
...
@@ -103,6 +103,8 @@ export default {
contenuClique
:
function
()
{
let
that
=
this
this
.
isContenuRefuse
=
false
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
contenuClique
,
'refuse'
)){
this
.
isContenuRefuse
=
true
}
...
...
src/components/Volet_Base.vue
View file @
a7b1c6cf
...
...
@@ -22,7 +22,6 @@
</div>
<div
id=
"tableau"
>
<p>
Héhéhé
{{
token
}}
</p>
<table
v-bind:style=
"panierChoisi ?
{'margin-top': '0%'} : {'margin-top': '20px'}">
<thead>
<tr>
...
...
@@ -129,7 +128,8 @@ export default {
// Permet de stocker un contenu ajouté
contenuAjoute
:
{},
// Permet de stocker un 'nouveau contenu' ajouté
nvoContenu
:
{}
nvoContenu
:
{},
majContenus
:
{}
},
data
:
function
()
{
return
{
...
...
@@ -178,6 +178,7 @@ export default {
this
.
contenusDuPanier
()
this
.
contenusDeLaBanque
()
this
.
token
=
localStorage
.
token
this
.
panierChoisi
=
true
},
/**
...
...
@@ -194,7 +195,12 @@ export default {
nvoContenu
:
function
()
{
// Fonction retour du menu des maj
this
.
contenus
.
push
(
this
.
nvoContenu
)
},
majContenus
:
function
()
{
this
.
contenusDuPanier
()
this
.
contenusDeLaBanque
()
}
},
mounted
()
{
/**
...
...
@@ -282,9 +288,9 @@ export default {
Service
.
supprimerTiers
(
this
.
auteur
,
JSON
.
stringify
(
id
)).
then
(
function
(
response
)
{
let
contenuSupprime
=
that
.
contenus
.
filter
(
contenu
=>
contenu
.
_id
===
id
)
console
.
log
(
contenuSupprime
[
0
].
auteur
)
that
.
contenus
=
that
.
contenus
.
filter
(
contenu
=>
contenu
.
_id
!==
id
)
if
(
response
.
data
!==
0
)
//console.log("Response Data : " + response.data)
if
(
response
.
data
!==
'0'
)
that
.
contenusbanque
.
push
(
contenuSupprime
[
0
])
}
)
...
...
@@ -400,6 +406,7 @@ export default {
this
.
panierChoisi
=
true
data
=
{
id_contenu
:
JSON
.
stringify
(
event
.
contenu
.
reference
),
id_contenu_en_cours
:
JSON
.
stringify
(
event
.
contenu
.
_id
),
auteur_en_cours
:
this
.
auteur
,
version
:
event
.
contenu
.
version
.
toString
()}
// this.$emit("rechercherNouvellesPublications")
Service
.
creerDemandePublication
(
data
).
then
(
function
()
{
// on réupère le contenu en cours associé à la demande de publication
...
...
@@ -410,6 +417,7 @@ export default {
enCours
[
0
].
isPublie
=
"oui"
// et on le réinsère
that
.
contenus
.
push
(
enCours
[
0
])
that
.
$emit
(
"rechercherNouvellesPublications"
)
}
)
...
...
@@ -420,6 +428,7 @@ export default {
data
=
{
id_contenu_en_cours
:
JSON
.
stringify
(
event
.
contenu
.
_id
),
auteur
:
auteur
}
Service
.
majContenu
(
data
).
then
(
function
()
{
that
.
contenusDuPanier
()
that
.
panierChoisi
=
true
})
break
}
...
...
src/service/Service.js
View file @
a7b1c6cf
...
...
@@ -83,7 +83,7 @@ export default {
return
axios
.
get
(
urlBase
+
contenus
+
"getTexteContenu/"
+
idContenu
,
header
)
},
recupererTexteVersionContenu
(
idContenu
,
version
){
return
axios
.
get
(
urlBase
+
"getTexteVersionContenu/"
+
idContenu
+
"/"
+
version
,
header
)
return
axios
.
get
(
urlBase
+
contenus
+
"getTexteVersionContenu/"
+
idContenu
+
"/"
+
version
,
header
)
},
// gestion des en-cours
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment