Fix: Hive sync et update entité via API REST
- Correction mapping JSON membres (fk_role, chk_active) - Ajout traitement amicale au login - Fix callback onSubmit pour sync Hive après update API
This commit is contained in:
@@ -386,9 +386,10 @@ class EntiteController {
|
||||
* Met à jour une entité existante avec les données fournies
|
||||
* Seuls les administrateurs (rôle > 2) peuvent modifier certains champs
|
||||
*
|
||||
* @param string $id ID de l'entité depuis l'URL
|
||||
* @return void
|
||||
*/
|
||||
public function updateEntite(): void {
|
||||
public function updateEntite(string $id = null): void {
|
||||
try {
|
||||
// Vérifier l'authentification et les droits d'accès
|
||||
$userId = Session::getUserId();
|
||||
@@ -419,7 +420,10 @@ class EntiteController {
|
||||
// Récupérer les données de la requête
|
||||
$data = Request::getJson();
|
||||
|
||||
if (!isset($data['id']) || empty($data['id'])) {
|
||||
// Priorité à l'ID de l'URL, sinon utiliser celui du JSON
|
||||
$entiteId = $id ? (int)$id : (isset($data['id']) ? (int)$data['id'] : null);
|
||||
|
||||
if (!$entiteId) {
|
||||
Response::json([
|
||||
'status' => 'error',
|
||||
'message' => 'ID de l\'entité requis'
|
||||
@@ -427,8 +431,6 @@ class EntiteController {
|
||||
return;
|
||||
}
|
||||
|
||||
$entiteId = (int)$data['id'];
|
||||
|
||||
// Récupérer les données actuelles de l'entité pour vérifier si l'adresse a changé
|
||||
$stmt = $this->db->prepare('SELECT adresse1, adresse2, code_postal, ville FROM entites WHERE id = ?');
|
||||
$stmt->execute([$entiteId]);
|
||||
|
||||
@@ -43,6 +43,7 @@ class Router {
|
||||
$this->get('entites', ['EntiteController', 'getEntites']);
|
||||
$this->get('entites/:id', ['EntiteController', 'getEntiteById']);
|
||||
$this->get('entites/postal/:code', ['EntiteController', 'getEntiteByPostalCode']);
|
||||
$this->put('entites/:id', ['EntiteController', 'updateEntite']);
|
||||
|
||||
// Routes villes
|
||||
$this->get('villes', ['VilleController', 'searchVillesByPostalCode']);
|
||||
@@ -187,7 +188,8 @@ class Router {
|
||||
error_log("Routes disponibles pour $method: " . implode(', ', array_keys($this->routes[$method])));
|
||||
|
||||
foreach ($this->routes[$method] as $route => $handler) {
|
||||
$pattern = preg_replace('/{[^}]+}/', '([^/]+)', $route);
|
||||
// Correction: utiliser :param au lieu de {param}
|
||||
$pattern = preg_replace('/:([^\/]+)/', '([^/]+)', $route);
|
||||
$pattern = "@^" . $pattern . "$@D";
|
||||
error_log("Test pattern: $pattern contre uri: $uri");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user