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

Persos, tiers, encours migrés en maj locale

parent b1dbf237
......@@ -36,7 +36,7 @@ export default {
auteur: "",
isRecu: false,
isPropose: false,
contenuAjoute: false,
contenuAjoute: "",
recalculerNotif: false
}
},
......@@ -70,8 +70,8 @@ export default {
newContenu: function () {
this.etat = "newContenu"
},
ajouterUnContenu:function () {
this.contenuAjoute = true
ajouterUnContenu:function (event) {
this.contenuAjoute = event.contenu
},
retourArriere: function () {
this.etat= "Contenu"
......
......@@ -44,8 +44,13 @@ export default {
let data = {auteur: this.auteur, contenu_a_ecrire: this.contenuSaisi}
let that = this
Service.creerContenuPerso(data).then(
function () {
that.$emit("contenuAjoute")
function (reponse) {
console.log(reponse.data)
let nouveauContenu = reponse.data
nouveauContenu.provenance = "perso"
console.log(nouveauContenu)
that.$emit("contenuAjoute", {contenu: nouveauContenu})
that.contenuSaisi = ''
that.retourArriere()
}
)
......
......@@ -2,7 +2,7 @@
<div>
<p v-show="filtre_choisi.length === 0">Ajoutez des filtres pour restreindre la recherche, ou effectuez une recherche libre (bouton en haut à droite)</p>
<Filtre_Tag v-show="filtre_choisi === 'tags officiels' || filtre_choisi === 'tags libres' " v-bind:filtreChoisi="filtre_choisi" @creer_filtre="creer_filtre"/>
<Filtre_Auteur v-show="filtre_choisi === 'auteur'" @creer_filtre="creer_filtre"/>
<Filtre_Auteur v-bind:panierChoisi="panierChoisi" v-show="filtre_choisi === 'auteur'" v-bind:auteur="auteur" @creer_filtre="creer_filtre"/>
<Filtre_Date v-show="filtre_choisi === 'date' " @creer_filtre="creer_filtre"/>
<Filtre_Note_Popularite v-show="filtre_choisi === 'note / popularité' " @creer_filtre="creer_filtre"/>
<Filtre_Type_Source v-show="filtre_choisi === 'type / source'" @creer_filtre="creer_filtre"/>
......@@ -29,7 +29,7 @@ export default {
Filtre_Note_Popularite,
Filtre_Type_Source
},
props: ['filtre_choisi'],
props: ['filtre_choisi', 'auteur', 'panierChoisi'],
methods: {
creer_filtre: function (event) {
this.$emit("creer_filtre", {filtre: event})
......
......@@ -17,7 +17,7 @@
<button id="boutonVolet" v-on:click="desactiverVolet" v-bind:style="panierChoisi ? {'margin-top': '0%'} : {'margin-top': '20px'}"></button>
<div class="full" id="volet" v-show="isActif">
<Volet_Menu v-bind:panierChoisi = "panierChoisi" @filtre_choisi="passerFiltre"/>
<Volet_Contenu @mode_choisi="ajusterMode" v-bind:filtre_choisi="filtre_choisi" v-bind:variante="variante" @filtresChoisis="filtresChoisis"/>
<Volet_Contenu @mode_choisi="ajusterMode" v-bind:filtre_choisi="filtre_choisi" v-bind:variante="variante" v-bind:auteur="auteur" @filtresChoisis="filtresChoisis"/>
</div>
</div>
......@@ -66,8 +66,7 @@
<td v-if="item.provenance !== 'en-cours'" v-b-popover.hover.bottom="item.tags_banque_libres.toString()">with two columns</td>
<td v-else v-b-popover.hover.bottom="'tags non disponibles'">with two columns</td>
<td class="boutonSupprimer" v-if="item.provenance !== 'en-cours'"> <input type="checkbox" v-on:change="ajouterCoche(item._id, item.provenance)" class="horns" name="horns"/></td>
<td class="boutonSupprimer" v-else> <input type="checkbox" v-on:change="ajouterCoche(item.reference, item.provenance)" class="horns" name="horns"/></td>
<td class="boutonSupprimer"> <input type="checkbox" v-on:change="ajouterCoche(item._id, item.provenance)" class="horns" name="horns"/></td>
</tr>
......@@ -163,7 +162,8 @@ export default {
},
contenuAjoute: function(){
this.contenusDuPanier()
console.log(this.contenuAjoute)
this.contenus.push(this.contenuAjoute)
}
},
mounted() {
......@@ -205,37 +205,48 @@ export default {
supprimerContenus: function () {
let that = this
// dans ce cas -> mode suppression de contenu du panier
if (this.panierChoisi){
for(let i = 0; i < this.checkes.length; i++) {
let id = this.checkes[i][0]
if(this.checkes[i][1] === "perso"){
Service.supprimerContenu(JSON.stringify(this.checkes[i][0])).then(
Service.supprimerContenu(JSON.stringify(id)).then(
function () {
that.contenusDuPanier()
that.contenus = that.contenus.filter(contenu => contenu._id !== id)
}
)
} else if (this.checkes[i][1] === "tiers"){
Service.supprimerTiers(this.auteur, JSON.stringify(this.checkes[i][0])).then(
function () {
that.contenusDuPanier()
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)
that.contenusbanque.push(contenuSupprime[0])
}
)
} else {
Service.supprimerEnCours(JSON.stringify(this.checkes[i][0])).then(
Service.supprimerEnCoursParLid(JSON.stringify(id)).then(
function () {
that.contenusDuPanier()
that.contenus = that.contenus.filter(contenu => contenu._id !== id)
}
)
}
}
}
// dans ce cas -> mode appropriation de contenu banque
else {
for(let i = 0; i < this.checkes.length; i++) {
let data = {auteur: this.auteur, id_tiers:JSON.stringify(this.checkes[i][0]) , version: this.checkes[i][1]["numero"]}
let id = this.checkes[i][0]
let data = {auteur: this.auteur, id_tiers:JSON.stringify(id) , version: this.checkes[i][1]["numero"]}
Service.creerContenuTiers(data).then(
function () {
that.contenusDuPanier()
that.contenusDeLaBanque()
function (response) {
let nouveauTiers = response.data
nouveauTiers.provenance = "tiers"
that.contenus.push(nouveauTiers)
that.contenusbanque = that.contenusbanque.filter(contenu => contenu._id !== id)
}
)
}
......@@ -267,8 +278,11 @@ export default {
data = {auteur: this.auteur, id_tiers:JSON.stringify(event.contenu._id) , version: event.contenu.versionEnCours["numero"]}
Service.creerContenuTiers(data).then(
function () {
that.contenusDuPanier()
function (response) {
let nouveauTiers = response.data
nouveauTiers.provenance = "tiers"
that.contenus.push(nouveauTiers)
that.contenusbanque = that.contenusbanque.filter(contenu => contenu._id !== event.contenu._id)
}
)
this.panierChoisi = false
......@@ -283,19 +297,21 @@ export default {
if(this.contenuCliqueProvenance === "perso"){
Service.supprimerContenu(JSON.stringify(event.contenu._id)).then(
function () {
that.contenusDuPanier()
that.contenus = that.contenus.filter(contenu => contenu._id !== event.contenu._id)
}
)
} else if (this.contenuCliqueProvenance === "tiers"){
Service.supprimerTiers(this.auteur, JSON.stringify(event.contenu._id)).then(
function () {
that.contenusDuPanier()
let contenuSupprime = that.contenus.filter(contenu => contenu._id === event.contenu._id)
that.contenus = that.contenus.filter(contenu => contenu._id !== event.contenu._id)
that.contenusbanque.push(contenuSupprime[0])
}
)
} else {
Service.supprimerEnCoursParLid(JSON.stringify(event.contenu._id)).then(
function () {
that.contenusDuPanier()
that.contenus = that.contenus.filter(contenu => contenu._id !== event.contenu._id)
}
)
}
......@@ -383,8 +399,11 @@ export default {
let dataDeux = {auteur: this.auteur, id_contenu: JSON.stringify(this.contenuClique._id), version: this.contenuClique.versionEnCours["numero"], provenance: this.contenuCliqueProvenance}
let that = this
Service.creerEnCours(dataDeux).then(function (reponse) {
that.contenusDuPanier()
Service.changerTexte(data, reponse.data)
//console.log(reponse.data)
let contenuEC = reponse.data
contenuEC.provenance = "en-cours"
that.contenus.push(contenuEC)
Service.changerTexte(data, JSON.stringify(reponse.data._id))
})
}
else {
......
......@@ -6,10 +6,9 @@
<Detail_Filtre v-bind:nouveau_filtre="nouveau_filtre" @filtresChoisis="filtresChoisis"/>
</div>
<div id = "detailContenu">
<Detail_Contenu v-bind:filtre_choisi="filtre_choisi" @creer_filtre="creer_filtre"/>
<Detail_Contenu v-bind:panierChoisi="panierChoisi" v-bind:filtre_choisi="filtre_choisi" v-bind:auteur="auteur" @creer_filtre="creer_filtre"/>
</div>
<Choix_Mode v-show="!variante" @mode_choisi="ajusterMode" />
</div>
</template>
......@@ -25,10 +24,10 @@ export default {
Detail_Filtre,
Detail_Contenu,
},
props: ['filtre_choisi', 'variante'],
props: ['filtre_choisi', 'variante', 'auteur'],
methods: {
ajusterMode: function (event) {
this.panierChoisi = event.mode
this.$emit("mode_choisi", {mode: event.mode})
},
creer_filtre: function (event) {
......@@ -45,6 +44,7 @@ export default {
data: function () {
return {
nouveau_filtre: "",
panierChoisi: true
}
}
}
......
......@@ -3,8 +3,8 @@
<div id="selectionnerAuteur">
<span>selectionner un auteur : </span><br><br>
<select id="auteur" name="auteur" size="1" v-model="auteur" v-on:change="choixAuteur()">
<option v-for="item in listeAuteurs" v-bind:key="item.id">{{ item.nom }}</option>
<select id="auteur" name="auteur" size="1" v-model="auteurChoisi" v-on:change="choixAuteur()">
<option v-for="item in filteredList" v-bind:key="item.id">{{ item.nom }}</option>
</select>
</div>
......@@ -19,10 +19,21 @@ export default {
methods: {
choixAuteur: function () {
// alert(this.auteur)
this.$emit("creer_filtre", {filtre: this.auteur, type: 'auteur'})
this.$emit("creer_filtre", {filtre: this.auteurChoisi, type: 'auteur'})
}
},
props: ['auteur', 'panierChoisi'],
computed: {
filteredList: function () {
// `this` pointe sur l'instance vm
// alert (this.$auteurConnecte)
if (!this.panierChoisi){
return this.listeAuteurs.filter(auteur => auteur.nom !== this.auteur)
}
else { return this.listeAuteurs}
}
},
mounted() {
let that = this
Service.recupererAuteursExistants().then(function (reponse) {
......@@ -31,7 +42,7 @@ export default {
},
data: function () {
return {
auteur: "",
auteurChoisi: "",
listeAuteurs: []
}
}
......
......@@ -13,7 +13,6 @@ Vue.config.productionTip = false
Vue.use(VPopover, { tooltip: true })
Vue.use(mavonEditor)
Vue.use(BootstrapVue)
Vue.prototype.$appName = 'Yumede'
new Vue({
render: h => h(Index),
......
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