Avancement sur Tableau de bord Admin et User
This commit is contained in:
parent
2f38ff0776
commit
ef9e63d898
|
@ -145,18 +145,24 @@ header.header img {
|
||||||
display: block;
|
display: block;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************/
|
||||||
|
/* dashboard.twig */
|
||||||
|
/******************************************************************/
|
||||||
|
.tab-de-bord {
|
||||||
|
background-color: brown;
|
||||||
|
padding: 1rem;
|
||||||
|
min-width: 350px;
|
||||||
|
}
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
/* layout.twig */
|
/* layout.twig */
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
|
|
||||||
.mdp_oublie:hover {
|
.mdp_oublie:hover {
|
||||||
background-color: deepskyblue;
|
background-color: deepskyblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
/* LOADING PUBKEY */
|
/* LOADING PUBKEY */
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
|
|
||||||
#cle_pub {
|
#cle_pub {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -178,7 +184,17 @@ body.loading .loadingPubkey {
|
||||||
/* POUR MOBILES */
|
/* POUR MOBILES */
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
@media only screen and (max-width:560px) {
|
@media only screen and (max-width:560px) {
|
||||||
|
/******************************************************************/
|
||||||
|
/* dashboard.twig */
|
||||||
|
/******************************************************************/
|
||||||
|
.tab-de-bord {
|
||||||
|
background-color: brown;
|
||||||
|
padding: 1rem;
|
||||||
|
min-width: 280px;
|
||||||
|
}
|
||||||
|
/******************************************************************/
|
||||||
|
/* layout.twig */
|
||||||
|
/******************************************************************/
|
||||||
.fond {
|
.fond {
|
||||||
background-color: black;
|
background-color: black;
|
||||||
background-image: url("../images/bildreich_1275.jpg");
|
background-image: url("../images/bildreich_1275.jpg");
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
namespace App\Admin;
|
namespace App\Admin;
|
||||||
|
|
||||||
use App\Admin\Table\UserTable;
|
|
||||||
use Framework\Auth;
|
|
||||||
use Framework\Module;
|
use Framework\Module;
|
||||||
use Framework\Renderer\RendererInterface;
|
use Framework\Renderer\RendererInterface;
|
||||||
use Framework\Renderer\TwigRenderer;
|
use Framework\Renderer\TwigRenderer;
|
||||||
|
@ -11,43 +9,19 @@ use Framework\Router;
|
||||||
|
|
||||||
class AdminModule extends Module
|
class AdminModule extends Module
|
||||||
{
|
{
|
||||||
|
|
||||||
const DEFINITIONS = __DIR__ . '/config.php';
|
const DEFINITIONS = __DIR__ . '/config.php';
|
||||||
/**
|
|
||||||
* @var Auth
|
|
||||||
*/
|
|
||||||
private $auth;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
RendererInterface $renderer,
|
RendererInterface $renderer,
|
||||||
Router $router,
|
Router $router,
|
||||||
AdminTwigExtension $adminTwigExtension,
|
AdminTwigExtension $adminTwigExtension,
|
||||||
UserTable $userTable,
|
|
||||||
Auth $auth,
|
|
||||||
string $prefix
|
string $prefix
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$this->userTable = $userTable;
|
$router->get('/dashboard', DashboardAction::class, 'dashboard');
|
||||||
$this->auth = $auth;
|
$router->get('/dashboard/{user:[a-zA-Z\-0-9]+}', DashboardUserAction::class, 'dashboard.user');
|
||||||
$renderer->addPath('admin', __DIR__ . '/views');
|
|
||||||
$name_user = $this->auth->getUser()->username;
|
|
||||||
//$role = $user->getRoles();
|
|
||||||
$role = $_SESSION['role'];
|
|
||||||
$page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1
|
|
||||||
//$liste_users = $this->userTable->findAll()->paginate(25, $page);
|
|
||||||
$liste_adminGeneral = $this->userTable->findAdminUsers('1');
|
|
||||||
$liste_adminAntenne = $this->userTable->findAdminUsers('2');
|
|
||||||
$liste_users = $this->userTable->findAdminUsers('3');
|
|
||||||
|
|
||||||
$router->get($prefix, DashboardAction::class, 'admin');
|
|
||||||
$router->post($prefix, DashboardAction::class);
|
|
||||||
if ($renderer instanceof TwigRenderer) {
|
if ($renderer instanceof TwigRenderer) {
|
||||||
$renderer->getTwig()->addExtension($adminTwigExtension);
|
$renderer->getTwig()->addExtension($adminTwigExtension);
|
||||||
$renderer->getTwig()->addGlobal('role',$role);
|
|
||||||
$renderer->getTwig()->addGlobal('name_user',$name_user);
|
|
||||||
$renderer->getTwig()->addGlobal('liste_adminGeneral',$liste_adminGeneral);
|
|
||||||
$renderer->getTwig()->addGlobal('liste_adminAntenne',$liste_adminAntenne);
|
|
||||||
$renderer->getTwig()->addGlobal('liste_users',$liste_users);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
namespace App\Admin;
|
namespace App\Admin;
|
||||||
|
|
||||||
|
use App\Admin\Table\UserTable;
|
||||||
|
use App\Gmarche\Table\AntenneTable;
|
||||||
use Framework\Renderer\RendererInterface;
|
use Framework\Renderer\RendererInterface;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
|
|
||||||
class DashboardAction
|
class DashboardAction
|
||||||
{
|
{
|
||||||
|
@ -10,22 +13,54 @@ class DashboardAction
|
||||||
* @var RendererInterface
|
* @var RendererInterface
|
||||||
*/
|
*/
|
||||||
private $renderer;
|
private $renderer;
|
||||||
|
/**
|
||||||
|
* @var AntenneTable
|
||||||
|
*/
|
||||||
|
private $antenneTable;
|
||||||
|
|
||||||
//private $widgets;
|
|
||||||
|
|
||||||
public function __construct(RendererInterface $renderer)
|
/**
|
||||||
|
* @var UserTable
|
||||||
|
*/
|
||||||
|
private $userTable;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
RendererInterface $renderer,
|
||||||
|
AntenneTable $antenneTable,
|
||||||
|
UserTable $userTable)
|
||||||
{
|
{
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
// $this->widgets = $widgets;
|
$this->antenneTable = $antenneTable;
|
||||||
|
$this->userTable = $userTable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __invoke()
|
/**
|
||||||
|
* @param ServerRequestInterface $request
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function __invoke(ServerRequestInterface $request)
|
||||||
{
|
{
|
||||||
if ($request->getMethod() === 'GET') {
|
if ($request->getMethod() === 'GET') {
|
||||||
/*$widgets = array_reduce($this->widgets, function (string $html, AdminWidgetInterface $widget) {
|
|
||||||
return $html . $widget->render();
|
$this->renderer->addPath('admin', __DIR__ . '/views');
|
||||||
}, '');*/
|
$page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1
|
||||||
return $this->renderer->render('@admin/dashboard');
|
$liste_adminGeneral = $this->userTable->findAdminUsers('1');
|
||||||
|
$liste_adminAntenne = $this->userTable->findAdminUsers('2');
|
||||||
|
$liste_users_suivi = $this->userTable->findUsers('3');
|
||||||
|
$listeAntennes = $this->antenneTable->findAllAntennes();
|
||||||
|
if (!isset($_SESSION)) {
|
||||||
|
session_start();
|
||||||
|
}
|
||||||
|
if (isset($_SESSION['user'])) {
|
||||||
|
$nom_user = $_SESSION['user'];
|
||||||
|
$role = $_SESSION['role'];
|
||||||
|
} else {
|
||||||
|
$nom_user = '';
|
||||||
|
$role = '3';
|
||||||
|
}
|
||||||
|
return $this->renderer->render('@admin/dashboard',
|
||||||
|
compact('nom_user','role', 'liste_adminGeneral', 'liste_users_suivi',
|
||||||
|
'liste_adminAntenne', 'listeAntennes'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
<?php
|
||||||
|
namespace App\Admin;
|
||||||
|
|
||||||
|
use App\Auth\UserTable;
|
||||||
|
use App\Admin\Table\UserTable as UserTableAdmin;
|
||||||
|
use App\Gmarche\Table\AntenneTable;
|
||||||
|
use Framework\Auth;
|
||||||
|
use Framework\Renderer\RendererInterface;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
|
|
||||||
|
class DashboardUserAction
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var RendererInterface
|
||||||
|
*/
|
||||||
|
private $renderer;
|
||||||
|
/**
|
||||||
|
* @var Auth
|
||||||
|
*/
|
||||||
|
private $auth;
|
||||||
|
/**
|
||||||
|
* @var AntenneTable
|
||||||
|
*/
|
||||||
|
private $antenneTable;
|
||||||
|
/**
|
||||||
|
* @var UserTable
|
||||||
|
*/
|
||||||
|
private $userTable;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
RendererInterface $renderer,
|
||||||
|
Auth $auth,
|
||||||
|
AntenneTable $antenneTable,
|
||||||
|
UserTable $userTable,
|
||||||
|
UserTableAdmin $userTableAdmin)
|
||||||
|
{
|
||||||
|
$this->renderer = $renderer;
|
||||||
|
$this->auth = $auth;
|
||||||
|
$this->antenneTable = $antenneTable;
|
||||||
|
$this->userTable = $userTable;
|
||||||
|
$this->userTableAdmin = $userTableAdmin;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param ServerRequestInterface $request
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function __invoke(ServerRequestInterface $request)
|
||||||
|
{
|
||||||
|
if ($request->getMethod() === 'GET') {
|
||||||
|
$this->renderer->addPath('admin', __DIR__ . '/views');
|
||||||
|
$liste_users_suivi = $this->userTableAdmin->findUsers('3');
|
||||||
|
|
||||||
|
$username = $request->getAttribute('user');
|
||||||
|
|
||||||
|
$profil_user = $this->userTable->findBy('username', $username);
|
||||||
|
// var_dump($profil_user);
|
||||||
|
// die();
|
||||||
|
$listeAntennes = $this->antenneTable->findAllAntennes();
|
||||||
|
if (!isset($_SESSION)) {
|
||||||
|
session_start();
|
||||||
|
}
|
||||||
|
if (isset($_SESSION['user'])) {
|
||||||
|
$nom_user = $_SESSION['user'];
|
||||||
|
$role = $_SESSION['role'];
|
||||||
|
} else {
|
||||||
|
$nom_user = '';
|
||||||
|
$role = '3';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->renderer->render('@admin/dashboard_user',
|
||||||
|
compact('nom_user','role','username','profil_user','liste_users_suivi','listeAntennes'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,4 +29,5 @@ class User
|
||||||
|
|
||||||
public $avatar;
|
public $avatar;
|
||||||
|
|
||||||
|
public $suiviantenne;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
namespace App\Admin\Table;
|
namespace App\Admin\Table;
|
||||||
|
|
||||||
use App\Admin\Entity\User;
|
use App\Admin\Entity\User;
|
||||||
|
use App\Gmarche\Table\AntenneTable;
|
||||||
|
use App\Gmarche\Table\RegionTable;
|
||||||
use Framework\Database\Query;
|
use Framework\Database\Query;
|
||||||
use Framework\Database\Table;
|
use Framework\Database\Table;
|
||||||
|
|
||||||
|
@ -12,18 +14,49 @@ class UserTable extends Table
|
||||||
|
|
||||||
protected $table = 'users';
|
protected $table = 'users';
|
||||||
|
|
||||||
|
public function findList(): array
|
||||||
|
{
|
||||||
|
$results = $this->pdo
|
||||||
|
->query("SELECT id, name FROM {$this->table}")
|
||||||
|
->fetchAll(\PDO::FETCH_NUM);
|
||||||
|
$list = [];
|
||||||
|
foreach ($results as $result) {
|
||||||
|
$list[$result[0]] = $result[1];
|
||||||
|
}
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
public function findAntennebyId(int $id_antenne): Query
|
||||||
|
{
|
||||||
|
$antenne = new AntenneTable($this->pdo);
|
||||||
|
return $this->makeQuery()
|
||||||
|
->select('a.name as nameAntenne')
|
||||||
|
->where("a.id = $id_antenne");
|
||||||
|
}
|
||||||
|
public function findUsers($role): Query
|
||||||
|
{
|
||||||
|
return $this->makeQuery()
|
||||||
|
->select('u.*')
|
||||||
|
->where("u.role = '".$role."'")
|
||||||
|
->order('u.username ASC');
|
||||||
|
}
|
||||||
|
/*public function findUsersSuivi($role): Query
|
||||||
|
{
|
||||||
|
$antenne = new AntenneTable($this->pdo);
|
||||||
|
return $this->makeQuery()
|
||||||
|
->join($antenne->getTable() . ' as a', 'substring(u.suiviantenne,1,1) = a.id')
|
||||||
|
->select('u.*,a.name as nameAntenne')
|
||||||
|
->where("u.role = '".$role."'")
|
||||||
|
->order('u.username, nameAntenne ASC');
|
||||||
|
}*/
|
||||||
public function findAdminUsers($role): Query
|
public function findAdminUsers($role): Query
|
||||||
{
|
{
|
||||||
//$region = new RegionTable($this->pdo);
|
|
||||||
return $this->makeQuery()
|
return $this->makeQuery()
|
||||||
->select('u.*')
|
->select('u.*')
|
||||||
->where("u.role = $role")
|
->where("u.role = $role")
|
||||||
->order('u.username ASC');
|
->order('u.username ASC');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function findRole($username): Query
|
public function findRole($username): Query
|
||||||
{
|
{
|
||||||
//$region = new RegionTable($this->pdo);
|
|
||||||
return $this->makeQuery()
|
return $this->makeQuery()
|
||||||
->select('u.role')
|
->select('u.role')
|
||||||
->where("u.username = $username");
|
->where("u.username = $username");
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
{% extends '@admin/layout.twig' %}
|
{% extends 'layout.twig' %}
|
||||||
|
|
||||||
|
{% block title "Ğ1-Marché - Tableau de bord" %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
<div class="container" style="color:floralwhite;background-color: #333333;padding: 1rem;">
|
||||||
|
<div class="container tab-de-bord">
|
||||||
<h3 style="display:inline-block;">Tableau de bord - </h3>
|
<h3 style="display:inline-block;">Tableau de bord - </h3>
|
||||||
<h4 style="display:inline-block;">
|
<h4 style="display:inline-block;">
|
||||||
{% if role == '0' %} Super Admin{% endif %}
|
{% if role == '0' %} Super Admin{% endif %}
|
||||||
|
@ -8,6 +12,7 @@
|
||||||
{% if role == '2' %} Admin Antenne{% endif %}
|
{% if role == '2' %} Admin Antenne{% endif %}
|
||||||
</h4>
|
</h4>
|
||||||
</h3>
|
</h3>
|
||||||
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
{% if role == '0' %}
|
{% if role == '0' %}
|
||||||
<h4>Liste des admins généraux</h4>
|
<h4>Liste des admins généraux</h4>
|
||||||
|
@ -21,6 +26,7 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<p></p>
|
||||||
{% if (role == '0' or role == '1') %}
|
{% if (role == '0' or role == '1') %}
|
||||||
<h4>Liste des admins Antenne</h4>
|
<h4>Liste des admins Antenne</h4>
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
|
@ -33,13 +39,52 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<p></p>
|
||||||
|
{% if (role == '0' or role == '1' or role == '2') %}
|
||||||
|
<h4>Liste des régions/antennes</h4>
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
{% set antenne = '' %}
|
||||||
|
{% set region = '' %}
|
||||||
|
{% for item in listeAntennes %}
|
||||||
|
{% if (item.regionName != region) %}
|
||||||
|
<li class="liste_antennes list-group-item" style="color:black;
|
||||||
|
background-color:lightgoldenrodyellow;padding: .2rem 1.25rem;">
|
||||||
|
{{ item.regionName }}
|
||||||
|
</li>
|
||||||
|
<a style="color:black;" href="" title="{{ item.regionName }}">
|
||||||
|
<li class="liste_antennes list-group-item" style="background-color:#8fbc8f;padding: .2rem 1.25rem;">
|
||||||
|
► {{ item.antenneName }}
|
||||||
|
</li>
|
||||||
|
</a>
|
||||||
|
{% else %}
|
||||||
|
<a style="color:black;" href="" title="{{ item.regionName }}">
|
||||||
|
<li class="liste_antennes list-group-item" style="background-color:#8fbc8f;padding: .2rem 1.25rem;">
|
||||||
|
► {{ item.antenneName }}
|
||||||
|
</li>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% set antenne = item.antenneName %}
|
||||||
|
{% set region = item.regionName %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
<p></p>
|
||||||
{% if (role == '0' or role == '1' or role == '2') %}
|
{% if (role == '0' or role == '1' or role == '2') %}
|
||||||
<h4>Liste des utilisateurs</h4>
|
<h4>Liste des utilisateurs</h4>
|
||||||
|
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
{% for user in liste_users %}
|
{% for item2 in liste_users_suivi %}
|
||||||
<a style="color:black;" href="" title="{{ user.username }}">
|
<a style="color:black;" href="{{ path('dashboard.user',{user:item2.username}) }}" title="{{ item2.username }}">
|
||||||
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
|
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
|
||||||
{{ user.username }}
|
{{ item2.username }}
|
||||||
|
{% set antenne_suivie = item2.suiviantenne|split('|') %}
|
||||||
|
{% for antenn in antenne_suivie %}
|
||||||
|
{% for item in listeAntennes %}
|
||||||
|
{% if (item.id == antenn) %}
|
||||||
|
- {{ item.antenneName }}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
</li>
|
</li>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -56,4 +101,5 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{{ widgets | raw }}
|
{{ widgets | raw }}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -0,0 +1,63 @@
|
||||||
|
{% extends 'layout.twig' %}
|
||||||
|
|
||||||
|
{% block title "Ğ1-Marché - Tableau de bord User" %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<div class="container" style="color:floralwhite;background-color: #333333;padding: 1rem;">
|
||||||
|
<div class="container tab-de-bord">
|
||||||
|
<h3 style="display:inline-block;">Tableau de bord User - {{ username }}</h3>
|
||||||
|
</div>
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
|
||||||
|
<form action="" method="post">
|
||||||
|
<button class="btn btn-primary">Désactiver l'utilisateur</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</ul>
|
||||||
|
<p></p>
|
||||||
|
<h4>Profil</h4>
|
||||||
|
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
|
||||||
|
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
|
||||||
|
<form action="" method="post">
|
||||||
|
<!-- csrf_input() -->
|
||||||
|
{{ field('firstname', profil_user.firstname, 'Prénom') }}
|
||||||
|
{{ field('lastname', profil_user.lastname, 'Nom') }}
|
||||||
|
Adresse mail {{ profil_user.email }}<p></p>
|
||||||
|
Clé publique {{ profil_user.pubkey }}
|
||||||
|
<p></p>
|
||||||
|
<button class="btn btn-primary">Modifier les informations</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
|
||||||
|
<form action="" method="post">
|
||||||
|
<button class="btn btn-primary">Renvoyer un mot de passe</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</ul>
|
||||||
|
<p></p>
|
||||||
|
<h4>Liste des antennes suivies</h4>
|
||||||
|
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
<li class="liste_antennes list-group-item" style="color:black;padding: .2rem 1.25rem;">
|
||||||
|
{% set antenne_suivie = profil_user.suiviantenne|split('|') %}
|
||||||
|
{% for antenne in antenne_suivie %}
|
||||||
|
{% for item in listeAntennes %}
|
||||||
|
{% if (item.id == antenne) %}
|
||||||
|
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
|
||||||
|
<a style="color:black;" href="" title="{{ item.antenneName }}">
|
||||||
|
{{ item.antenneName }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
|
@ -26,13 +26,17 @@
|
||||||
{% if name_user != '' %}
|
{% if name_user != '' %}
|
||||||
<form method="post" style="margin-top:5px;" action="{{ path('account.profil') }}">
|
<form method="post" style="margin-top:5px;" action="{{ path('account.profil') }}">
|
||||||
<span><img src="\avatar_user.png" width="22" height="22" /></span>
|
<span><img src="\avatar_user.png" width="22" height="22" /></span>
|
||||||
<button style="color:white;font-size: 14px;" class="btn-primary">{{ name_user }}</button>
|
<button style="color:white;font-size: 14px;" class="btn-primary">user = {{ name_user }}</button>
|
||||||
|
<button style="color:white;font-size: 14px;" class="btn-primary">user2 = {{ name_user2 }}</button>
|
||||||
</form>
|
</form>
|
||||||
<form method="post" action="{{ path('auth.logout') }}">
|
<form method="post" action="{{ path('auth.logout') }}">
|
||||||
<!-- csrf_input() }}-->
|
<!-- csrf_input() }}-->
|
||||||
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
|
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
<span style="color:white;">
|
||||||
|
name_user = {{ name_user }}
|
||||||
|
name_user2 = {{ name_user2 }}</span>
|
||||||
<div class="nav-item" id="bouton-connexion">
|
<div class="nav-item" id="bouton-connexion">
|
||||||
<button style="color:white; font-size: 14px;" class="btn btn-primary" data-toggle="modal" data-target="#connexion_modal">Se connecter</button>
|
<button style="color:white; font-size: 14px;" class="btn btn-primary" data-toggle="modal" data-target="#connexion_modal">Se connecter</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -52,7 +52,7 @@ class ForbiddenMiddleware implements MiddlewareInterface
|
||||||
public function redirectLogin(ServerRequestInterface $request): ResponseInterface
|
public function redirectLogin(ServerRequestInterface $request): ResponseInterface
|
||||||
{
|
{
|
||||||
$this->session->set('auth.redirect', $request->getUri()->getPath());
|
$this->session->set('auth.redirect', $request->getUri()->getPath());
|
||||||
(new FlashService($this->session))->error('Vous devez posséder un compte pour accéder à cette page');
|
//(new FlashService($this->session))->error('Vous devez posséder un compte pour accéder à cette page');
|
||||||
return new RedirectResponse($this->loginPath);
|
return new RedirectResponse($this->loginPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,12 @@ class ContactAction
|
||||||
}
|
}
|
||||||
if (isset($_SESSION['user'])) {
|
if (isset($_SESSION['user'])) {
|
||||||
$nom_user = $_SESSION['user'];
|
$nom_user = $_SESSION['user'];
|
||||||
|
$role = $_SESSION['role'];
|
||||||
} else {
|
} else {
|
||||||
$nom_user = '';
|
$nom_user = '';
|
||||||
|
$role = '3';
|
||||||
}
|
}
|
||||||
return $this->renderer->render('@contact/contact',compact('nom_user'));
|
return $this->renderer->render('@contact/contact',compact('nom_user','role'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,14 +3,6 @@
|
||||||
{% block title "Ğ1-Marché - Contact" %}
|
{% block title "Ğ1-Marché - Contact" %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<style>
|
<style>
|
||||||
/*body .fond {
|
|
||||||
background-image: url("../../images/background_contacts.jpg");
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-attachment:fixed;
|
|
||||||
background-position: center;
|
|
||||||
background-size: 100% auto;
|
|
||||||
font-family: Bree serif,"Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
||||||
}*/
|
|
||||||
.main {
|
.main {
|
||||||
width: 900px;
|
width: 900px;
|
||||||
font-family: "Bree Serif", Arial;
|
font-family: "Bree Serif", Arial;
|
||||||
|
@ -91,6 +83,7 @@
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="main" style="background:none;">
|
<div class="main" style="background:none;">
|
||||||
|
nom_user = {{ nom_user }}
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<img class="img_header" src="/images/logo_contacts.jpg" style="width: 294px;height: 294px;" alt="Ğ1-Marché" title="Logo Contact" />
|
<img class="img_header" src="/images/logo_contacts.jpg" style="width: 294px;height: 294px;" alt="Ğ1-Marché" title="Logo Contact" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,7 +12,6 @@ class AntenneTable extends Table
|
||||||
|
|
||||||
protected $table = 'antennes';
|
protected $table = 'antennes';
|
||||||
|
|
||||||
|
|
||||||
public function findAllbyRegion(int $region_id): Query
|
public function findAllbyRegion(int $region_id): Query
|
||||||
{
|
{
|
||||||
$region = new RegionTable($this->pdo);
|
$region = new RegionTable($this->pdo);
|
||||||
|
@ -22,22 +21,12 @@ class AntenneTable extends Table
|
||||||
->where("a.region_id = $region_id")
|
->where("a.region_id = $region_id")
|
||||||
->order('a.name ASC');
|
->order('a.name ASC');
|
||||||
}
|
}
|
||||||
/* public function getAntenne(string $antenne_slug): Query
|
public function findAllAntennes(): Query
|
||||||
{
|
{
|
||||||
//$antenne = new AntenneTable($this->pdo);
|
$region = new RegionTable($this->pdo);
|
||||||
return $this->makeQuery()
|
return $this->makeQuery()
|
||||||
->select('a.*')
|
->join($region->getTable() . ' as r', 'a.region_id = r.id')
|
||||||
->where("a.slug = $antenne_slug")
|
->select('a.id, r.name as regionName, a.name as antenneName')
|
||||||
->order('a.name ASC');
|
->order('r.name, a.name ASC');
|
||||||
}
|
}
|
||||||
public function findPublic(): Query
|
|
||||||
{
|
|
||||||
return $this->findAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public function findWithAntenne(int $antenne_slug): Antenne
|
|
||||||
{
|
|
||||||
return $this->findPublic()->where("a.slug = $antenne_slug")->fetch();
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,13 +46,14 @@
|
||||||
</li>
|
</li>
|
||||||
{% if role=='0' or role=='1' or role=='2' %}
|
{% if role=='0' or role=='1' or role=='2' %}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if admin %} active{% endif %}" style="font-size:14px;"
|
<a class="nav-link {% if explodeUrl()[1]=='dashboard' %} active{% endif %}" style="font-size:14px;"
|
||||||
href="{{ path('admin') }}">Administration</a>
|
href="{{ path('dashboard') }}">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if explodeUrl()[1]=='contact' %} active{% endif %}" style="font-size:14px;"
|
<a class="nav-link {% if explodeUrl()[1]=='contact' %} active{% endif %}" style="font-size:14px;"
|
||||||
href="{{ path('contact') }}">Qui sommes-nous ?</a>
|
href="{{ path('contact') }}">Qui sommes-nous ?
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="navbar-nav">
|
<div class="navbar-nav">
|
||||||
|
|
Loading…
Reference in New Issue