Skip to content
Snippets Groups Projects
Commit b4b39af8 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Amélioration affichage + mot clef mail

parent b29ba0b4
No related branches found
No related tags found
No related merge requests found
Pipeline #23022 passed
......@@ -9,6 +9,7 @@ use UnicaenIndicateur\Form\Indicateur\IndicateurFormAwareTrait;
use UnicaenIndicateur\Service\Abonnement\AbonnementServiceAwareTrait;
use UnicaenIndicateur\Service\Indicateur\IndicateurServiceAwareTrait;
use UnicaenApp\View\Model\CsvModel;
use UnicaenMail\Service\Mail\MailServiceAwareTrait;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Laminas\Http\Request;
use Laminas\Mvc\Controller\AbstractActionController;
......@@ -18,6 +19,7 @@ class IndicateurController extends AbstractActionController {
use IndicateurServiceAwareTrait;
use UserServiceAwareTrait;
use AbonnementServiceAwareTrait;
use MailServiceAwareTrait;
use IndicateurFormAwareTrait;
......@@ -41,6 +43,7 @@ class IndicateurController extends AbstractActionController {
public function afficherAction() : ViewModel
{
$indicateur = $this->getIndicateurService()->getRequestedIndicateur($this);
$mails = $this->getMailService()->getMailsByMotClef($indicateur->generateTag());
$exists = $this->getIndicateurService()->verifierExistanceMaterializedView($indicateur->getViewId());
if ($exists === true) $result = $this->getIndicateurService()->getIndicateurData($indicateur);
......@@ -50,6 +53,7 @@ class IndicateurController extends AbstractActionController {
'exists' => $exists,
'header' => ($exists)?$result[0]:null,
'data' => ($exists)?$result[1]:null,
'mails' => $mails,
]);
}
......
......@@ -8,6 +8,7 @@ use UnicaenIndicateur\Form\Indicateur\IndicateurForm;
use UnicaenIndicateur\Service\Abonnement\AbonnementService;
use UnicaenIndicateur\Service\Indicateur\IndicateurService;
use Interop\Container\ContainerInterface;
use UnicaenMail\Service\Mail\MailService;
use UnicaenUtilisateur\Service\User\UserService;;
class IndicateurControllerFactory {
......@@ -23,10 +24,12 @@ class IndicateurControllerFactory {
/**
* @var AbonnementService $abonnementService
* @var IndicateurService $indicateurService
* @var MailService $mailService
* @var UserService $userService
*/
$abonnementService = $container->get(AbonnementService::class);
$indicateurService = $container->get(IndicateurService::class);
$mailService = $container->get(MailService::class);
$userService = $container->get(UserService::class);
/**
......@@ -37,6 +40,7 @@ class IndicateurControllerFactory {
$controller = new IndicateurController();
$controller->setAbonnementService($abonnementService);
$controller->setIndicateurService($indicateurService);
$controller->setMailService($mailService);
$controller->setUserService($userService);
$controller->setIndicateurForm($indicateurForm);
return $controller;
......
......@@ -140,4 +140,13 @@ class Indicateur {
return $this->tableaux->toArray();
}
/** MACRO **********************************************************************/
/** @noinspection PhpUnused */
public function generateTag() : string
{
return 'Indicateur_' . $this->getId();
}
}
\ No newline at end of file
......@@ -161,7 +161,7 @@ class AbonnementService {
foreach ($abonnements as $abonnement) {
$adresse = $abonnement->getUser()->getEmail();
$mail = $this->getMailService()->sendMail($adresse, $titre, $texte);
$mail->setEntity($indicateur);
$mail->setMotsClefs([$indicateur->generateTag()]);
$this->getMailService()->update($mail);
$abonnement->setDernierEnvoi(new DateTime());
$this->update($abonnement);
......
......@@ -90,6 +90,11 @@ use UnicaenIndicateur\Entity\Db\Indicateur;
</tbody>
</table>
</div>
<div id="mail" class="tab-pane " role="mail">
<br>
<?php echo $this->mails($mails); ?>
</div>
</div>
<?php endif; ?>
......
<?php
/**
* @see \UnicaenIndicateur\Controller\IndicateurController::indexAction()
* @var Indicateur[] $indicateurs
* @var Abonnement[] $abonnements
*/
......@@ -18,12 +19,12 @@ $canTableaux = $this->isAllowed(TableaudebordPrivileges::getResourceId(Tableaude
?>
<div class="row">
<div class="col-md-9">
<div class="col-md-6">
<h1 class="page-header">
Indicateurs
Gestion des indicateurs
</h1>
</div>
<div class="col-md-3">
<div class="col-md-6">
<?php if ($canTableaux) : ?>
<?php /** @see \UnicaenIndicateur\Controller\TableauDeBordController::indexAction() */ ?>
<a href="<?php echo $this->url('tableau-de-bord',[], [], true); ?>" class="btn btn-secondary">
......@@ -36,7 +37,6 @@ $canTableaux = $this->isAllowed(TableaudebordPrivileges::getResourceId(Tableaude
<div class="main">
<div class="row">
<?php if ($canEditer) :?>
<?php /** @see IndicateurController::creerAction() */?>
<a href="<?php echo $this->url("indicateur/creer", [], [], true); ?>"
......@@ -50,11 +50,10 @@ $canTableaux = $this->isAllowed(TableaudebordPrivileges::getResourceId(Tableaude
<a href="<?php echo $this->url("abonnement/notifier", [], [], true); ?>"
class="btn btn-primary action"
>
<span class="icon icon-checked"></span>
<span class="icon icon-mail"></span>
Notifier
</a>
<?php endif; ?>
</div>
<table id="datatable" class="table table-condensed">
<thead>
......
......@@ -20,12 +20,12 @@ $canIndicateurs = $this->isAllowed(IndicateurPrivileges::getResourceId(Indicateu
?>
<div class="row">
<div class="col-md-9">
<div class="col-md-6">
<h1 class="page-header">
Gestion des tableaux de bord
</h1>
</div>
<div class="col-md-3">
<div class="col-md-6">
<a href="<?php echo $this->url('indicateurs', [], [], true); ?>"
class="btn btn-secondary">
<span class="icon icon-lister"></span>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment