get('user'); // Si le rôle est CONSEIL → voir toutes les demandes "En attente" if ($users["group_name"] === "Conseil") { return $this->where('demande_status', 'En attente') ->orderBy('date_demande', 'DESC') ->findAll(); } // Si le rôle est DIRECTION → voir toutes les demandes aussi (pas filtrées par magasin) if ($users["group_name"] === "Direction") { return $this->orderBy('date_demande', 'DESC') ->findAll(); } // Autres rôles (Caissière, etc.) → voir uniquement celles de son magasin return $this->where('id_store', $users['store_id']) ->orderBy('date_demande', 'DESC') ->findAll(); } catch (\Exception $e) { log_message('error', 'Erreur lors de la récupération des demandes du jour : ' . $e->getMessage()); return []; } } public function addDemande(array $data) { try { return $this->insert($data); } catch (\Exception $e) { log_message('error', 'Erreur lors de l\'ajout de la demande de remise : ' . $e->getMessage()); return false; } } public function getRemiseData1(int $remise_id) { return $this->select('montant_demande, id_order') ->where('id_demande', $remise_id) ->first(); } /** * Récupère l'ID de la commande associée à une demande de remise * @param int $id_demande * @return int|null */ public function getOrderIdByDemandeId(int $id_demande): ?int { $result = $this->select('id_order') ->where('id_demande', $id_demande) ->first(); return $result['id_order'] ?? null; } public function updateRemise($id, $data) { if ($id <= 0) { log_message('error', 'ID invalide pour la mise à jour de la demande : ' . $id); return false; } try { // Mettre à jour uniquement les données de la demande de remise // On ne touche PAS aux montants de la commande ici $updateResult = $this->update($id, $data); return $updateResult; } catch (\Exception $e) { log_message('error', 'Erreur lors de la mise à jour de la demande : ' . $e->getMessage()); return false; } } public function getProductByDemandeId(int $id_demande): ?string { $row = $this->select('product') ->where('id_demande', $id_demande) ->first(); return $row['product'] ?? null; } public function updateRemise1(int $id, $data) { $existing = $this->where('id_order', $id)->first(); if ($existing) { // Mise à jour $this->update($existing['id_demande'], $data); return "Remise mise à jour avec succès."; } else { // Création $this->insert($data); return "Nouvelle remise créée avec succès."; } } }