Add a global var in session for the RNCS filter and change display of configuration

This commit is contained in:
Michael RICOIS 2012-06-12 10:00:42 +00:00
parent 4d9951d9d4
commit 967b1dd9d2
7 changed files with 81 additions and 60 deletions

View File

@ -31,7 +31,7 @@ class ComptageController extends Zend_Controller_Action
//Comptage
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($fields->getValues(), $user->filterRNCS);
$ciblage = new Ciblage($fields->getValues(), $user->globalRNCS);
//@todo : if $total = false then an error occured ?
$total = $ciblage->execute();
@ -115,7 +115,7 @@ class ComptageController extends Zend_Controller_Action
//If nbInsee == null, need to count again
if ($nbInsee===null) {
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($criteres, $user->filterRNCS);
$ciblage = new Ciblage($criteres, $user->globalRNCS);
$nbInsee = $ciblage->calculRedevanceInsee();
}
@ -166,7 +166,7 @@ class ComptageController extends Zend_Controller_Action
//Comptage
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($values, $user->filterRNCS);
$ciblage = new Ciblage($values, $user->globalRNCS);
$data = array(
'idDefinition' => $idCriteres,
@ -201,7 +201,7 @@ class ComptageController extends Zend_Controller_Action
//Comptage
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($fields->getValues(), $user->filterRNCS);
$ciblage = new Ciblage($fields->getValues(), $user->globalRNCS);
$sirets = $ciblage->execute(true, 10);
$dbConfig = Zend_Registry::get('configuration')->databases;

View File

@ -286,6 +286,8 @@ class DashboardController extends Zend_Controller_Action
*/
public function configurationAction()
{
//User's params
$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();
@ -305,6 +307,31 @@ class DashboardController extends Zend_Controller_Action
//Customer params have an option on the RNCS filter
$this->view->assign('filterRNCS', $user->filterRNCS);
//List of data to extract
$profilsM = new Application_Model_EnrichissementProfils();
$sql = $profilsM->select()
->where('login = ?', $user->username)
->where('idClient = ?', $user->idClient);
$result = $profilsM->fetchRow($sql);
if ($result) {
$criteres = json_decode($result['criteres'], true);
require_once 'Scores/Enrichissement.php';
$enrichissement = new Enrichissement();
$data = $enrichissement->getFields();
$profilLabels = array();
foreach ( $data as $key => $item ) {
if (in_array($key, $criteres)) {
$profilLabels[] = $item['label'];
}
}
$profil = new stdClass();
$profil->labels = $profilLabels;
$profil->tarif = $result['tarifLigne'];
$profil->reference = $result['reference'];
$this->view->assign('profil', $profil);
}
}
/**
@ -321,10 +348,10 @@ class DashboardController extends Zend_Controller_Action
$prefsM = new Application_Model_Prefs();
$userPrefs = $prefsM->find($user->username);
$data = array('interface'=>array(),'filter'=>array());
if ($userPrefs) {
$data = json_decode($userPrefs->current()->json, true);
} else {
$data = array('interface'=>array(),'filter'=>array());
$prefsM->insert(array('login'=>$user->username, 'json'=>json_encode($data)));
}
@ -335,7 +362,7 @@ class DashboardController extends Zend_Controller_Action
$prefsInterface = array('insee');
$filter = array();
foreach ( $prefsFilter as $item ){
foreach ( $prefsFilter as $item ) {
if (array_key_exists($item, $sendParam)) {
$filter = array($item => $sendParam[$item]);
}
@ -346,7 +373,7 @@ class DashboardController extends Zend_Controller_Action
$data['filter'] = $filter;
$interface = array();
foreach ( $prefsInterface as $item ){
foreach ( $prefsInterface as $item ) {
if (array_key_exists($item, $sendParam)) {
$interface = array($item => $sendParam[$item]);
}

View File

@ -108,7 +108,7 @@ class EnrichissementController extends Zend_Controller_Action
//Récupération des SIRET
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($structure, $user->filterRNCS);
$ciblage = new Ciblage($structure, $user->globalRNCS);
$infosExtraction = $ciblage->execute(true);

View File

@ -102,7 +102,7 @@ class IndexController extends Zend_Controller_Action
//Comptage
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($fields->getValues(), $user->filterRNCS);
$ciblage = new Ciblage($fields->getValues(), $user->globalRNCS);
$total = $ciblage->execute();
$fields->setNb('total', $total);

View File

@ -12,48 +12,27 @@
<div id="dashboard">
<h2>Paramètres de votre compte</h2>
<p>Licence INSEE : paiement à chaque extraction, non comptabilisé (déjà licencié)</p>
<p>Filtre RNCS : actif, désactiver</p>
<p>Extraction possible de xxx lignes, nombre de fichiers illimités sur la durée du contrat</p>
<p>Extraction possible de xxx lignes par fichier, nombre de fichiers maximums x sur la durée du contrat</p>
<h2>Profils d'enrichissement</h2>
<p>
Afin de vous permettre un enrichissement de données à partir d'une liste de SIREN/SIRET,
Suivant la configuration de votre compte, vous avez la possibilité de sélectionner les données
disponible.
</p>
<br/>
<p>Cas profil défini par S&D</p>
<p>- Aucun profil d'enrichissement (Contacter le support)</p>
<p>- Liste des profils avec référence, tarifs à la ligne</p>
<p>Si droits création profil d'enrichissement</p>
<p>- Aucun profil d'enrichissement (Sans profil d'enrichissement, vous ne pourrez pas extraire de données)</p>
<p>- Liste des profils avec référence, tarifs à la ligne</p>
<p> - Créer un profil d'enrichissement (avoir donc un tarifs à la colonne, pour créer le tarif à la ligne)</p>
<p>Lister les colonnes disponibles (Association SQL/Libellé) pour la configuration<p>
<h2>Préférences d'affichage</h2>
<p>
L'application permet la modification de l'affichage des critères de ciblage afin de permettre une
utilisation correspondant à vos besoins.
</p>
<br/>
<p>Vous n'avez pas les droits nécessaires pour créer/modifier les préférences d'affichage.</p>
<p>Des préférences d'affichage ont été définies pour votre profil client.</p>
<br/>
<p>Aucune préférences d'affichage définies pour votre profil utilisateur.</p>
<p>Des préférences d'affichage ont été définies pour votre profil utilisateur.</p>
<p>
Afin de choisir les critères à masquer :
<a href="#" title="Activer le mode personnalisation afin de créer/modifier les préférences d'affichage">
Activer le mode personnalisation
</a>
</p>
<br/>
<div>
<label>Afficher le nombre d'unité INSEE</label><br/>
<span><i>Pour permettre une estimation du cout de la redevance INSEE, en activant cette option,
le nombre d'unité insee est affiché à chaque comptage</i></span><br/>
<input type="checkbox" name="insee" value="1" <?php if ($this->prefInterfaceInsee==1) echo ' checked="checked"';?>
<?php if ($this->filterRNCS==1) echo ' disabled="disable"';?>/>
</div>
<br/>
<div>
<label>Filtrer au seul périmètre RNCS </label><br/>
<span>Les éléments soumis à redevance INSEE sont automatiquement retirer du ciblage</span><br/>
@ -61,10 +40,17 @@ le nombre d'unité insee est affiché à chaque comptage</i></span><br/>
<?php if ($this->filterRNCS==1) echo ' disabled="disable"';?> />
</div>
<?php if ($this->filterRNCS==1) {?>
<i>Votre compte est paramétré pour filtrer RNCS</i>
<i>Votre compte est paramétré pour ne sélectionner que les entités provenant du RNCS</i>
<?php }?>
<br/>
<div>
<label>Afficher le nombre d'unité INSEE</label><br/>
<span><i>Pour permettre une estimation du cout de la redevance INSEE, en activant cette option,
le nombre d'unité insee est affiché à chaque comptage</i></span><br/>
<input type="checkbox" name="insee" value="1" <?php if ($this->prefInterfaceInsee==1) echo ' checked="checked"';?>
<?php if ($this->filterRNCS==1) echo ' disabled="disable"';?>/>
</div>
<script>
$('input[type=checkbox]').click(function(){
if($(this).is(':checked')) {
@ -76,21 +62,18 @@ $('input[type=checkbox]').click(function(){
</script>
<br/>
<br/>
<p>
Afin de choisir les critères à masquer :
<a href="#" title="Activer le mode personnalisation afin de créer/modifier les préférences d'affichage">
Activer le mode personnalisation
</a>
</p>
<br/>
<h2>Paramètres de votre compte</h2>
<p>Licence INSEE : paiement à chaque extraction, non comptabilisé (déjà licencié)</p>
<p>Filtre RNCS : actif, désactiver</p>
<p>Extraction possible de xxx lignes, nombre de fichiers illimités sur la durée du contrat</p>
<p>Extraction possible de xxx lignes par fichier, nombre de fichiers maximums x sur la durée du contrat</p>
<h2>Profils d'enrichissement</h2>
<?php if ($this->profil) {?>
<p>Référence : <?=$this->profil->reference?></p>
<p>Tarif à la ligne (redevance INSEE non inclus) : <?=$this->profil->tarif?> euros</p>
<p>Liste des données extraites lors d'un enrichissement</p>
<?php foreach($this->profil->labels as $label) {?>
<?=$label?><br/>
<?php }?>
<?php } else {?>
<p>Aucun profil d'enrichissement (Veuillez contacter le service commercial)</p>
<?php }?>
</div>

View File

@ -44,7 +44,7 @@ class Application_Controller_Plugin_Comptage extends Zend_Controller_Plugin_Abst
$session->setCriteres(json_decode($row->criteres, 'true'));
//Réalise le comptage
$fields = new Scores_Fields();
$ciblage = new Ciblage($fields->getValues(), $user->filterRNCS);
$ciblage = new Ciblage($fields->getValues(), $user->globalRNCS);
$total = $ciblage->execute();
$session->setNb('total', $total);
if ($user->preferences['interface']['insee']==1) {

View File

@ -19,7 +19,7 @@ class Application_Controller_Plugin_Params extends Zend_Controller_Plugin_Abstra
$sql = $paramsM->select()
->where('idClient = ?', $identity->idClient)
->order('dateContrat DESC')->limit(1);
Zend_Registry::get('firebug')->info($sql->__toString());
$params = $paramsM->fetchAll($sql)->toArray();
if (count($params)>0) {
$identity->filterRNCS = $params[0]['filterRNCS'];
@ -44,6 +44,17 @@ class Application_Controller_Plugin_Params extends Zend_Controller_Plugin_Abstra
$identity->preferences = json_decode($pref->json, true);
}
//Add a global value to assemble filterRNCS and preferences RNCS
if ($identity->filterRNCS) {
$identity->globalRNCS = 1;
}
if (isset($identity->preferences['filter']['rncs']) && $identity->preferences['filter']['rncs']==1) {
$identity->globalRNCS = 1;
}
//Save information in session
$auth->getStorage()->write($identity);
}
}