mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
implementado pestaña clientes en usuarios
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
<?php
|
||||
namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\BaseResourceController;
|
||||
@ -40,6 +41,59 @@ class Clienteusuarios extends \App\Controllers\BaseResourceController
|
||||
parent::initController($request, $response, $logger);
|
||||
}
|
||||
|
||||
public function removeClienteFromUser($user_id)
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
if (intval($user_id) > 0) {
|
||||
$this->model->removeClienteFromUser($user_id);
|
||||
return $this->respond(['status' => 'success', 'msg' => 'Usuario eliminado correctamente']);
|
||||
}
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function addUserToClient(){
|
||||
|
||||
if ($this->request->isAJAX()) {
|
||||
$user_id = $this->request->getPost("user_id");
|
||||
$cliente_id = $this->request->getPost("cliente_id");
|
||||
if (intval($user_id) > 0 && intval($cliente_id) > 0) {
|
||||
$this->model->addUserToClient($user_id, $cliente_id);
|
||||
return $this->respond(['status' => 'success', 'msg' => 'Usuario añadido correctamente']);
|
||||
}
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function getAvailableUsers()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
$query = $this->model->builder()->select(
|
||||
[
|
||||
"id",
|
||||
"CONCAT(first_name, ' ', last_name) as name"
|
||||
]
|
||||
)
|
||||
->where("deleted_at", null)
|
||||
->where("cliente_id", null);
|
||||
|
||||
if ($this->request->getGet("q")) {
|
||||
$column = "CONCAT(first_name, ' ', last_name)";
|
||||
$value = $this->request->getGet("q");
|
||||
$query->groupStart()
|
||||
->where("LOWER(CONVERT($column USING utf8)) COLLATE utf8_general_ci LIKE", "%" . strtolower($value) . "%")
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
$items = $query->get()->getResultObject();
|
||||
return $this->response->setJSON($items);
|
||||
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function datatable()
|
||||
@ -53,14 +107,19 @@ class Clienteusuarios extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
$start = $reqData['start'] ?? 0;
|
||||
$length = $reqData['length'] ?? 5;
|
||||
$search = $reqData['search']['value'];
|
||||
$requestedOrder = $reqData['order']['0']['column'] ?? 1;
|
||||
$order = ClienteUsuariosModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
|
||||
$dir = $reqData['order']['0']['dir'] ?? 'asc';
|
||||
|
||||
$requestedOrder = $reqData['order'] ?? [];
|
||||
$id_C = $reqData['id_cliente'] ?? -1;
|
||||
|
||||
$resourceData = $this->model->getResource("", $id_C)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
|
||||
$resourceData = $this->model->getResource("", $id_C);
|
||||
foreach ($requestedOrder as $order) {
|
||||
$column = $order['column'] ?? 0;
|
||||
$dir = $order['dir'] ?? 'asc';
|
||||
$orderColumn = ClienteUsuariosModel::SORTABLE[$column] ?? null;
|
||||
if ($orderColumn) {
|
||||
$resourceData->orderBy($orderColumn, $dir);
|
||||
}
|
||||
}
|
||||
$resourceData = $resourceData->limit($length, $start)->get()->getResultObject();
|
||||
|
||||
return $this->respond(Collection::datatable(
|
||||
$resourceData,
|
||||
|
||||
Reference in New Issue
Block a user