verifyRole('viewBrand');
$data['page_title'] = $this->pageTitle;
$Brands = new Brands();
$result = $Brands->getBrandData();
$data['results'] = $result;
// die(var_dump($data));
return $this->render_template('brands/index', $data);
}
public function fetchBrandData()
{
$result = ['data' => []];
// Load the model
$brandModel = new Brands();
$data = $brandModel->getBrandData();
// Loop through the data
foreach ($data as $key => $value) {
// Action buttons
$buttons = '';
// Check permissions
if (in_array('viewBrand', $this->permission)) {
$buttons .= '';
}
if (in_array('deleteBrand', $this->permission)) {
$buttons .= ' ';
}
// Status
$status = ($value['active'] == 1)
? 'Active'
: 'Inactive';
// Prepare the data for DataTable
$result['data'][$key] = [
$value['name'],
$status,
$buttons,
];
}
// Return as JSON response
return $this->response->setJSON($result);
}
public function create()
{
$this->verifyRole('createBrand');
$response = [];
// Set validation rules
$validation = \Config\Services::validation();
$validation->setRules([
'brand_name' => 'required',
'active' => 'required',
]);
$validationData = [
'brand_name' => $this->request->getPost('brand_name'),
'active' => $this->request->getPost('active'),
];
$Brands = new Brands();
if ($validation->run($validationData)) {
$data = [
'name' => $this->request->getPost('brand_name'),
'active' => $this->request->getPost('active'),
];
if ($Brands->create($data)) {
$response['success'] = true;
$response['messages'] = 'Créé avec succès';
} else {
$response['success'] = false;
$response['messages'] = 'Erreur dans la base de données lors de la création des informations sur la marque';
}
} else {
$response['success'] = false;
$response['messages'] = $validation->getErrors();
}
return $this->response->setJSON($response);
}
public function fetchBrandDataById(int $id)
{
$Brands = new Brands();
if ($id) {
$data = $Brands->getBrandData($id);
return $this->response->setJSON($data);
}
}
public function update(int $id)
{
$this->verifyRole('updateBrand');
$response = [];
if ($id) {
// Set validation rules
$validation = \Config\Services::validation();
$validation->setRules([
'edit_brand_name' => 'required',
'edit_active' => 'required',
]);
$validationData = [
'edit_brand_name' => $this->request->getPost('edit_brand_name'),
'edit_active' => $this->request->getPost('edit_active'),
];
$Brands = new Brands();
if ($validation->run($validationData)) {
$data = [
'name' => $this->request->getPost('edit_brand_name'),
'active' => $this->request->getPost('edit_active'),
];
if ($Brands->updateBrand($data, $id)) {
$response['success'] = true;
$response['messages'] = 'Mis à jour avec succès';
} else {
$response['success'] = false;
$response['messages'] = 'Erreur dans la base de données lors de la mise à jour des informations sur la marque';
}
} else {
$response['success'] = false;
$response['messages'] = $validation->getErrors();
}
} else {
$response['success'] = false;
$response['messages'] = 'Erreur, veuillez actualiser la page à nouveau !!';
}
return $this->response->setJSON($response);
}
public function remove()
{
$this->verifyRole('deleteBrand');
$response = [];
$brand_id = $this->request->getPost('brand_id');
if ($brand_id) {
$Brands = new Brands();
if ($Brands->delete($brand_id)) {
$response['success'] = true;
$response['messages'] = "Supprimé avec succès";
} else {
$response['success'] = false;
$response['messages'] = "Erreur dans la base de données lors de la suppression des informations sur la marque";
}
} else {
$response['success'] = false;
$response['messages'] = "Référez à nouveau la page !!";
}
return $this->response->setJSON($response);
}
}