Avancement sur la gestion du suivi Antennes. Ajout de la checkbox dans Produits
This commit is contained in:
parent
0ab166726c
commit
bd626f62e5
|
@ -197,6 +197,21 @@ function UpdateProduitsDetails(nom_connecte) {
|
|||
}
|
||||
);
|
||||
}
|
||||
function UpdateSuiviAntenne(id_connecte, id_antenne, etat_suivi) {
|
||||
|
||||
|
||||
$.post("/models/updateSuiviAntenne.php", {
|
||||
id_connecte: id_connecte,
|
||||
id_antenne: id_antenne,
|
||||
etat_suivi: etat_suivi
|
||||
},
|
||||
function (data, status) {
|
||||
|
||||
// On recharge la page pour tenir compte de la connexion de l'utilisateur
|
||||
//window.location.reload(true);
|
||||
}
|
||||
);
|
||||
}
|
||||
function UpdateRecherchesDetails(nom_connecte) {
|
||||
|
||||
var produit = $("#update_produit").val();
|
||||
|
@ -227,6 +242,7 @@ function UpdateRecherchesDetails(nom_connecte) {
|
|||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
//$('input:checkbox[name=mybox]').attr('checked',false);
|
||||
// On récupère le nom de l'antenne dans l'url pour afficher les biens/services de celle-ci
|
||||
var url = document.location.href;
|
||||
var antenne_slug = url.split('/')[5];
|
||||
|
|
|
@ -19,6 +19,7 @@ try {
|
|||
|
||||
if (password_verify($_POST['mdp'],$row['password'])) {
|
||||
$_SESSION['connecte'] = $row['username'];
|
||||
$_SESSION['role'] = $row['role'];
|
||||
$_SESSION['logout'] = false;
|
||||
echo '{"valide":true,"username":"'.$row['username'].'"}';
|
||||
} else {
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
include '../../config/config.php';
|
||||
|
||||
$bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password);
|
||||
|
||||
if(isset($_POST)) {
|
||||
$params["user_id"] = $_POST['id_connecte'];
|
||||
$antenne_id = $_POST['id_antenne'];
|
||||
$etat_suivi = $_POST['etat_suivi'];
|
||||
$maj = true;
|
||||
// On lit le champ SuiviAntenne
|
||||
$requete1 = "SELECT suiviantenne FROM users WHERE id = :user_id";
|
||||
$query1 = $bdd->prepare($requete1);
|
||||
$ancien_suivi = $query1->execute($params);
|
||||
$suivi = $ancien_suivi;
|
||||
//echo "ancien=".$ancien_suivi;
|
||||
/*if (strpos($ancien_suivi,'|')>0) {
|
||||
echo "strpos > 0";
|
||||
$tableau = explode('|', $ancien_suivi);
|
||||
$antennes_suivies = '';
|
||||
// On ajoute l'antenne suivie
|
||||
if ($etat_suivi == 'true') {
|
||||
if (count($tableau) > 0) {
|
||||
foreach ($valeur as $tableau) {
|
||||
$antennes_suivies .= $valeur.'|';
|
||||
}
|
||||
$antennes_suivies .= $antenne_id;
|
||||
}
|
||||
} else {
|
||||
// On retire l'antenne qui n'est plus suivie
|
||||
foreach($valeur2 as $tableau) {
|
||||
if ($valeur2 == $antenne_id) {
|
||||
$ajout = '';
|
||||
} else {
|
||||
$ajout = $valeur2.'|';
|
||||
}
|
||||
$antennes_suivies .= $ajout;
|
||||
}
|
||||
// On supprime le pipe inutile à la fin de la chaîne
|
||||
$antennes_suivies = substr($antennes_suivies,0,-1);
|
||||
}*/
|
||||
// On ajoute alors qu'il n'y a qu'une antenne dans le suivi ou aucune
|
||||
if ($etat_suivi == 'true') {
|
||||
if ($suivi == $antenne_id) {
|
||||
echo "suivi 1 =".$suivi;
|
||||
echo "<br />antenne_id =".$antenne_id;
|
||||
$antennes_suivies = $antenne_id;
|
||||
} elseif ($suivi != $antenne_id) {
|
||||
echo "suivi 2 =".$suivi;
|
||||
echo "<br />antenne_id =".$antenne_id;
|
||||
$antennes_suivies = $suivi . '|' . $antenne_id;
|
||||
}
|
||||
}
|
||||
if ($etat_suivi == 'true') {
|
||||
if ($suivi == '') {
|
||||
echo "suivi 0 =" . $suivi;
|
||||
echo "<br />antenne_id =" . $antenne_id;
|
||||
$antennes_suivies = $antenne_id;
|
||||
}
|
||||
}
|
||||
if ($etat_suivi == 'false') {
|
||||
if ($suivi != $antenne_id) {
|
||||
echo "ERREUR 4 =" . $suivi;
|
||||
echo "<br />antenne_id =" . $antenne_id;
|
||||
//$antennes_suivies = $suivi . '|' . $antenne_id;
|
||||
$maj = false;
|
||||
} elseif ($suivi == $antenne_id) {
|
||||
echo "suivi 3 =".$suivi;
|
||||
echo "<br />antenne_id =".$antenne_id;
|
||||
$antennes_suivies = '';
|
||||
} elseif ($suivi == '') {
|
||||
echo "suivi 5 =" . $suivi;
|
||||
echo "<br />antenne_id =" . $antenne_id;
|
||||
$antennes_suivies = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Mise à jour du champ SuiviAntenne
|
||||
if ($maj) {
|
||||
$requete2 = "UPDATE users SET suiviantenne = '$antennes_suivies' WHERE id = :user_id";
|
||||
$query2 = $bdd->prepare($requete2);
|
||||
$query2->execute($params);
|
||||
$query2->closeCursor();
|
||||
}
|
||||
$query1->closeCursor();
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
namespace App\Account\Action;
|
||||
|
||||
use App\Auth\UserTable;
|
||||
use App\Gmarche\Table\AntenneTable;
|
||||
use Framework\Auth;
|
||||
use Framework\Renderer\RendererInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
|
@ -24,19 +25,24 @@ class ProfilAction
|
|||
|
||||
public function __construct(
|
||||
RendererInterface $renderer,
|
||||
AntenneTable $antenneTable,
|
||||
Auth $auth,
|
||||
UserTable $userTable
|
||||
) {
|
||||
$this->renderer = $renderer;
|
||||
$this->antenneTable = $antenneTable;
|
||||
$this->auth = $auth;
|
||||
$this->userTable = $userTable;
|
||||
}
|
||||
|
||||
public function __invoke(ServerRequestInterface $request)
|
||||
{
|
||||
$listeAntennes = $this->antenneTable->findAllAntennes();
|
||||
$user_affiche = $request->getAttribute('user')->username;
|
||||
$nom_avatar = $request->getAttribute('user')->avatar;
|
||||
$email = $request->getAttribute('user')->email;
|
||||
return $this->renderer->render('@account/profil', compact('user_affiche', 'nom_avatar', 'email'));
|
||||
$suiviantenne = $request->getAttribute('user')->suiviantenne;
|
||||
return $this->renderer->render('@account/profil',
|
||||
compact('user_affiche', 'nom_avatar', 'email', 'listeAntennes', 'suiviantenne'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,6 @@ class SignupAction
|
|||
$validator = (new Validator($params))
|
||||
->required('username', 'pubkey', 'email', 'password', 'password_confirm', 'created_at')
|
||||
->length('username', 3)
|
||||
->length('pubkey', 43)
|
||||
->length('firstname', 0)
|
||||
->length('lastname', 0)
|
||||
->email('email')
|
||||
|
@ -77,7 +76,8 @@ class SignupAction
|
|||
'email' => $params['email'],
|
||||
'password' => password_hash($params['password'], PASSWORD_DEFAULT),
|
||||
'created_at' => $params['created_at'],
|
||||
'role' => 'user'
|
||||
'role' => '3',
|
||||
'suiviantenne' => ''
|
||||
];
|
||||
$this->userTable->insert($userParams);
|
||||
$user = Hydrator::hydrate($userParams, User::class);
|
||||
|
|
|
@ -17,7 +17,7 @@ class User extends \App\Auth\User
|
|||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $role;
|
||||
public $role;
|
||||
|
||||
public function getRoles(): array
|
||||
{
|
||||
|
|
|
@ -44,7 +44,18 @@
|
|||
<h5 class="card-title">Antennes suivies</h5>
|
||||
<div>
|
||||
<div class="row" style="margin-left: 2rem;">
|
||||
Paris
|
||||
<ul class="list-group list-group-flush">
|
||||
{% set antenne_suivie = suiviantenne|split('|') %}
|
||||
{% for antenn in antenne_suivie %}
|
||||
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
|
||||
{% for item in listeAntennes %}
|
||||
{% if (item.id == antenn) %}
|
||||
{{ item.antenneName }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -60,6 +60,7 @@ class LoginAttemptAction
|
|||
if ($user) {
|
||||
$this->test_user($user, $params);
|
||||
$_SESSION['logout']= false;
|
||||
|
||||
return $this->renderer->render('@gmarche/index');
|
||||
} else {
|
||||
(new FlashService($this->session))->error('Identifiant ou mot de passe incorrect');
|
||||
|
@ -83,6 +84,8 @@ class LoginAttemptAction
|
|||
$this->session->set('username',$params['username']);
|
||||
$this->session->set('role',$role);
|
||||
}
|
||||
$_SESSION['connecte'] = $params['username'];
|
||||
$_SESSION['role'] = $role;
|
||||
//$this->renderer->addGlobal('user', $user);
|
||||
//$this->renderer->addGlobal('role', $role);
|
||||
|
||||
|
|
|
@ -41,28 +41,24 @@ class LoggedInMiddleware implements MiddlewareInterface
|
|||
|
||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface
|
||||
{
|
||||
$url_part = explode('/',$request->getServerParams()['HTTP_REFERER'] ?? '/');
|
||||
$username = $url_part[5];
|
||||
if (!$_SESSION['logout']) {
|
||||
// echo "logout = false";
|
||||
// die();
|
||||
$user = $request->getAttribute('user');
|
||||
if ($user != '' && $user != '---') {
|
||||
$_SESSION['connecte']=$user;
|
||||
} else {
|
||||
// echo "logout = true";
|
||||
// die();
|
||||
}
|
||||
$url_part = explode('/', $request->getServerParams()['HTTP_REFERER'] ?? '/');
|
||||
$username = $url_part[5];
|
||||
|
||||
if (!$_SESSION['logout']) {
|
||||
if (is_null($username)) {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $request->getAttribute('user'));
|
||||
} else {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username);
|
||||
if (!$_SESSION['logout']) {
|
||||
if (is_null($username)) {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $request->getAttribute('user'));
|
||||
} else {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username);
|
||||
}
|
||||
}
|
||||
if (is_null($user) or $_SESSION['logout']) {
|
||||
(new FlashService($this->session))->error('Vous devez vous connecter pour accéder à cette page');
|
||||
return new RedirectResponse($this->router->generateUri('auth.login'));
|
||||
}
|
||||
}
|
||||
// var_dump($user);
|
||||
// die();
|
||||
if (is_null($user) or $_SESSION['logout']) {
|
||||
(new FlashService($this->session))->error('Vous devez vous connecter pour accéder à cette page');
|
||||
return new RedirectResponse($this->router->generateUri('auth.login'));
|
||||
}
|
||||
return $delegate->process($request->withAttribute('user', $user));
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
namespace Framework\Auth;
|
||||
if (!isset($_SESSION)) {
|
||||
session_start();
|
||||
}
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
|
||||
use App\Auth\UserTable;
|
||||
|
@ -35,10 +38,6 @@ class LoginModalMiddleware implements MiddlewareInterface
|
|||
$this->router = $router;
|
||||
$this->userTable = $userTable;
|
||||
$this->session = $session;
|
||||
//$this->session->set('username','nox');
|
||||
//$this->session->set('passage_login_modal',"fait");
|
||||
//var_dump($this->session);
|
||||
// die();
|
||||
}
|
||||
|
||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface
|
||||
|
@ -56,7 +55,9 @@ class LoginModalMiddleware implements MiddlewareInterface
|
|||
return new RedirectResponse($this->router->generateUri('auth.login'));
|
||||
} else {
|
||||
$this->session->set('username',$user->username);
|
||||
$this->session->set('passage_login_modal',"fait");
|
||||
$this->session->set('role',$user->role);
|
||||
$_SESSION['connecte'] = $user->username;
|
||||
$_SESSION['role'] = $user->role;
|
||||
}
|
||||
return $delegate->process($request->withAttribute('user', $user));
|
||||
}
|
||||
|
|
|
@ -26,21 +26,13 @@ class RegionIndexAction
|
|||
}
|
||||
public function __invoke(ServerRequestInterface $request)
|
||||
{
|
||||
/*$userId = $this->session->get('auth.user');
|
||||
echo "userid = ";
|
||||
var_dump($userId);*/
|
||||
if ($request->getMethod() === 'GET') {
|
||||
//$params = $request->getParsedBody();
|
||||
//var_dump($params);
|
||||
//die();
|
||||
//$role = $this->userTable->findBy('username', $params['username'])->role;
|
||||
//var_dump($role);
|
||||
//die();
|
||||
/*$userId = $this->session->get('auth.user');*/
|
||||
|
||||
if ($request->getMethod() === 'GET') {
|
||||
$accueil = true;
|
||||
|
||||
if (isset($_SESSION['user'])) {
|
||||
$nom_user = $_SESSION['user'];
|
||||
if (isset($_SESSION['connecte'])) {
|
||||
$nom_user = $_SESSION['connecte'];
|
||||
$role = $_SESSION['role'];
|
||||
} else {
|
||||
$nom_user = '';
|
||||
|
|
|
@ -47,9 +47,9 @@ class ProductIndexAction
|
|||
{
|
||||
$params = $request->getQueryParams();
|
||||
$gmarchePrefix = $this->container->get('gmarche.prefix');
|
||||
$antenne_slug =$request->getAttribute('slug');
|
||||
$region_slug =$request->getAttribute('region');
|
||||
|
||||
$antenne_slug = $request->getAttribute('slug');
|
||||
$region_slug = $request->getAttribute('region');
|
||||
//$listeAntennes = $this->antenneTable->findAllAntennes();
|
||||
$requete = $this->antenneTable->findBy('slug', $antenne_slug);
|
||||
$antenne_name = $requete->name;
|
||||
$antenne_id = $requete->id;
|
||||
|
@ -59,15 +59,20 @@ class ProductIndexAction
|
|||
$viewPath = '@product/admin/products';
|
||||
$items = $this->productTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
|
||||
|
||||
if (isset($_SESSION['connecte'])) {
|
||||
if (isset($_SESSION['connecte']) && $_SESSION['connecte'] != '---') {
|
||||
$nom_user = $_SESSION['connecte'];
|
||||
$requete_user = $this->userTable->findBy('username', $nom_user);
|
||||
$user_id = $requete_user->id;
|
||||
$suiviantenne = $requete_user->suiviantenne;
|
||||
} else {
|
||||
$nom_user = '';
|
||||
$user_id = '';
|
||||
$nom_user = '';
|
||||
$user_id = '';
|
||||
$suiviantenne = '';
|
||||
}
|
||||
|
||||
$sess = $_SESSION;
|
||||
return $this->renderer->render($viewPath.'/index', compact('sess','nom_user','user_id', 'antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' ));
|
||||
return $this->renderer->render($viewPath.'/index', compact('sess','nom_user','user_id',
|
||||
'antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath',
|
||||
'items', 'suiviantenne' ));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ class RechIndexAction
|
|||
$viewPath = '@product/admin/recherches';
|
||||
$items = $this->rechTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
|
||||
|
||||
if (isset($_SESSION['connecte'])) {
|
||||
if (isset($_SESSION['connecte']) && $_SESSION['connecte'] != '---') {
|
||||
$nom_user = $_SESSION['connecte'];
|
||||
$requete_user = $this->userTable->findBy('username', $nom_user);
|
||||
$user_id = $requete_user->id;
|
||||
|
|
|
@ -26,6 +26,27 @@
|
|||
<div class="toggle_option_slider">
|
||||
</div>
|
||||
</div>
|
||||
ant={{ antenne_id }}
|
||||
<li class="breadcrumb-item">
|
||||
<div class="custom-control custom-checkbox">
|
||||
{% set checked = '' %}
|
||||
{% set antenne_suivie = suiviantenne|split('|') %}
|
||||
{% for antenn in antenne_suivie %}
|
||||
{% if (antenn == antenne_id) %}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('input:checkbox[id=suivi]').attr('checked',true);
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<input type="checkbox" class="custom-control-input pull-right" id="suivi"
|
||||
onclick="UpdateSuiviAntenne('{{ user_id }}','{{ antenne_id }}',
|
||||
document.getElementById('suivi').checked)">
|
||||
<label class="custom-control-label" for="suivi">SUIVI</label>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue