motorbike/app/Models/Securite.php
andrymodeste a195d24e78 feat: refonte gestion commandes, sécurité, impressions et notifications
## Gestion Moto & Commandes
- Correction des notifications pour la Caissière
- Le bouton "Enregistrer" changé en "Payer"
- La moto commandée reste visible dans la liste jusqu'à livraison par la sécurité

## Espace Sécurité
- Ajout des notifications de livraison
- Transfert vers l'espace commande après livraison

## Espace SuperAdmin
- Rejet de commande : le produit redevient disponible en stock automatiquement
- Correction de la gestion des rôles (permissions inversées)
- Avance complète : s'affiche directement chez la Caissière

## Historique des Actions
- Ajout de l'historique des actions pour SuperAdmin (traçabilité)

## Dashboard
- Filtre par date ajouté (par défaut : aujourd'hui)
- Affichage uniquement des données du site concerné

## Espace Commercial
- Liste des produits disponibles sur la liste déroulante dans l'ajout des commandes
- Le bouton "+" se cache après le premier clic pour les clients particuliers

## Impression Documents
- Refonte facture, bon de livraison, facture d'acompte (QR codes, infos dynamiques)

## Sidebar
- Correction des animations et du logo dynamique

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 07:28:05 +02:00

108 lines
2.2 KiB
PHP

<?php
namespace App\Models;
use CodeIgniter\Model;
class Securite extends Model
{
/**
* table name
* @var string
*/
protected $table = 'securite';
protected $primaryKey = 'id'; // Primary key column
protected $allowedFields = ['product_id', 'bill_no', 'store_id', 'status', 'date', 'active'];
/**
* To get store data by ID
* @param int $id
* @return array|object|null
*/
public function getSecuriteData(int $id = null)
{
if ($id) {
return $this->where('id', $id)->first();
}
return $this->findAll();
}
public function getAllSecuriteData(int $id = null)
{
$session = session();
$users = $session->get('user');
if ($users["group_name"] == "Direction" || $users["group_name"] == "SuperAdmin" || $users["group_name"] == "DAF") {
return $this->where('active', true)
->findAll();
}
return $this->where('active', true)
->where('store_id', $users['store_id'])->findAll();
}
/**
* create store
* @param array $data
* @return bool|int|string
*/
public function createStore(array $data)
{
if ($data) {
return $this->insert($data);
}
return false;
}
/**
* update stores
* @param array $data
* @param int $id
* @return bool
*/
public function updateSecurite(array $data, int $id)
{
if ($data && $id) {
return $this->update($id, $data);
}
return false;
}
/**
* remove store
* @param int $id
* @return bool|\CodeIgniter\Database\BaseResult
*/
public function removeSecurite(int $id)
{
if ($id) {
return $this->where("product_id", $id)->delete();
}
return false;
}
public function removeStore(int $id)
{
if ($id) {
return $this->delete($id);
}
return false;
}
/**
* count total store
* @return int|string
*/
public function countTotalStores()
{
return $this->where('active', 1)->countAllResults();
}
}