Commit a7b1c6cf authored by Jérémie Passerat's avatar Jérémie Passerat

Corrections 'vague 1' ok

parent 4c1ab938
<template> <template>
<div id="app"> <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> </div>
</template> </template>
...@@ -30,6 +32,13 @@ export default { ...@@ -30,6 +32,13 @@ export default {
// Evenement à destination de Volet_Base // Evenement à destination de Volet_Base
this.$emit("newContenu") this.$emit("newContenu")
},
/**
* @vuese
* Signal pour déclencher la recherche de nouvelles publications
*/
rechercherNouvellesPublications: function () {
this.$emit("rechercherNouvellesPublications")
} }
}, },
props: { props: {
...@@ -38,7 +47,8 @@ export default { ...@@ -38,7 +47,8 @@ export default {
// Variable contenant un contenu ajouté, à destination de Volet_Base // Variable contenant un contenu ajouté, à destination de Volet_Base
contenuAjoute: {}, contenuAjoute: {},
// Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base // Variable contenant un "nouveau contenu", créé à partir d'une demande de publication, à destination de Volet_Base
nvoContenu: {} nvoContenu: {},
majContenus: {}
} }
} }
</script> </script>
......
...@@ -5,10 +5,13 @@ ...@@ -5,10 +5,13 @@
<Menu v-show="etat !== 'unlogged'" v-bind:auteur="auteur" v-bind:etat="etat" v-bind:variante="variante" <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> 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" <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" <Maj v-show="etat === 'Mises à jour'" v-bind:auteur="auteur" v-bind:isRecu="isRecu" v-bind:isPropose="isPropose"
v-bind:contenuEnPublication="contenuEnPublication" @recalculerNotif="recalculerNotification" 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> <Profil v-show="etat === 'Profil'" ></Profil>
<Tags v-show="etat === 'Tags'" ></Tags> <Tags v-show="etat === 'Tags'" ></Tags>
<p style="text-align: center" v-show="errorLogin">Login ou mot de passe erroné</p> <p style="text-align: center" v-show="errorLogin">Login ou mot de passe erroné</p>
...@@ -40,7 +43,9 @@ export default { ...@@ -40,7 +43,9 @@ export default {
isPropose: false, isPropose: false,
contenuAjoute: "", contenuAjoute: "",
recalculerNotif: false, recalculerNotif: false,
nvoContenu: '' nvoContenu: '',
rechercherPublications: false,
majContenus: false
} }
}, },
methods: { methods: {
...@@ -66,6 +71,7 @@ export default { ...@@ -66,6 +71,7 @@ export default {
changerPage: function (event) { changerPage: function (event) {
if (event.choix === "Deconnexion"){ if (event.choix === "Deconnexion"){
this.etat = "unlogged" this.etat = "unlogged"
localStorage.clear()
} }
else else
this.etat = event.choix this.etat = event.choix
......
...@@ -39,11 +39,9 @@ export default { ...@@ -39,11 +39,9 @@ export default {
if (response.status === 200){ if (response.status === 200){
localStorage.token = response.data.access_token localStorage.token = response.data.access_token
that.$emit("user_logged", {"isLogged" : true, "auteur": that.login}) 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) { keymonitor: function(event) {
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<span v-bind:class="['niveau', {'niveau-down' : isRecu}]" id="recues" v-on:click="naviguer">Maj Recues</span><br> <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' : isRecu}"> <div id="detailRecues" class="masque" v-bind:class="{'affiche' : contenusRecu.length > 0}">
<table> <table>
<thead> <thead>
<tr> <tr>
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
<span class="niveau" id="proposees" v-bind:class="{'niveau-down' : isPropose}" v-on:click="naviguer">Maj Proposées</span> <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' : isPropose}"> <div id="detailProposees" class="masque" v-bind:class="{'affiche' : contenusPropose.length > 0}">
<table> <table>
<thead> <thead>
<tr> <tr>
...@@ -98,7 +98,7 @@ export default { ...@@ -98,7 +98,7 @@ export default {
components: { components: {
Consulter_Contenu Consulter_Contenu
}, },
props: ['contenuEnPublication', 'auteur', 'isRecu', 'isPropose'], props: ['contenuEnPublication', 'auteur', 'isRecu', 'isPropose', 'rechercherPublications'],
methods: { methods: {
/** /**
* @vuese * @vuese
...@@ -119,6 +119,10 @@ export default { ...@@ -119,6 +119,10 @@ export default {
Service.creerEnCoursRefuse(data).then( function () { Service.creerEnCoursRefuse(data).then( function () {
Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () { Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () {
that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id) 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 { ...@@ -136,6 +140,8 @@ export default {
nvoContenu.provenance = "perso" nvoContenu.provenance = "perso"
that.$emit("majNvoContenu", {contenu: response.data}) that.$emit("majNvoContenu", {contenu: response.data})
that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id) that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id)
if (that.isContenuMajVide())
that.$emit("recalculerNotif")
} }
) )
}, },
...@@ -147,6 +153,8 @@ export default { ...@@ -147,6 +153,8 @@ export default {
let that = this let that = this
Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () { Service.supprimerDemandePublication(JSON.stringify(item._id)).then(function () {
that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id) that.contenusPropose = that.contenusPropose.filter(contenu => contenu._id !== item._id)
if (that.isContenuMajVide())
that.$emit("recalculerNotif")
}) })
}, },
/** /**
...@@ -161,9 +169,17 @@ export default { ...@@ -161,9 +169,17 @@ export default {
// auteurContenu -> undefined == nous sommes sur une maj tiers. Le cas contraire = maj d'un contenu perso à faire // auteurContenu -> undefined == nous sommes sur une maj tiers. Le cas contraire = maj d'un contenu perso à faire
if (item.auteurContenu === undefined) { 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 () { 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 { }else {
...@@ -173,11 +189,15 @@ export default { ...@@ -173,11 +189,15 @@ export default {
this.contenusRecu = [] this.contenusRecu = []
Service.gererDemandePublication(data).then(function () { Service.gererDemandePublication(data).then(function () {
that.contenusRecu = that.contenusRecu.filter(contenu => contenu._id !== item._id) 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) // évènement pour recalculer les notifications de l'auteur en cours (et potentiellement faire disparaitre l'icone)
this.$emit("recalculerNotif")
}, },
/** /**
* @vuese * @vuese
...@@ -199,8 +219,12 @@ export default { ...@@ -199,8 +219,12 @@ export default {
} }
Service.listeMajTiers(that.auteur).then(function (response){ Service.listeMajTiers(that.auteur).then(function (response){
if(response.data.length > 0) let reception = response.data
that.contenusRecu.push(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 { ...@@ -237,7 +261,7 @@ export default {
* @vuese * @vuese
* Récupération et mise en forme du texte associé au contenu * Récupération et mise en forme du texte associé au contenu
*/ */
rechercherTexte(id){ rechercherTexte: function (id) {
let that = this let that = this
Service.recupererTexteContenuEnCours(JSON.stringify(id)).then( Service.recupererTexteContenuEnCours(JSON.stringify(id)).then(
function (response) { function (response) {
...@@ -247,6 +271,14 @@ export default { ...@@ -247,6 +271,14 @@ export default {
that.texteDuContenu = converter.makeHtml(response.data) 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 () { data: function () {
...@@ -272,6 +304,10 @@ export default { ...@@ -272,6 +304,10 @@ export default {
auteur: function () { auteur: function () {
this.publicationsRecues() this.publicationsRecues()
this.publicationsProposees() this.publicationsProposees()
},
rechercherPublications: function () {
this.publicationsRecues()
this.publicationsProposees()
} }
}, },
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div id="menuHaut"> <div id="menuHaut">
<Choix_Mode_Variante class="menuVariante" v-show="variante"></Choix_Mode_Variante> <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%'}]"> <div class="circle" id="menuAuteur" v-on:click="isAffiche = !isAffiche" v-bind:style="[!isNotif ? {'margin-left': '94.75%'} : {'margin-left': '3%'}]">
{{auteur}} {{auteur}}
</div> </div>
...@@ -73,8 +73,11 @@ export default { ...@@ -73,8 +73,11 @@ export default {
Service.getPublicationsRecues(this.auteur).then(function (response) { Service.getPublicationsRecues(this.auteur).then(function (response) {
let contenusRecu = response.data let contenusRecu = response.data
for (let i = 0; i < contenusRecu.length; i++) { for (let i = 0; i < contenusRecu.length; i++) {
if (contenusRecu[i].etat === "enCours") { if (contenusRecu[i].etat === "enCours") {
that.isNotif = contenusRecu.length !== 0 that.isNotif = contenusRecu.length !== 0
that.isRecu = that.isNotif that.isRecu = that.isNotif
...@@ -92,6 +95,7 @@ export default { ...@@ -92,6 +95,7 @@ export default {
Service.getPublicationsProposees(this.auteur).then(function (response) { Service.getPublicationsProposees(this.auteur).then(function (response) {
let contenusPropose = response.data let contenusPropose = response.data
for (let i = 0; i < contenusPropose.length; i++) { for (let i = 0; i < contenusPropose.length; i++) {
if (contenusPropose[i].etat !== "enCours") { if (contenusPropose[i].etat !== "enCours") {
...@@ -134,6 +138,7 @@ export default { ...@@ -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) * 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 () { recalculerNotif: function () {
// alert(this.isNotif)
this.isNotif = false this.isNotif = false
this.publicationsRecues() this.publicationsRecues()
} }
......
...@@ -103,6 +103,8 @@ export default { ...@@ -103,6 +103,8 @@ export default {
contenuClique: function () { contenuClique: function () {
let that = this let that = this
this.isContenuRefuse = false
if (Object.prototype.hasOwnProperty.call(this.contenuClique, 'refuse')){ if (Object.prototype.hasOwnProperty.call(this.contenuClique, 'refuse')){
this.isContenuRefuse = true this.isContenuRefuse = true
} }
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
</div> </div>
<div id="tableau"> <div id="tableau">
<p>Héhéhé {{token}}</p>
<table v-bind:style="panierChoisi ? {'margin-top': '0%'} : {'margin-top': '20px'}"> <table v-bind:style="panierChoisi ? {'margin-top': '0%'} : {'margin-top': '20px'}">
<thead> <thead>
<tr> <tr>
...@@ -129,7 +128,8 @@ export default { ...@@ -129,7 +128,8 @@ export default {
// Permet de stocker un contenu ajouté // Permet de stocker un contenu ajouté
contenuAjoute: {}, contenuAjoute: {},
// Permet de stocker un 'nouveau contenu' ajouté // Permet de stocker un 'nouveau contenu' ajouté
nvoContenu: {} nvoContenu: {},
majContenus: {}
}, },
data: function () { data: function () {
return { return {
...@@ -178,6 +178,7 @@ export default { ...@@ -178,6 +178,7 @@ export default {
this.contenusDuPanier() this.contenusDuPanier()
this.contenusDeLaBanque() this.contenusDeLaBanque()
this.token = localStorage.token this.token = localStorage.token
this.panierChoisi = true
}, },
/** /**
...@@ -194,7 +195,12 @@ export default { ...@@ -194,7 +195,12 @@ export default {
nvoContenu: function () { nvoContenu: function () {
// Fonction retour du menu des maj // Fonction retour du menu des maj
this.contenus.push(this.nvoContenu) this.contenus.push(this.nvoContenu)
},
majContenus: function () {
this.contenusDuPanier()
this.contenusDeLaBanque()
} }
}, },
mounted() { mounted() {
/** /**
...@@ -250,7 +256,7 @@ export default { ...@@ -250,7 +256,7 @@ export default {
* Passer le filtre choisi (pour Volet_Contenu) * Passer le filtre choisi (pour Volet_Contenu)
*/ */
passerFiltre: function(event){ passerFiltre: function(event){
this.filtre_choisi = event.filtre this.filtre_choisi = event.filtre
}, },
/** /**
* @vuese * @vuese
...@@ -282,9 +288,9 @@ export default { ...@@ -282,9 +288,9 @@ export default {
Service.supprimerTiers(this.auteur, JSON.stringify(id)).then( Service.supprimerTiers(this.auteur, JSON.stringify(id)).then(
function (response) { function (response) {
let contenuSupprime = that.contenus.filter(contenu => contenu._id === id) let contenuSupprime = that.contenus.filter(contenu => contenu._id === id)
console.log(contenuSupprime[0].auteur)
that.contenus = that.contenus.filter(contenu => contenu._id !== id) 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]) that.contenusbanque.push(contenuSupprime[0])
} }
) )
...@@ -400,6 +406,7 @@ export default { ...@@ -400,6 +406,7 @@ export default {
this.panierChoisi = true this.panierChoisi = true
data = {id_contenu: JSON.stringify(event.contenu.reference), id_contenu_en_cours: JSON.stringify(event.contenu._id), 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()} auteur_en_cours: this.auteur, version: event.contenu.version.toString()}
// this.$emit("rechercherNouvellesPublications")
Service.creerDemandePublication(data).then( function () { Service.creerDemandePublication(data).then( function () {
// on réupère le contenu en cours associé à la demande de publication // on réupère le contenu en cours associé à la demande de publication
...@@ -410,6 +417,7 @@ export default { ...@@ -410,6 +417,7 @@ export default {
enCours[0].isPublie = "oui" enCours[0].isPublie = "oui"
// et on le réinsère // et on le réinsère
that.contenus.push(enCours[0]) that.contenus.push(enCours[0])
that.$emit("rechercherNouvellesPublications")
} }
) )
...@@ -420,6 +428,7 @@ export default { ...@@ -420,6 +428,7 @@ export default {
data = {id_contenu_en_cours: JSON.stringify(event.contenu._id), auteur: auteur} data = {id_contenu_en_cours: JSON.stringify(event.contenu._id), auteur: auteur}
Service.majContenu(data).then(function () { Service.majContenu(data).then(function () {
that.contenusDuPanier() that.contenusDuPanier()
that.panierChoisi = true
}) })
break break
} }
......
...@@ -83,7 +83,7 @@ export default { ...@@ -83,7 +83,7 @@ export default {
return axios.get(urlBase + contenus + "getTexteContenu/" + idContenu, header) return axios.get(urlBase + contenus + "getTexteContenu/" + idContenu, header)
}, },
recupererTexteVersionContenu(idContenu, version){ recupererTexteVersionContenu(idContenu, version){
return axios.get(urlBase + "getTexteVersionContenu/" + idContenu + "/" + version, header) return axios.get(urlBase + contenus + "getTexteVersionContenu/" + idContenu + "/" + version, header)
}, },
// gestion des en-cours // gestion des en-cours
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment