Merge branch 'main' into fix/permisos-mensajeria-sidebar

This commit is contained in:
amazuecos
2025-04-03 20:23:02 +02:00
6 changed files with 41 additions and 15 deletions

View File

@ -21,8 +21,6 @@ const SK_PERMISSION_MATRIX = [
"presupuesto-cliente.edit", "presupuesto-cliente.edit",
"presupuesto-cliente.delete", "presupuesto-cliente.delete",
"presupuesto-cliente.menu", "presupuesto-cliente.menu",
"pedidos-validacion.view",
"pedidos-validacion.menu",
"pedidos-activos.view", "pedidos-activos.view",
"pedidos-activos.menu", "pedidos-activos.menu",
"pedidos-finalizados.view", "pedidos-finalizados.view",
@ -31,8 +29,6 @@ const SK_PERMISSION_MATRIX = [
"pedidos-cancelados.menu", "pedidos-cancelados.menu",
"pedidos-todos.view", "pedidos-todos.view",
"pedidos-todos.menu", "pedidos-todos.menu",
"pedidos-gestion.toprod",
"pedidos-gestion.menu",
"tarifa-preimpresion.create", "tarifa-preimpresion.create",
"tarifa-preimpresion.edit", "tarifa-preimpresion.edit",
"tarifa-preimpresion.delete", "tarifa-preimpresion.delete",
@ -224,6 +220,10 @@ const SK_PERMISSION_MATRIX = [
"proveedores.menu", "proveedores.menu",
"tickets.edit", "tickets.edit",
"tickets.menu", "tickets.menu",
"facturas.create",
"facturas.edit",
"facturas.vencimientos",
"facturas.menu",
], ],
"contabilidad" => [ "contabilidad" => [
"token.token", "token.token",

View File

@ -103,4 +103,8 @@ const SK_PERMISSIONS = [
'roles-permisos.menu' => 'Menu shall be visualize', 'roles-permisos.menu' => 'Menu shall be visualize',
'tickets.edit' => 'Can edit', 'tickets.edit' => 'Can edit',
'tickets.menu' => 'Menu shall be visualize', 'tickets.menu' => 'Menu shall be visualize',
'facturas.create' => 'Can create',
'facturas.edit' => 'Can edit',
'facturas.vencimientos' => 'Can vencimientos',
'facturas.menu' => 'Menu shall be visualize',
]; ];

View File

@ -103,6 +103,8 @@ class Facturas extends \App\Controllers\BaseResourceController
public function add() public function add()
{ {
if(!auth()->user()->can('facturas.create'))
return $this->failForbidden(lang('Basic.global.noPermission'), 403);
if ($this->request->getPost()): if ($this->request->getPost()):
$nullIfEmpty = true; // !(phpversion() >= '8.1'); $nullIfEmpty = true; // !(phpversion() >= '8.1');
@ -201,6 +203,9 @@ class Facturas extends \App\Controllers\BaseResourceController
public function edit($id = null) public function edit($id = null)
{ {
if(!auth()->user()->can('facturas.edit'))
return $this->failForbidden(lang('Basic.global.noPermission'), 403);
if ($id == null): if ($id == null):
return $this->redirect2listView(); return $this->redirect2listView();
endif; endif;
@ -328,26 +333,29 @@ class Facturas extends \App\Controllers\BaseResourceController
} }
) )
->add("action", callback: function ($q) { ->add("action", callback: function ($q) {
if ($q->estado == 'borrador') { if (auth()->user()->can('facturas.edit')) {
return ' if ($q->estado == 'borrador') {
return '
<div class="btn-group btn-group-sm"> <div class="btn-group btn-group-sm">
<a href="javascript:void(0);"><i class="ti ti-pencil ti-sm btn-edit mx-2" data-id="' . $q->id . '"></i></a> <a href="javascript:void(0);"><i class="ti ti-pencil ti-sm btn-edit mx-2" data-id="' . $q->id . '"></i></a>
</div> </div>
'; ';
} else { } else {
return ' return '
<div class="btn-group btn-group-sm"> <div class="btn-group btn-group-sm">
<a href="javascript:void(0);"><i class="ti ti-eye ti-sm btn-edit mx-2" data-id="' . $q->id . '"></i></a> <a href="javascript:void(0);"><i class="ti ti-eye ti-sm btn-edit mx-2" data-id="' . $q->id . '"></i></a>
</div> </div>
'; ';
} }
} else
return '';
}); });
if ($clienteId != -1) { if ($clienteId != -1) {
$result->hide('cliente'); $result->hide('cliente');
$result->hide('creditoAsegurado'); $result->hide('creditoAsegurado');
if(!$dataForClienteForm){ if (!$dataForClienteForm) {
$result->hide('estado'); $result->hide('estado');
$result->hide('estado_pago'); $result->hide('estado_pago');
} }
$result->hide('forma_pago'); $result->hide('forma_pago');
$result->hide('vencimiento'); $result->hide('vencimiento');
@ -357,7 +365,8 @@ class Facturas extends \App\Controllers\BaseResourceController
return $result->toJson(returnAsObject: true); return $result->toJson(returnAsObject: true);
} }
public function getDatosFacturacionClienteForm($cliente_id){ public function getDatosFacturacionClienteForm($cliente_id)
{
return $this->respond($this->model->getSumatoriosFacturacionCliente($cliente_id)); return $this->respond($this->model->getSumatoriosFacturacionCliente($cliente_id));
} }
@ -498,7 +507,7 @@ class Facturas extends \App\Controllers\BaseResourceController
->update(); ->update();
$this->model->db->query('DELETE FROM facturas_pedidos_lineas WHERE factura_id=' . $id); $this->model->db->query('DELETE FROM facturas_pedidos_lineas WHERE factura_id=' . $id);
// $message = lang('Basic.global.deleteSuccess', [$objName]); IMN commented // $message = lang('Basic.global.deleteSuccess', [$objName]); IMN commented
$message = lang('Basic.global.deleteSuccess', [lang('Basic.global.record')]); $message = lang('Basic.global.deleteSuccess', [lang('Basic.global.record')]);
$response = $this->respondDeleted(['id' => $id, 'msg' => $message]); $response = $this->respondDeleted(['id' => $id, 'msg' => $message]);

View File

@ -59,7 +59,9 @@ return [
'seriesFacturasSection' => 'Series facturas', 'seriesFacturasSection' => 'Series facturas',
'ajustesSection' => 'Ajustes', 'ajustesSection' => 'Ajustes',
'actividadSection' => 'Accesos', 'actividadSection' => 'Accesos',
'facturasSection' => 'Facturas',
'albaranesPermission' => 'Albaranes',
'vencimientosPermission' => 'Vencimientos',
"ticketsSection" => "Tickets", "ticketsSection" => "Tickets",
'validation' => [ 'validation' => [

View File

@ -2,7 +2,7 @@
/** /**
* MENU FACTURACION * MENU FACTURACION
*/ */
if (auth()->user()->inGroup('beta')) { if (auth()->user()->inGroup('beta') || auth()->user()->can('facturas.menu')) {
?> ?>
<!-- Invoicing --> <!-- Invoicing -->
<li class="menu-item"> <li class="menu-item">
@ -11,21 +11,25 @@ if (auth()->user()->inGroup('beta')) {
<?= lang("App.menu_facturación") ?> <?= lang("App.menu_facturación") ?>
</a> </a>
<ul class="menu-sub"> <ul class="menu-sub">
<?php if(auth()->user()->can('facturas.create')): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= route_to('newFactura') ?>" class="menu-link"> <a href="<?= route_to('newFactura') ?>" class="menu-link">
<?= lang("App.menu_facturas_nueva") ?> <?= lang("App.menu_facturas_nueva") ?>
</a> </a>
</li> </li>
<?php endif; ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("facturas/list") ?>" class="menu-link"> <a href="<?= site_url("facturas/list") ?>" class="menu-link">
<?= lang("App.menu_facturas") ?> <?= lang("App.menu_facturas") ?>
</a> </a>
</li> </li>
<?php if(auth()->user()->can('facturas.vencimientos')): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("facturas/vencimientos") ?>" class="menu-link"> <a href="<?= site_url("facturas/vencimientos") ?>" class="menu-link">
<?= lang("App.menu_facturas_vencimiento") ?> <?= lang("App.menu_facturas_vencimiento") ?>
</a> </a>
</li> </li>
<?php endif; ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("facturas/albaranes") ?>" class="menu-link"> <a href="<?= site_url("facturas/albaranes") ?>" class="menu-link">
<?= lang("App.menu_albaran") ?> <?= lang("App.menu_albaran") ?>

View File

@ -186,6 +186,13 @@ class Envios {
self.recogerTaller.prop('checked', true); self.recogerTaller.prop('checked', true);
self.insertarEnvio.addClass('d-none'); self.insertarEnvio.addClass('d-none');
self.modalYesNo.hide(); self.modalYesNo.hide();
$(document).trigger('update-presupuesto', {
update_lineas: false,
update_servicios: false,
update_envios: false,
update_resumen: true,
update_tiradas_alternativas: true
});
}); });
} }
else { else {