From 17d8885b23bb4e28cf6469be3f938f0180850b72 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 3 May 2016 23:45:31 +0200 Subject: [PATCH] =?UTF-8?q?Gestion=20de=20la=20synchronisation=20entre=20l?= =?UTF-8?q?es=20`fiches`=20dupliqu=C3=A9es=20(dans=20le=20top=2010=20des?= =?UTF-8?q?=20APPELS=20et=20le=20top=2010=20des=20SMS)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/includes/input-phone-fiche-min.js | 3 ++- js/includes/input-phone-fiche.js | 29 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/js/includes/input-phone-fiche-min.js b/js/includes/input-phone-fiche-min.js index 7c620bd..b715173 100644 --- a/js/includes/input-phone-fiche-min.js +++ b/js/includes/input-phone-fiche-min.js @@ -16,7 +16,8 @@ c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('art d[b].setAttribute("checked","checked"):d[b].removeAttribute("checked");for(c=0;cinput[type="radio"][data-name="connect'+c+'"]'),b=0;ba[e].timestamp?(a[e].sexe=d[e].sexe,a[e].age=d[e].age, -a[e].job=d[e].job,a[e].loc=d[e].loc):(d[e].sexe=a[e].sexe,d[e].age=a[e].age,d[e].job=a[e].job,d[e].loc=a[e].loc),lsi.set("mini-fiches",e,a[e]),lsi.set("fiches",e,d[e]);for(e in d);};inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"nav-fiche"!=a.parentNode.id)return!1;for(var b=$$("#nav-fiche > span.active"),c=0;cparseInt(e)?10+a.sms:a.call,b=d[a],b.timestamp>=d[e].timestamp||(c=d[e],c.uid=b.uid,lsi.set("fiches",b.uid,c),console.log(e+" have been copied to "+a)))}; +inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"nav-fiche"!=a.parentNode.id)return!1;for(var b=$$("#nav-fiche > span.active"),c=0;cAPPELS";for(var c=0;c'+(c%10+1)+"  ":(10==c&&(this.nav_container.innerHTML+='SMS'),this.nav_container.innerHTML+=''+(c%10+1)+"")}for(var d in a)b=this.nav_container.children[a[d].uid], !0===a[d].valid?b.addClass("done"):b.remClass("done");this.nav($('#nav-fiche [data-n="'+this.selected+'"]'))}; inputPhoneFiche.prototype.check=function(a){if(isNaN(parseInt(a.age))||2>a.city.length||isNaN(parseInt(a.duration[0]))&&0 -1 ){ // On calcule le rang de la fiche en fonction du classement @@ -424,6 +426,33 @@ inputPhoneFiche.prototype.sync = function(){ /* (3) Mise à jour des fiches dupliquées entre le top 10 des APPELS et celui des SMS ---------------------------------------------------------*/ for( var key in ficheData ){ + /* (1) On récupère le contact associé */ + var associatedContact = lsi.get('contacts', ficheData[key].contact); + + // Si erreur, on passe au suivant + if( associatedContact == null ) + continue; + + /* (2) Si la fiche n'est pas dans les 2 top 10 (APPELS et SMS) */ + if( associatedContact.sms == -1 || associatedContact.call == -1 ) + continue; // On passe au suivant + + + /* (3) On récupère l'autre fiche (clone) */ + var inCall = parseInt(key) < 10; // Si on est dans le top 10 des APPELS, sinon dans celui des SMS + var cloneIndex = inCall ? 10+associatedContact.sms : associatedContact.call; // Contient l'index du clone dans l'autre top (APPELS ou SMS) + + var clone = ficheData[cloneIndex]; + + + /* (4) Si le clone a été modifié en dernier, on ne fait rien */ + if( clone.timestamp >= ficheData[key].timestamp ) + continue; + + /* (5) On copie les données de la FICHE dans le clone (cas ou la fiche est modifiée en dernier) */ + var obj = ficheData[key]; + obj.uid = clone.uid; + lsi.set('fiches', clone.uid, obj); }