From 9804a6a927e45e83baf96cb5d6b36f56517bfee9 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 27 Apr 2025 12:17:31 +0200 Subject: [PATCH 1/2] change user session --- ci4/app/Config/Routes.php | 2 + ci4/app/Controllers/Configuracion/Users.php | 20 +++++++ ci4/app/Language/en/App.php | 1 + .../viewMaquinistaCambioUserList.php | 56 +++++++++++++++++++ .../Views/themes/vuexy/main/defaultlayout.php | 11 ++++ 5 files changed, 90 insertions(+) create mode 100644 ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index bf62404a..e71f2a08 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -40,6 +40,8 @@ foreach (glob(APPPATH . 'Config/Routes/*Routes.php') as $routeFile) { $routes->group('users', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->get('', 'Users::index', ['as' => 'userList']); + $routes->get('maquinista/change/user','Users::index_maquinista_change_user',['as' => 'maquinistaUserChangeList']); + $routes->get('maquinista/change/session/$1','Users::change_user_session/$1',['as' => 'maquinistaChangeUserSession']); $routes->get('list', 'Users::index', ['as' => 'userList2']); $routes->get('add', 'Users::add', ['as' => 'newUser']); $routes->post('add', 'Users::add', ['as' => 'createUser']); diff --git a/ci4/app/Controllers/Configuracion/Users.php b/ci4/app/Controllers/Configuracion/Users.php index 3d3127b4..82526665 100755 --- a/ci4/app/Controllers/Configuracion/Users.php +++ b/ci4/app/Controllers/Configuracion/Users.php @@ -447,4 +447,24 @@ class Users extends \App\Controllers\GoBaseController return $data; } + public function index_maquinista_change_user() + { + $this->viewData['breadcrumb'] = [ + ['title' => lang("App.menu_change_session"), 'route' => route_to('maquinistaUserChangeList'), 'active' => true] + ]; + $maquinistas = []; + $users = auth()->getProvider()->findAll(); + foreach ($users as $key => $user) { + if($user->inGroup('maquina') && !$user->inGroup('admin','comercial','cliente-editor','cliente-admin')){ + $maquinistas[] = $user; + } + } + $this->viewData['maquinistas'] = $maquinistas; + return view('/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php',$this->viewData); + } + public function change_user_session(int $user_id) + { + return redirect_to("maquinistaUserChangeList"); + } + } diff --git a/ci4/app/Language/en/App.php b/ci4/app/Language/en/App.php index be8505b2..147d9dfe 100755 --- a/ci4/app/Language/en/App.php +++ b/ci4/app/Language/en/App.php @@ -761,6 +761,7 @@ return [ "menu_tarifaimpresion" => "Printing", "menu_users" => "Users", + "menu_change_session" => "Seleccionar turno", "menu_permission_group" => "Roles and permissions", "menu_registration" => "Registration", diff --git a/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php b/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php new file mode 100644 index 00000000..094a2bd2 --- /dev/null +++ b/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php @@ -0,0 +1,56 @@ +include('themes/_commonPartialsBs/select2bs5') ?> +include('themes/_commonPartialsBs/datatables') ?> +include('themes/_commonPartialsBs/sweetalert') ?> +include('themes/_commonPartialsBs/_confirm2delete') ?> +extend('themes/vuexy/main/defaultlayout') ?> +section('content'); ?> + +
+
+
+
+
+ + + + + + + + + + + + + $maquinista): ?> + + + + + + + + + + +
id ?>first_name ?>last_name ?>getEmail() ?> + id)?>" class="btn btn-lg btn-primary h-100 w-100">Mi turno +
+
+
+
+
+
+endSection() ?> + +section('css') ?> + + + +endSection() ?> + +section("additionalExternalJs") ?> + + + +endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/main/defaultlayout.php b/ci4/app/Views/themes/vuexy/main/defaultlayout.php index 6ac882cd..f646eb00 100755 --- a/ci4/app/Views/themes/vuexy/main/defaultlayout.php +++ b/ci4/app/Views/themes/vuexy/main/defaultlayout.php @@ -110,6 +110,17 @@ $picture = "/assets/img/default-user.png"; + + user()->inGroup('maquina')): ?> + +

Clicks

-

click_tarea ?>

+

click_end - $ot_tarea->click_init ?>

diff --git a/ci4/app/Views/themes/vuexy/form/mensajes/mensajesView.php b/ci4/app/Views/themes/vuexy/form/mensajes/mensajesView.php index ef184ed5..f22cbaee 100755 --- a/ci4/app/Views/themes/vuexy/form/mensajes/mensajesView.php +++ b/ci4/app/Views/themes/vuexy/form/mensajes/mensajesView.php @@ -26,6 +26,9 @@ use Config\App; +
@@ -41,7 +44,9 @@ use Config\App;
+ diff --git a/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php b/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php index 094a2bd2..967b4be3 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/maquinista/viewMaquinistaCambioUserList.php @@ -22,17 +22,24 @@ - $maquinista): ?> - - id ?> - first_name ?> - last_name ?> - getEmail() ?> - - id)?>" class="btn btn-lg btn-primary h-100 w-100">Mi turno - + 0): ?> + + $maquinista): ?> + + id ?> + first_name ?> + last_name ?> + getEmail() ?> + + id) ?>" class="btn btn-lg btn-primary h-100 w-100">Mi turno + + + + + + No hay usuarios para cambiar turno - + diff --git a/httpdocs/assets/js/safekat/components/datatables/MessagesDatatable.js b/httpdocs/assets/js/safekat/components/datatables/MessagesDatatable.js index 7b91f0c5..a150737f 100644 --- a/httpdocs/assets/js/safekat/components/datatables/MessagesDatatable.js +++ b/httpdocs/assets/js/safekat/components/datatables/MessagesDatatable.js @@ -7,6 +7,8 @@ class MessagesDatatable { this.datatablePresupuestoMessageItem = this.item.find("#tablePresupuestoMessages") this.datatablePedidoMessageItem = this.item.find("#tablePedidoMessages") this.datatableFacturaMessageItem = this.item.find("#tableFacturaMessages") + this.datatableOtMessageItem = this.item.find("#tableOtMessages") + this.focusTable = this.datatableItem this.columnDefs = [ ] @@ -131,6 +133,25 @@ class MessagesDatatable { columns: this.datatableColumns, ajax: '/messages/datatable/factura' }); + this.datatableOtMessage = this.datatableOtMessageItem.DataTable({ + processing: true, + order: [[1, 'desc']], + columnDefs : this.columnDefs, + orderCellsTop : true, + layout: { + topStart: 'pageLength', + topEnd: 'search', + bottomStart: 'info', + bottomEnd: 'paging' + }, + serverSide: true, + pageLength: 10, + language: { + url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json" + }, + columns: this.datatableColumns, + ajax: '/messages/datatable/ots' + }); this.datatablePresupuestoMessageItem.on("keyup", ".datatable-message-filter", (event) => { let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) this.datatablePresupuestoMessage.column(columnIndex).search($(event.currentTarget).val()).draw() @@ -143,6 +164,10 @@ class MessagesDatatable { let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) this.datatableFacturaMessage.column(columnIndex).search($(event.currentTarget).val()).draw() }) + this.datatableOtMessageItem.on("keyup", ".datatable-message-filter", (event) => { + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableFacturaMessage.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } diff --git a/httpdocs/assets/js/safekat/pages/configuracion/maquinista/maquinistaTareaView.js b/httpdocs/assets/js/safekat/pages/configuracion/maquinista/maquinistaTareaView.js index 5ab8086d..b4e20735 100644 --- a/httpdocs/assets/js/safekat/pages/configuracion/maquinista/maquinistaTareaView.js +++ b/httpdocs/assets/js/safekat/pages/configuracion/maquinista/maquinistaTareaView.js @@ -79,10 +79,14 @@ class MaquinistaTareaView { } handleUpdateClickInputSucess(response) { popSuccessAlert(response.message) + this.updateContentClick(response.data.click_end - response.data.click_init) } handleUpdateClickInputError(error) { popErrorAlert(error) } + updateContentClick(clicks){ + this.item.find('#clicks-info').empty().html(clicks) + } handleDeleteTareaProgress() { let ajax = new Ajax('/produccion/ordentrabajo/tarea/progress/' + this.tareaId, null, @@ -194,6 +198,17 @@ class MaquinistaTareaView { } }) } + getTarea(tarea_id) { + return new Promise((resolve, reject) => { + let ajax = new Ajax(`/produccion/ordentrabajo/tarea/${tarea_id}`, null, null, (response) => { + resolve(response) + }, + (error) => { + resolve(error) + }) + ajax.get() + }) + } } diff --git a/httpdocs/assets/js/safekat/pages/configuracion/messages/messagePage.js b/httpdocs/assets/js/safekat/pages/configuracion/messages/messagePage.js index 97543c74..77f1dc54 100644 --- a/httpdocs/assets/js/safekat/pages/configuracion/messages/messagePage.js +++ b/httpdocs/assets/js/safekat/pages/configuracion/messages/messagePage.js @@ -54,6 +54,10 @@ class MessagePage { this.messageDatatable.datatableFacturaMessage.ajax.reload() this.messageDatatable.focusTable = this.messageDatatable.datatableFacturaMessageItem }) + $("#navs-top-align-ot-tab").on("click",()=>{ + this.messageDatatable.datatableOtMessage.ajax.reload() + this.messageDatatable.focusTable = this.messageDatatable.datatableOtMessageItem + }) } openNewMessageModal() {