Revision facturas en vista cliente

This commit is contained in:
unknown
2025-04-03 22:09:28 +02:00
parent c9e655ca82
commit 92f7d30c99
4 changed files with 37 additions and 13 deletions

View File

@ -63,7 +63,7 @@ class Facturas extends \App\Controllers\BaseResourceController
public function list()
{
checkPermission('facturas.menu');
checkGroups(['admin', 'cliente-admin', 'cliente-editor', 'contabilidad']);
$viewData = [
'currentModule' => static::$controllerSlug,

View File

@ -120,3 +120,37 @@ if (!function_exists('checkPermission')) {
}
}
if (!function_exists('checkGroups')) {
/**
* Verifica si el usuario pertenece a alguno de los grupos especificados.
*
* @param array $groups Lista de grupos permitidos.
* @param string|null $redirectRoute Ruta de redirección si no pertenece a ningún grupo.
* @return \CodeIgniter\HTTP\RedirectResponse|null
*/
function checkGroups(array $groups, string $redirectRoute = null)
{
$session = \Config\Services::session();
$response = \Config\Services::response();
$auth = auth(); // Shield auth service
$user = $auth->user();
$inGroup = false;
foreach ($groups as $group) {
if ($user->inGroup($group)) {
$inGroup = true;
break;
}
}
if (!$inGroup) {
$session->setFlashdata('errorMessage', 'No tiene permisos de acceso.');
$route = $redirectRoute ?? 'home';
return $response->redirect(route_to($route));
}
return null;
}
}

View File

@ -12,15 +12,10 @@ if (auth()->user()->inGroup('cliente-admin') || auth()->user()->inGroup('cliente
</a>
<ul class="menu-sub">
<li class="menu-item">
<a href="<?= site_url("facturas/list") ?>" class="menu-link">
<a href="<?= route_to('facturasList') ?>" class="menu-link">
<?= lang("App.menu_facturas") ?>
</a>
</li>
<li class="menu-item">
<a href="<?= site_url("facturas/albaranes") ?>" class="menu-link">
<?= lang("App.menu_albaran") ?>
</a>
</li>
</ul>
</li>
<?php } ?>

View File

@ -19,7 +19,7 @@ if (auth()->user()->can('facturas.menu')) {
</li>
<?php endif; ?>
<li class="menu-item">
<a href="<?= site_url("facturas/list") ?>" class="menu-link">
<a href="<?= route_to('facturasList') ?>" class="menu-link">
<?= lang("App.menu_facturas") ?>
</a>
</li>
@ -30,11 +30,6 @@ if (auth()->user()->can('facturas.menu')) {
</a>
</li>
<?php endif; ?>
<li class="menu-item">
<a href="<?= site_url("facturas/albaranes") ?>" class="menu-link">
<?= lang("App.menu_albaran") ?>
</a>
</li>
</ul>
</li>
<?php } ?>