Fixed upload/local_data for `facebook`
+ fixed subject non-updatable if only coords + fixed refresh when importing local_data
This commit is contained in:
parent
be7fb63f9c
commit
44519c6484
|
@ -131,7 +131,7 @@
|
||||||
$subject_set['subject']['surveys'][] = 'phone';
|
$subject_set['subject']['surveys'][] = 'phone';
|
||||||
|
|
||||||
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
|
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
|
||||||
$subject_set['subject']['renew'] = $subject['renew'];
|
$subject_set['subject']['coords'] = $subject['renew'];
|
||||||
|
|
||||||
/* (6) On récupère les noms des contacts */
|
/* (6) On récupère les noms des contacts */
|
||||||
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
|
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
|
||||||
|
@ -497,7 +497,7 @@
|
||||||
$subject_set['subject']['surveys'][] = 'facebook';
|
$subject_set['subject']['surveys'][] = 'facebook';
|
||||||
|
|
||||||
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
|
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
|
||||||
$subject_set['subject']['renew'] = $subject['renew'];
|
$subject_set['subject']['coords'] = $subject['renew'];
|
||||||
|
|
||||||
/* (6) On récupère les noms des contacts */
|
/* (6) On récupère les noms des contacts */
|
||||||
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
|
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
|
||||||
|
|
|
@ -158,6 +158,7 @@
|
||||||
|
|
||||||
/* (3) Vérification du sujet */
|
/* (3) Vérification du sujet */
|
||||||
$checkSubject = isset($json['subject']['subject_id']) && is_numeric($json['subject']['subject_id']);
|
$checkSubject = isset($json['subject']['subject_id']) && is_numeric($json['subject']['subject_id']);
|
||||||
|
$checkSubject = $checkSubject && isset($json['subject']['coords']) && is_string($json['subject']['coords']);
|
||||||
|
|
||||||
// Erreur des attributs du sujet incorrects ou manquants
|
// Erreur des attributs du sujet incorrects ou manquants
|
||||||
if( !$checkSubject )
|
if( !$checkSubject )
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
231
|
232
|
|
@ -25,14 +25,19 @@ inputFacebookSubject.prototype.check = function(){
|
||||||
|
|
||||||
/* [3] Gestion de l'enregistrement des formulaires de contact
|
/* [3] Gestion de l'enregistrement des formulaires de contact
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
inputFacebookSubject.prototype.fieldsToStorage = function(){
|
inputFacebookSubject.prototype.fieldsToStorage = function(onlyCoords){
|
||||||
console.group('[facebook.subject] fields to storage');
|
console.group('[facebook.subject] fields to storage');
|
||||||
|
|
||||||
|
( typeof onlyCoords != 'boolean' ) ? false : onlyCoords;
|
||||||
|
|
||||||
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
|
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
|
||||||
if( !this.check() ) return false;
|
if( !onlyCoords )
|
||||||
|
if( !this.check() )
|
||||||
|
return false;
|
||||||
|
|
||||||
// {2} Si on a déja saisie 1+ contact, on ne l'enregistre pas //
|
// {2} Si on a déja saisie 1+ contact, on ne l'enregistre pas //
|
||||||
if( lsi.keys('f_contacts').length > 0 ){
|
// et si on modifie le sujet
|
||||||
|
if( lsi.keys('f_subject').length === 1 && this.subject_id.value != lsi.get('f_subject',0).subject_id && lsi.keys('f_contacts').length > 0 ){
|
||||||
Notification.warning('Attention', 'Vous devez effacer le formulaire pour changer de sujet');
|
Notification.warning('Attention', 'Vous devez effacer le formulaire pour changer de sujet');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -81,19 +86,20 @@ inputFacebookSubject.prototype.attach = function(handler){
|
||||||
|
|
||||||
// Pointeur pour les scopes des addEventListener()
|
// Pointeur pour les scopes des addEventListener()
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
var ptr = this;
|
|
||||||
// Handler de mise à jour quand les champs sont bons
|
// Handler de mise à jour quand les champs sont bons
|
||||||
function fts(e){ ptr.fieldsToStorage(); ptr.handler(true); ptr.storageToFields(); }
|
function fts(e){ this.fieldsToStorage(); this.handler(true); this.storageToFields(); };
|
||||||
|
function fts2(e){ this.fieldsToStorage(true); this.storageToFields(); };
|
||||||
|
|
||||||
|
|
||||||
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
||||||
this.store_button.addEventListener('click', fts, false);
|
this.store_button.addEventListener('click', fts.bind(this), false);
|
||||||
|
|
||||||
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
||||||
this.subject_id.addEventListener('blur', fts, false);
|
this.subject_id.addEventListener('blur', fts.bind(this), false);
|
||||||
|
|
||||||
/* (4) On attache un évènement pour le champ coord */
|
/* (4) On attache un évènement pour le champ coord */
|
||||||
this.coords.addEventListener('blur', fts, false);
|
this.coords.addEventListener('blur', fts2.bind(this), false);
|
||||||
|
|
||||||
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
||||||
this.storageToFields();
|
this.storageToFields();
|
||||||
|
|
|
@ -25,14 +25,19 @@ inputPhoneSubject.prototype.check = function(){
|
||||||
|
|
||||||
/* [3] Gestion de l'enregistrement des formulaires de contact
|
/* [3] Gestion de l'enregistrement des formulaires de contact
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
inputPhoneSubject.prototype.fieldsToStorage = function(){
|
inputPhoneSubject.prototype.fieldsToStorage = function(onlyCoords){
|
||||||
console.group('[phone.subject] fields to storage');
|
console.group('[phone.subject] fields to storage');
|
||||||
|
|
||||||
|
( typeof onlyCoords != 'boolean' ) ? false : onlyCoords;
|
||||||
|
|
||||||
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
|
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
|
||||||
if( !this.check() ) return false;
|
if( !onlyCoords )
|
||||||
|
if( !this.check() )
|
||||||
|
return false;
|
||||||
|
|
||||||
// {2} Si on a déja saisie 1+ contact, on ne l'enregistre pas //
|
// {2} Si on a déja saisie 1+ contact, on ne l'enregistre pas //
|
||||||
if( lsi.keys('p_contacts').length > 0 ){
|
// et si on modifie le sujet
|
||||||
|
if( lsi.keys('p_subject').length === 1 && this.subject_id.value != lsi.get('p_subject',0).subject_id && lsi.keys('p_contacts').length > 0 ){
|
||||||
Notification.warning('Attention', 'Vous devez effacer le formulaire pour changer de sujet');
|
Notification.warning('Attention', 'Vous devez effacer le formulaire pour changer de sujet');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -84,24 +89,19 @@ inputPhoneSubject.prototype.attach = function(handler){
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
|
|
||||||
// Handler de mise à jour quand les champs sont bons
|
// Handler de mise à jour quand les champs sont bons
|
||||||
var fts = function(e){
|
function fts(e){ this.fieldsToStorage(); this.handler(true); this.storageToFields(); };
|
||||||
this.fieldsToStorage();
|
function fts2(e){ this.fieldsToStorage(true); this.storageToFields(); };
|
||||||
this.handler(true);
|
|
||||||
this.storageToFields();
|
|
||||||
}.bind(this);
|
|
||||||
|
|
||||||
|
|
||||||
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
||||||
this.store_button.addEventListener('click', fts, false);
|
this.store_button.addEventListener('click', fts.bind(this), false);
|
||||||
|
|
||||||
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
||||||
this.subject_id.addEventListener('blur', fts, false);
|
this.subject_id.addEventListener('blur', fts.bind(this), false);
|
||||||
|
|
||||||
|
|
||||||
/* (4) On attache un évènement pour le champ coord */
|
/* (4) On attache un évènement pour le champ coord */
|
||||||
this.coords.addEventListener('blur', fts, false);
|
this.coords.addEventListener('blur', fts2.bind(this), false);
|
||||||
|
|
||||||
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
|
||||||
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
||||||
this.storageToFields();
|
this.storageToFields();
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -260,6 +260,8 @@ var phoneRoutine = function(){
|
||||||
/* (3) On met à jour l'affichage */
|
/* (3) On met à jour l'affichage */
|
||||||
pSubjectManager.storageToFields();
|
pSubjectManager.storageToFields();
|
||||||
pContactManager.storageToFields();
|
pContactManager.storageToFields();
|
||||||
|
pMiniManager.storageToFields();
|
||||||
|
pFicheManager.storageToFields();
|
||||||
pMatriceManager.storageToFields();
|
pMatriceManager.storageToFields();
|
||||||
pDynamicUpdate(true);
|
pDynamicUpdate(true);
|
||||||
|
|
||||||
|
@ -516,10 +518,12 @@ var facebookRoutine = function(){
|
||||||
lsi.set('f_matrice', 0, response.local_data.matrice);
|
lsi.set('f_matrice', 0, response.local_data.matrice);
|
||||||
|
|
||||||
/* (3) On met à jour l'affichage */
|
/* (3) On met à jour l'affichage */
|
||||||
pSubjectManager.storageToFields();
|
fSubjectManager.storageToFields();
|
||||||
pContactManager.storageToFields();
|
fContactManager.storageToFields();
|
||||||
pMatriceManager.storageToFields();
|
fMiniManager.storageToFields();
|
||||||
pDynamicUpdate(true);
|
fFicheManager.storageToFields();
|
||||||
|
fMatriceManager.storageToFields();
|
||||||
|
fDynamicUpdate(true);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -976,7 +980,7 @@ function testRoutinePhone(doMini){
|
||||||
$('#medrel'+medrelVal+'_p_'+f).checked = true;
|
$('#medrel'+medrelVal+'_p_'+f).checked = true;
|
||||||
|
|
||||||
// {8} Temps de connaissance //
|
// {8} Temps de connaissance //
|
||||||
var duration = $$('article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="duration"]');
|
var duration = $$('section[data-sublink="phone"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="duration"]');
|
||||||
duration[0].value = count.toString();
|
duration[0].value = count.toString();
|
||||||
duration[1].value = 1+count.toString();
|
duration[1].value = 1+count.toString();
|
||||||
|
|
||||||
|
@ -984,7 +988,7 @@ function testRoutinePhone(doMini){
|
||||||
var ctxVal = count % 14;
|
var ctxVal = count % 14;
|
||||||
$('article.fiche-relation #contexte'+ctxVal+'_p_'+f).checked = true;
|
$('article.fiche-relation #contexte'+ctxVal+'_p_'+f).checked = true;
|
||||||
|
|
||||||
var ctxSpe = $$('article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="contextSpecial"]');
|
var ctxSpe = $$('section[data-sublink="phone"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="contextSpecial"]');
|
||||||
|
|
||||||
// Si special1
|
// Si special1
|
||||||
if( ctxVal == 11 )
|
if( ctxVal == 11 )
|
||||||
|
@ -1181,10 +1185,10 @@ function testRoutineFacebook(doMini){
|
||||||
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="studies"]').value = stuVal;
|
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="studies"]').value = stuVal;
|
||||||
|
|
||||||
// {5} Type de relation //
|
// {5} Type de relation //
|
||||||
var relVal = count % 9;
|
var relVal = count % 8;
|
||||||
|
|
||||||
// Si AUTRE
|
// Si AUTRE
|
||||||
if( relVal == 8 ){
|
if( relVal == 7 ){
|
||||||
$('#reltype10_f_'+f).checked = true;
|
$('#reltype10_f_'+f).checked = true;
|
||||||
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="reltypeSpecial"]').value = 'autre';
|
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="reltypeSpecial"]').value = 'autre';
|
||||||
// Sinon
|
// Sinon
|
||||||
|
@ -1200,6 +1204,22 @@ function testRoutineFacebook(doMini){
|
||||||
var locVal = ['A', 'B', 'C', 'D'][ Math.floor(count % 4) ];
|
var locVal = ['A', 'B', 'C', 'D'][ Math.floor(count % 4) ];
|
||||||
$('#loc'+locVal+'_f_'+f).checked = true;
|
$('#loc'+locVal+'_f_'+f).checked = true;
|
||||||
|
|
||||||
|
// {7} Situation familiale //
|
||||||
|
var famsitVal = ['A', 'B', 'C', 'D'][ Math.floor(count % 4) ];
|
||||||
|
$('#famsit'+famsitVal+'_f_'+f).checked = true;
|
||||||
|
|
||||||
|
// {7} Situation familiale //
|
||||||
|
var famsitVal = ['A', 'B', 'C', 'D'][ Math.floor(count % 4) ];
|
||||||
|
$('#famsit'+famsitVal+'_f_'+f).checked = true;
|
||||||
|
|
||||||
|
// {7} Utilisation des Medias Sociaux //
|
||||||
|
var medsocVal = ['A', 'B', 'C', 'D'][ Math.floor(count % 4) ];
|
||||||
|
$('#medsoc'+medsocVal+'_f_'+f).checked = true;
|
||||||
|
|
||||||
|
// {7} Relation via médias sociaux //
|
||||||
|
var medrelVal = ['A', 'B', 'C'][ Math.floor(count % 3) ];
|
||||||
|
$('#medrel'+medrelVal+'_f_'+f).checked = true;
|
||||||
|
|
||||||
// {8} Temps de connaissance //
|
// {8} Temps de connaissance //
|
||||||
var duration = $$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="duration"]');
|
var duration = $$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="duration"]');
|
||||||
duration[0].value = count.toString();
|
duration[0].value = count.toString();
|
||||||
|
@ -1223,6 +1243,41 @@ function testRoutineFacebook(doMini){
|
||||||
if( ctxVal == 13 )
|
if( ctxVal == 13 )
|
||||||
ctxSpe[2].value = 'autre';
|
ctxSpe[2].value = 'autre';
|
||||||
|
|
||||||
|
// {3} On remplit les interets //
|
||||||
|
var interestVal = ['0','1','2','3','4'];
|
||||||
|
interestVal = interestVal[ count % interestVal.length ];
|
||||||
|
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="interest"]').value = interestVal;
|
||||||
|
|
||||||
|
// {3} On remplit la relation avec la personne //
|
||||||
|
var relmarkVal = ['0','1','2','3','4'];
|
||||||
|
relmarkVal = relmarkVal[ count % relmarkVal.length ];
|
||||||
|
$('section[data-sublink="facebook"] article.fiche-relation > input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="relmark"]').value = relmarkVal;
|
||||||
|
|
||||||
|
|
||||||
|
// FREQ
|
||||||
|
var freqVal;
|
||||||
|
for( var i = 0 ; i < 5 ; i++ ){
|
||||||
|
freqVal = 1+ i*5+ Math.floor( count % 4 );
|
||||||
|
if( freqVal < 10 ) freqVal = '0'+freqVal;
|
||||||
|
|
||||||
|
$('#freq'+freqVal+'_f_'+f).checked = true;
|
||||||
|
}
|
||||||
|
// IRLFREQ
|
||||||
|
var irlfreqVal;
|
||||||
|
for( var i = 0 ; i < 5 ; i++ ){
|
||||||
|
irlfreqVal = 1+ i*5+ Math.floor( count % 4 );
|
||||||
|
if( irlfreqVal < 10 ) irlfreqVal = '0'+irlfreqVal;
|
||||||
|
|
||||||
|
$('#irlfreq'+irlfreqVal+'_f_'+f).checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// CONNECT
|
||||||
|
var connectVal;
|
||||||
|
for( var i = 1 ; i < 7 ; i++ ){
|
||||||
|
connectVal = 1+ Math.floor( count % 2 );
|
||||||
|
|
||||||
|
$('#connect'+i+''+connectVal+'_f_'+f).checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
|
|
Loading…
Reference in New Issue