Mise à jour de quelques options

This commit is contained in:
Michael RICOIS 2015-06-11 15:06:00 +00:00
parent 425401f8eb
commit ad492e74b7
10 changed files with 115 additions and 69 deletions

View File

@ -90,6 +90,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_Fields();
$criteres = $fields->getCriteres();
@ -265,30 +285,30 @@ class ComptageController extends Zend_Controller_Action
//Get item
if ( array_key_exists($item, $fields) ) {
$field = $fields[$item];
//Définition de l'entete
$tabEnteteLabel[] = $field['label'];
$tabEntete[] = $item;
//Construction de la requete SQL
if ( array_key_exists('sql', $field) ) {
$columns[] = $field['sql'];
} else {
$columns[] = $field['column'].' AS '.$item;
}
//Pour les champs de type "code", ajouter le libellé
if ( array_key_exists('join', $field) ) {
$tabEnteteLabel[] = $field['join']['label'];
$joinColumn = $item.'Lib';
$tabEntete[] = $joinColumn;
//Sql
$tableAlias = $item.'L';
$join['name'] = $field['join']['table'].' AS '.$tableAlias;
$join['col'] = $field['join']['column'].' AS '.$joinColumn;
$join['cond'] = $field['join']['cond'];
$joins[] = $join;
}
}
@ -323,7 +343,7 @@ class ComptageController extends Zend_Controller_Action
echo $sql->__toString();
}
}
$liste = array();
foreach ($result as $i => $tabData) {
//Trier pour la sortie
@ -344,7 +364,7 @@ class ComptageController extends Zend_Controller_Action
}
$liste[] = $tabSortie;
}
Zend_Registry::get('firebug')->info($liste);
$this->view->assign('label', $tabEnteteLabel);

View File

@ -151,7 +151,6 @@ class EnrichissementController extends Zend_Controller_Action
//Récupération du profil de l'utilisateur
$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();
$priceLine = $user->priceLine;
//Other profil for this login ?
$profilsM = new Application_Model_CiblageEnrichissementProfils();
@ -207,7 +206,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 = '';
@ -218,68 +217,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'))
$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->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');
$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 +1,9 @@
<?php
<div id="help" style="padding:5px;">
<h2>A propos de</h2>
<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

@ -46,7 +46,7 @@ Vous pouvez prendre contact avec le service commercial.
<table 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></tr>
<tr><td>Nombre d'unités Insee</td><td><?=number_format($this->uniteInsee, 0, ',', ' ')?></td></tr>

View File

@ -24,7 +24,6 @@
<ul>
<li><a href="<?=$this->url(array('controller'=>'index', 'action'=>'index'), null, true)?>"<?php if ($this->menuActive=='accueil') echo ' class="active"';?>><?=$this->translate('Accueil')?></a></li>
<li><a href="<?=$this->url(array('controller'=>'dashboard', 'action'=>'index'), null, true)?>"<?php if ($this->menuActive=='dashboard') echo ' class="active"';?>><?=$this->translate('Tableau de bord')?></a></li>
<li><a href="<?=$this->url(array('controller'=>'aide', 'action'=>'index'), null, true)?>"<?php if ($this->menuActive=='aide') echo ' active';?>><?=$this->translate('Aide')?></a></li>
<li><a href="<?=$this->url(array('controller'=>'aide', 'action'=>'aproposde'), null, true)?>"<?php if ($this->menuActive=='aproposde') echo ' class="active"';?>><?=$this->translate('A propos de')?></a></li>
<?php if ( $this->admin ) {?>
<li><a href="<?=$this->url(array('controller'=>'gestion', 'action'=>'index'), null, true)?>"<?php if ($this->menuActive=='gestion') echo ' class="active"';?>><?=$this->translate('Gestion')?></a></li>

View File

@ -33,7 +33,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

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

View File

@ -78,7 +78,7 @@ ul.ui-autocomplete {
}
.ui-autocomplete-loading {
background:white url('/libs/ui/themes/smoothness/images/ui-anim_basic_16x16.gif') right center no-repeat;
background:white url('/libs/ui-1.10.3/themes/smoothness/images/ui-anim_basic_16x16.gif') right center no-repeat;
}
#lastCiblage {

View File

@ -473,7 +473,7 @@ ul#fieldsblock li div.fieldgrp div.field .interval input[type=text] {
text-decoration: underline;
}
.ui-autocomplete-loading { background: white url('/libs/ui/themes/smoothness/images/ui-anim_basic_16x16.gif') right center no-repeat; }
.ui-autocomplete-loading { background: white url('/libs/ui-1.10.3/themes/smoothness/images/ui-anim_basic_16x16.gif') right center no-repeat; }
.flag {
cursor:pointer;