Mise à jour de quelques options

This commit is contained in:
Michael RICOIS 2015-06-11 15:06:35 +00:00
parent 8267cdad14
commit 4ddee67405
8 changed files with 127 additions and 74 deletions

View File

@ -46,13 +46,13 @@ return array(
),
)
),
array(
/*array(
'label'=> "Aide",
'title' => "Aide",
'controller' => 'aide',
'action' => 'index',
'pages' => array()
),
),*/
array(
'label'=> "A propos",
'title' => "A propos",

View File

@ -103,6 +103,26 @@ class ComptageController extends Zend_Controller_Action
$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();
//No contrat define
if ( empty($user->dateContrat) || $user->dateContrat=='0000-00-00 00:00:00' ) {
//If no params are detected, display a message to contact support
$this->view->typeMsg = 'support';
}
//Check dateContrat and calculate end of contrat
else {
$hour = intval(substr($user->dateContrat,11,2));
$min = intval(substr($user->dateContrat,14,2));
$sec = intval(substr($user->dateContrat,17,2));
$month = intval(substr($user->dateContrat,5,2)) + $user->periodContrat;
$day = intval(substr($user->dateContrat,8,2));
$year = intval(substr($user->dateContrat,0,4));
$dateFinContrat = mktime($hour,$min,$sec,$month,$day,$year);
if ( time() > $dateFinContrat ) {
$this->view->typeMsg = 'contrat';
}
}
//Récupération de la session pour le profil et les valeurs du comptage
$fields = new Scores_Ciblage_FieldList();
$sessionValue = new Scores_Ciblage_Session($fields);

View File

@ -79,7 +79,7 @@ class EnrichissementController extends Zend_Controller_Action
// --- Informations utilisateur
$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();
// --- Paramètres
$request = $this->getRequest();
$id = $request->getParam('id', null);
@ -94,12 +94,12 @@ class EnrichissementController extends Zend_Controller_Action
} catch (Zend_Db_Exception $e) {
Zend_Registry::get('firebug')->info('SQL : '.$e->getMessage());
}
if ($result === null) {
$this->view->msg = 'Erreur';
} else {
$idComptage = $result->idDefinition;
// --- Récupération des critères du ciblage
try {
$criteresM = new Application_Model_CiblageCriteres();
@ -108,16 +108,16 @@ class EnrichissementController extends Zend_Controller_Action
} catch (Zend_Db_Exception $e) {
Zend_Registry::get('firebug')->info('SQL : '.$e->getMessage());
}
if ($criteres === null) {
$this->view->msg = 'Erreur';
} else {
$structure = json_decode($criteres->criteres, true);
// --- Récupération des SIRET
$ciblage = new Scores_Ciblage_Engine($structure, $user->globalRNCS);
$infosExtraction = $ciblage->execute(true);
// -- Calcul uniteInsee réelle car si donnée insee alors toutes les lignes doivent être comptés en unité insee
$data = array(
'idComptage' => $idComptage,
@ -139,7 +139,7 @@ class EnrichissementController extends Zend_Controller_Action
} catch (Zend_Db_Exception $e) {
Zend_Registry::get('firebug')->info('SQL : '.$e->getMessage());
}
$this->view->assign('ref', $ref);
}
}
@ -204,13 +204,14 @@ class EnrichissementController extends Zend_Controller_Action
$criteres = $criteresM->find($idCritere)->current();
$criteresValue = json_decode($criteres->criteres, true);
if ( $comptages->count()>0 ) {
if ( $comptages->count()>0 ) {
$item = $comptages[0];
$date = explode(' ', $item->dateAjout);
$date = $date[0];
if($date != '0000-00-00' && $date != date('Y-m-d')) {
$count = new Scores_Ciblage_Engine($criteresValue, $user->globalRNCS);
require_once 'Scores/Ciblage.php';
$count = new Ciblage($criteresValue);
$item['resultat'] = $count->execute();
$item['uniteInsee'] = $count->calculRedevanceInsee();
}
@ -218,7 +219,7 @@ class EnrichissementController extends Zend_Controller_Action
$this->view->assign('resultat', $item['resultat']);
$this->view->assign('uniteInsee', $item['uniteInsee']);
//Calcul du prix
// --- Calcul du prix
//@todo : Si le client a déjà payé la redevance INSEE
$prixInsee = $item['uniteInsee']*$redevanceInsee;
$infoInsee = '';
@ -229,68 +230,75 @@ class EnrichissementController extends Zend_Controller_Action
$this->view->prixInsee = round($prixInsee, 2);
$this->view->infoInsee = $infoInsee;
$prix = round($item['resultat'] * $priceLine + $prixInsee, 2);
$prix = round($item['resultat'] * $user->priceLine + $prixInsee, 2);
// --- Dépassement du nombre d'unité max à enrichir
if ( $item['resultat'] > $resultatMax ) {
$this->view->assign('resultatOver', true);
}
//Forfait - Liste des commandes et calcul
elseif ( $user->forfait > 0 ) {
$dateBegin = $user->dateContrat;
$dateEnd = date('YmdHis', mktime(0,0,0,substr($user->dateContrat,5,2)+$user->periodContrat, substr($user->dateContrat,8,2), substr($user->dateContrat,0,4)));
// --- Pas de forfait
elseif ( $user->forfait == 0 ) {
// --- Fichier illimité (avec nombre de lignes max définies)
if ( $user->limitFiles == 0 ) {
// --- Nombres de lignes dépassées
if ( $item['resultat'] > $user->limitLines ) {
$this->view->assign('resultatOver', 'lines');
}
}
// --- Fichier limité (avec nombre de lignes définies)
elseif ( $user->limitFiles > 0 ) {
// --- Nombres de lignes dépassées
if ( $user->limitLines != 0 && $item['resultat'] > $user->limitLines ) {
$this->view->assign('resultatOver', 'lines');
} else {
// --- Nombre de fichier dépassés
$dateBegin = $user->dateContrat;
$dateEnd = date('Y-m-d H:i:s', mktime(0,0,0,substr($user->dateContrat,5,2)+$user->periodContrat, substr($user->dateContrat,8,2), substr($user->dateContrat,0,4)));
try {
$commandesM = new Application_Model_CiblageEnrichissementIdentifiants();
$sql = $commandesM->select()->setIntegrityCheck(false)
->from( array('commande' => 'enrichissement_identifiants'), array('id'))
->join( array('critere' => 'ciblage_criteres'), 'critere.id = commande.idCriteres', array())
->where("dateAdded BETWEEN '".$dateBegin."' AND '".$dateEnd."'")
->where('idClient = ?', $user->idClient);
$result = $commandesM->fetchAll($sql);
} catch (Zend_Db_Exception $e) {
echo "Erreur."; /*echo $sql->__toString();*/ exit;
}
if ( count($result)+1 > $user->limitFiles) {
$this->view->assign('resultatOver', 'files');
}
$commandesM = new Application_Model_CiblageEnrichissementIdentifiants();
$sql = $commandesM->select()->setIntegrityCheck(false)
->from( array('commande' => 'enrichissement_identifiants'), array('SUM(nbLigneTotales) as total', 'SUM(uniteInsee) as insee'))
->join( array('critere' => 'ciblage_criteres'), 'critere.id = commande.idCriteres', array())
->where("dateAdded BETWEEN '".$dateBegin."' AND '".$dateEnd."'")
->where('idClient = ?', $user->idClient);
$result = $commandesM->fetchRow($sql);
if ($result) {
$total = $result['total'];
$insee = $result['insee'];
$conso = round($total * $priceLine + $insee * $redevanceInsee, 2);
}
$this->view->forfaitRemain = $user->forfait - $conso - $prix;
}
//Fichier illimité (avec nombre de lignes définies)
elseif ( $user->forfait == 0 && $user->limitFiles == 0 ) {
//Nombres de lignes dépassées
if ( $item['resultat'] > $user->limitLines ) {
$this->view->assign('resultatOver', 'lines');
$result = $commandesM->fetchAll($sql);
if ( $result->count()+1 > $user->limitFiles) {
$this->view->assign('resultatOver', 'files');
}
}
}
}
//Fichier limité (avec nombre de lignes définies)
elseif ($user->forfait==0 && $user->limitFiles>0) {
//Nombres de lignes dépassées
if ( $user->limitLines != 0 && $item['resultat'] > $user->limitLines ) {
$this->view->assign('resultatOver', 'lines');
} else {
//Nombre de fichier dépassés
// --- Forfait - Liste des commandes et calcul
else {
if ( $user->priceLine != 0 ) {
$dateBegin = $user->dateContrat;
$dateEnd = date('Y-m-d H:i:s', mktime(0,0,0,substr($user->dateContrat,5,2)+$user->periodContrat, substr($user->dateContrat,8,2), substr($user->dateContrat,0,4)));
try {
$commandesM = new Application_Model_CiblageEnrichissementIdentifiants();
$sql = $commandesM->select()->setIntegrityCheck(false)
->from( array('commande' => 'enrichissement_identifiants'), array('id'))
->join( array('critere' => 'ciblage_criteres'), 'critere.id = commande.idCriteres', array())
->where("dateAdded BETWEEN '".$dateBegin."' AND '".$dateEnd."'")
->where('idClient = ?', $user->idClient);
$result = $commandesM->fetchAll($sql);
} catch (Zend_Db_Exception $e) {
echo "Erreur."; /*echo $sql->__toString();*/ exit;
}
if ( count($result)+1 > $user->limitFiles) {
$this->view->assign('resultatOver', 'files');
}
$result = $commandesM->fetchAll($sql);
if ( $result->count()+1 > $user->limitFiles) {
$this->view->assign('resultatOver', 'files');
$dateEnd = date('YmdHis', mktime(0,0,0,substr($user->dateContrat,5,2)+$user->periodContrat,
substr($user->dateContrat,8,2), substr($user->dateContrat,0,4)));
$commandesM = new Application_Model_CiblageEnrichissementIdentifiants();
$sql = $commandesM->select()->setIntegrityCheck(false)
->from( array('commande' => 'enrichissement_identifiants'), array(
'SUM(nbLigneTotales) as total', 'SUM(uniteInsee) as insee'))
->join( array('critere' => 'ciblage_criteres'), 'critere.id = commande.idCriteres', array())
->where("dateAdded BETWEEN '".$dateBegin."' AND '".$dateEnd."'")
->where('idClient = ?', $user->idClient);
$result = $commandesM->fetchRow($sql);
if ($result) {
$total = $result['total'];
$insee = $result['insee'];
$conso = round($total * $user->priceLine + $insee * $redevanceInsee, 2);
}
$this->view->forfaitRemain = $user->forfait - $conso - $prix;
$this->view->Paiement = 'LINE';
} else {
$this->view->Paiement = 'FORFAIT';
}
}

View File

@ -1,5 +1,12 @@
<div class="container-fluid">
<h2>A propos de</h2>
<p>ODEA vous permet d'extraire des informations sur toutes les entreprises françaises actives.</p>
<p>Pour une demande commercial vous pouvez contacter <a href="mailto:contact@scores-decisions.com">contact@scores-decisions.com</a>.</p>
<p>Pour une demande concernant votre contrat ou l'utilisation, vous pouvez prendre contact avec
<a href="mailto:support@scores-decisions.com">support@scores-decisions.com</a>, en rappelant vos références.</p>
</div>

View File

@ -1,4 +1,18 @@
<?php if ($this->noSelection) { ?>
<?php if ($this->typeMsg) {?>
<div id="help">
<?php if ($this->typeMsg == 'support') {?>
Les paramètres de votre compte n'ont pas été définis. <br/>Veuillez contacter le <a href="mailto:support@scores-decisions.com">support</a>.
<br/>Par mail : <a href="mailto:support@scores-decisions.com">support@scores-decisions.com</a>
<br/>Ou prendre contact avec votre commercial.
<?php } elseif ($this->typeMsg == 'contrat') {?>
Votre contrat est arrivé à expiration. <br/>Veuillez contacter le <a href="mailto:support@scores-decisions.com">support</a>.
<br/>Par mail : <a href="mailto:support@scores-decisions.com">support@scores-decisions.com</a>
<br/>Ou prendre contact avec votre commercial.
<?php }?>
</div>
<?php } elseif ($this->noSelection) { ?>
Vous n'avez pas sélectionné de critères !
<?php } else {?>
<style>
@ -11,7 +25,7 @@ span.message {
<form method="post" id="save" name="save" action="<?=$this->url(array('controller'=>'comptage', 'action'=>'save'))?>">
<label>Votre référence : </label><input type="text" name="ref" value="<?=$this->reference?>" />
</form>
<span class="message" style="color:#ff0000;"></span>
<br/>
<span class="message">
La saisie d'une référence vous permettra de suivre vos ciblages et vos commandes.<br/>
Les accents et les carractères spéciaux, seront remplacés automatiquement.<br/>
@ -34,7 +48,6 @@ buttons: [ {
success: function(data){
if (data.error == 0) {
$('#result').html(data.msg);
//@todo : Voir
$(location).attr('href',data.href);
} else {
$('#result span.message').html(data.msg);

View File

@ -8,7 +8,8 @@ Erreur
<?php } elseif ( $this->resultat === true) {?>
<p>Le nombre de lignes à enrichir est trop important. Vous pouvez prendre contact avec le service commercial.</p>
<p>Le nombre de lignes à enrichir est trop important.
Vous pouvez prendre contact avec le service commercial.</p>
<?php } elseif ( $this->resultat == 'lines') {?>
@ -17,11 +18,15 @@ Vous pouvez prendre contact avec le service commercial.</p>
<?php } elseif ( $this->resultat == 'files') {?>
<p>Le nombre maximum de fichier enrichit a été atteint. Vous pouvez prendre contact avec le service commercial.</p>
<p>Le nombre maximum de fichier enrichit a été atteint.
Vous pouvez prendre contact avec le service commercial.</p>
<?php } elseif ( $this->forfaitRemain && $this->forfaitRemain<=0 ) { ?>
<p>Le montant de votre forfait est insuffisant. Vous pouvez prendre contact avec le service commercial.</p>
<p>Le montant de votre forfait est insuffisant
Vous pouvez prendre contact avec le service commercial.
</p>
<?php } else {?>
@ -71,7 +76,7 @@ Vous pouvez prendre contact avec le service commercial.</p>
<table class="table table-bordered table-condensed" id="enrichissement">
<tr>
<th>Référence de commande</th><th><?=$this->ref?></th>
<th>Référence</th><th><?=$this->ref?></th>
</tr>
<tr>
<td>Nombre d'unités</td><td><?=number_format($this->resultat, 0, ',', ' ')?></td>

View File

@ -26,7 +26,7 @@ $(document).ready(function(){
});
$('a.enrichissementref').on('click', function(){
var title = "Commande d'un enrichissment";
var title = "Demande d'un enrichissment";
var href = $(this).attr('href');
var dialogOpts = {
bgiframe: true,

View File

@ -39,7 +39,7 @@ $(document).ready(function(){
bgiframe: true,
title: title,
width: 500,
height: 200,
height: 300,
modal: true,
open: function(event, ui) {
$(this).html('Chargement...');