Merge branch 'dev/ui' into 'main'

Dev/ui

See merge request jjimenez/safekat!16
This commit is contained in:
Ignacio Martinez Navajas
2023-05-18 07:11:21 +00:00
17 changed files with 254 additions and 543 deletions

3
.idea/deployment.xml generated
View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" autoUpload="Always" serverName="SK-MAIN" remoteFilesAllowedToDisappearOnAutoupload="false">
<component name="PublishConfigData" autoUpload="Always" serverName="SK-IMN" remoteFilesAllowedToDisappearOnAutoupload="false" confirmBeforeUploading="false">
<option name="confirmBeforeUploading" value="false" />
<serverData>
<paths name="SK-IMN">
<serverdata>

35
.idea/workspace.xml generated
View File

@ -6,14 +6,18 @@
<component name="ChangeListManager">
<list default="true" id="7c8f7059-cd40-417c-936e-48dbc0507d86" name="Changes" comment="Add static Vuexy files">
<change beforePath="$PROJECT_DIR$/.idea/deployment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deployment.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/webServers.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/webServers.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Config/Basics.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Config/Basics.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Integration.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Integration.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Pedidos/Pedido.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Pedidos/Pedido.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Filters/LoginAuthFilter.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Filters/LoginAuthFilter.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/_commonPartialsBs/datatables.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/_commonPartialsBs/datatables.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/.env" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/.env" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Home.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Home.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/_commonPartialsBs/select2bs5.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/_commonPartialsBs/select2bs5.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/group/form.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/group/index.php" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/group/viewUserGroupForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/group/viewUserGroupForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/_userFormItems.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/_userFormItems.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/viewUserForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/viewUserForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all_selects.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all_selects.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -40,22 +44,23 @@
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/temp-sk/safekat/ci4/app/Views/themes/backend/vuexy/main&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/Safekat/safekat/ci4/app/Views/themes/_commonPartialsBs&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\Safekat\safekat\ci4\app\Views\themes\_commonPartialsBs" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\main" />
<recent name="C:\temp-sk\safekat\httpdocs\themes\vuexy\vendor\libs\toastr" />
<recent name="C:\temp-sk\safekat\ci4\app\Language\es-ES" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\form\user" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\temp-sk\safekat\ci4\app\Controllers\Usuarios" />
@ -84,6 +89,9 @@
<workItem from="1684221025785" duration="2261000" />
<workItem from="1684226343116" duration="4598000" />
<workItem from="1684236911941" duration="2213000" />
<workItem from="1684239429024" duration="2049000" />
<workItem from="1684313352573" duration="9284000" />
<workItem from="1684350581362" duration="2244000" />
</task>
<task id="LOCAL-00001" summary="Starting Vuexy Theme creation">
<created>1682339938559</created>
@ -134,4 +142,15 @@
<MESSAGE value="Add static Vuexy files" />
<option name="LAST_COMMIT_MESSAGE" value="Add static Vuexy files" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="php">
<url>file://$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all.php</url>
<line>372</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>

View File

@ -23,7 +23,7 @@ CI_ENVIRONMENT = development
#--------------------------------------------------------------------
# app.baseURL = 'https://sk-imn.imnavajas.es'
app.baseURL = 'https://sk-jjo.imnavajas.es'
app.baseURL = 'https://sk-imn.imnavajas.es'
# app.forceGlobalSecureRequests = false
# app.sessionDriver = 'CodeIgniter\Session\Handlers\FileHandler'
@ -41,9 +41,9 @@ app.baseURL = 'https://sk-jjo.imnavajas.es'
#--------------------------------------------------------------------
database.default.hostname = localhost
database.default.database = sk_jjo
database.default.username = sk_jjo
database.default.password = 61tv&G1Zf^XY
database.default.database = sk_imn
database.default.username = sk_imn
database.default.password = Uyia19_87
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.dump =

View File

@ -32,7 +32,7 @@ class Home extends BaseController
else
$salutation = lang("App.dashboard_good_night");
echo view(getenv('theme.path').'main/all');
echo view(getenv('theme.path').'main/all_selects');
/*
//echo view(getenv('theme.path').'main/header');

View File

@ -80,7 +80,20 @@ function getAllClass($controller = null){
}
// IMN
function getCurrentLanguageFlag(){
try {
$session = session();
if($session->get('lang') == 'en'){
return "fi-gb";
}else{
return "fi-es";
}
} catch (Exception $e) {
return "fi-es";
}
}
function getAllClassFolder($folder = null){

View File

@ -1,35 +1,27 @@
<!-- Push section css -->
<?= $this->section('css') ?>
<?php /*
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.1.1/dist/select2-bootstrap-5-theme.min.css" />
*/ ?>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/select2/select2.css') ?>"/>
<?= $this->endSection() ?>
<!-- Push additional js -->
<?= $this->section('additionalExternalJs') ?>
<?php //<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.full.min.js"></script> ?>
<script src="<?= site_url('themes/vuexy/vendor/libs/select2/select2.js') ?>"></script>
<?= $this->endSection() ?>
<?= $this->section('additionalInlineJs') ?>
'use strict';
const select2 = $('.select2');
const select2 = $('.select2');
// Select2
// --------------------------------------------------------------------
if (select2.length) {
select2.each(function () {
var $this = $(this);
$this.wrap('<div class="position-relative"></div>').select2({
placeholder: 'Select value',
dropdownParent: $this.parent()
});
// Select2
// --------------------------------------------------------------------
if (select2.length) {
select2.each(function () {
var $this = $(this);
$this.wrap('<div class="position-relative"></div>').select2({
placeholder: 'Select value',
dropdownParent: $this.parent()
});
}
});
}
<?= $this->endSection() ?>

View File

@ -1,166 +0,0 @@
<!--Content Body-->
<div class="content-body">
<div class="container-fluid">
<div class="row page-titles mx-0">
<div class="col-sm-6 p-md-0">
<div class="welcome-text">
<h4><i class="<?= $title['icon']??'' ?>"></i> <?= $title['module']??'' ?></h4>
<span class="ml-1"><?= $title['page']??'' ?></span>
</div>
</div>
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<ol class="breadcrumb">
<?php foreach ($breadcrumb??[] as $item) : ?>
<?php if (!$item['active']) : ?>
<li class="breadcrumb-item"><a href="<?= site_url($item['route']) ?>"><?= $item['title'] ?></a></li>
<?php else : ?>
<li class="breadcrumb-item active"><?= $item['title'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ol>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title"><?= $title['page']??'' ?></h4>
</div>
<div class="card-body">
<?= formAlert() ?>
<form class="form" action="<?= site_url("usuarios/group/store")?>" method="post">
<?= csrf_field() ?>
<input type="hidden" name="id_group" value="<?= (isset($obj)) ? $obj['id_group'] : set_value('id_group') ?>">
<input type="hidden" name="token" value="<?= (isset($obj)) ? $obj['token'] : set_value('token') ?>">
<div class="form-body">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label for="title" class="text-dark"><?=lang("App.group_field_title")?></label>
<input type="text" name="title" id="title" class="form-control" value="<?= (isset($obj)) ? $obj['title'] : set_value('title') ?>">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="dashboard" class="text-dark"><?=lang("App.group_field_dashboard")?></label>
<?php $id_select = (isset($obj)) ? $obj['dashboard'] : set_value('dashboard');?>
<select name="dashboard" id="dashboard" class="form-control">
<option value="user" <?= $id_select == "user" ? 'selected' : '' ?>><?=lang("App.group_label_user")?></option>
<option value="admin" <?= $id_select == "admin" ? 'selected' : '' ?>><?=lang("App.group_label_admin")?></option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 right">
<div class="form-group">
<button type="button" name="select_all" id="select_all" class="btn btn-primary round"><i class="la la-toggle-on"></i> <?=lang("App.group_btn_select")?></button>
<button type="button" name="remove_all" id="remove_all" class="btn btn-primary round ml-1"><i class="la la-toggle-off"></i> <?=lang("App.group_btn_remove")?></button>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 right">
<div class="card">
<div class="card-header">
<h4 class="card-title"><?= lang("App.permisos_general") ?></h4>
</div>
<div class="card-body">
<div class="row">
<?php foreach(getAllClass() as $item): ?>
<?php if (empty($item['path'])): ?>
<div class="col-md-3 col-lg-2">
<h4 class="danger"><?=getDictionary($item['name'])?></h4>
<?php foreach($item['methods'] as $subitem): ?>
<?php if(!getIgnoreMethod($subitem)): ?>
<div class="custom-control custom-switch">
<input type="checkbox" id="<?=$item['name'].'_'.$subitem?>" name="<?=$item['name'].'_'.$subitem?>" class="custom-control-input">
<label for="<?=$item['name'].'_'.$subitem?>" class="custom-control-label"><?=getDictionary($subitem)?></label>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
</div>
</div>
<?php foreach(getAllFolder() as $folder): ?>
<div class="card">
<div class="card-header">
<h4 class="card-title"><?= getDictionary($folder)??'' ?></h4>
</div>
<div class="card-body">
<div class="row">
<?php foreach(getAllClass() as $item): ?>
<?php if (str_contains($item['path'], $folder)): ?>
<div class="col-md-3 col-lg-2">
<h4 class="danger"><?=getDictionary($item['name'])?></h4>
<?php foreach($item['methods'] as $subitem): ?>
<?php if(!getIgnoreMethod($subitem)): ?>
<div class="custom-control custom-switch">
<input type="checkbox" id="<?=$item['name'].'_'.$subitem?>" name="<?=$item['name'].'_'.$subitem?>" class="custom-control-input">
<label for="<?=$item['name'].'_'.$subitem?>" class="custom-control-label"><?=getDictionary($subitem)?></label>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<div class="form-actions mt-2">
<a href="<?= site_url($btn_return['route']??'#') ?>" class="<?= $btn_return['class']??''?>">
<i class="<?= $btn_return['icon']??'' ?>"></i> <?= $btn_return['title']??'' ?>
</a>
<button type="submit" class="<?= $btn_submit['class']??''?>">
<i class="<?= $btn_submit['icon']??'' ?>"></i> <?= $btn_submit['title']??'' ?>
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Required vendors -->
<script src="<?=site_url("themes/focus2/vendor/global/global.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/quixnav-init.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/custom.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/select2/js/select2.full.min.js")?>"></script>
<!-- Form -->
<script>
"use strict";
$(document).ready(function () {
$('#title').focus();
$("#dashboard").select2();
LoadRules();
});
function LoadRules() {
let obj = JSON.parse('<?= (isset($obj)) ? str_replace('&quot;','"',$obj['rules']) : '{}' ?>');
$.each(obj, function (key, item) {
$.each(item, function (sub_key, sub_item) {
try {
document.getElementById(key+"_"+sub_item).checked = true;
}catch (e) {
}
});
});
}
$('#select_all').on('click', function () {
$(':checkbox').each(function() {
this.checked = true;
});
});
$('#remove_all').on('click', function () {
$(':checkbox').each(function() {
this.checked = false;
});
});
</script>

View File

@ -1,118 +0,0 @@
<!--Content Body-->
<div class="content-body">
<div class="container-fluid">
<div class="row page-titles mx-0">
<div class="col-sm-6 p-md-0">
<div class="welcome-text">
<h4><i class="<?= $title['icon']??'' ?>"></i> <?= $title['module']??'' ?></h4>
<span class="ml-1"><?= $title['page']??'' ?></span>
</div>
</div>
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<ol class="breadcrumb">
<?php foreach ($breadcrumb??[] as $item) : ?>
<?php if (!$item['active']) : ?>
<li class="breadcrumb-item"><a href="<?= site_url($item['route']) ?>"><?= $item['title'] ?></a></li>
<?php else : ?>
<li class="breadcrumb-item active"><?= $item['title'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ol>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header row">
<div class="col-sm-6">
<h4 class="card-title"><?= $title['page']??'' ?></h4>
</div>
<div class="col-sm-6 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<a href="<?= site_url($btn_add['route']??'#')?>" class="<?= $btn_add['class']??''?>">
<i class="<?= $btn_add['icon']??'' ?>"></i> <?= $btn_add['title']??'' ?>
</a>
</div>
</div>
<div class="card-body">
<!-- CSRF token -->
<input type="hidden" class="txt_csrfname" name="<?= csrf_token() ?>" value="<?= csrf_hash() ?>" />
<!-- Table -->
<div class="table-responsive">
<table id='table-grid' class="table table-striped nowrap" style="width:100%">
<thead>
<tr>
<th><?=lang("App.group_grid_title")?></th>
<th><?=lang("App.group_grid_dashboard")?></th>
<th><?=lang("App.group_grid_created")?></th>
<th><?=lang("App.group_grid_updated")?></th>
<th><?=lang("App.group_grid_options")?></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Required vendors -->
<script src="<?=site_url("themes/focus2/vendor/global/global.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/quixnav-init.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/custom.min.js")?>"></script>
<!-- Datatable -->
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jquery.dataTables.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/pickers/daterange/moment.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.datetime.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.buttons.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.bootstrap4.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jszip.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/pdfmake.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/vfs_fonts.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.html5.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.print.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.colVis.min.js")?>"></script>
<!-- Alert -->
<script src="<?=site_url("themes/focus2/vendor/sweetalert2/dist/sweetalert2.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/toastr/js/toastr.min.js")?>"></script>
<!-- Custom -->
<script src="<?=site_url("assets/js/main.js")?>"></script>
<script>
"use strict";
$(document).ready(function () {
let dataFormat = [
{
targets: 2,
render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss','<?=momentDateTimeJS()?>')
},
{
targets: 3,
render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss','<?=momentDateTimeJS()?>')
}
];
let order = [[0, "asc"]];
let translate = '/themes/focus2/vendor/datatables/locales/<?=langJS()?>.json';
let button = ["<?=lang("App.global_copy")?>","<?=lang("App.global_print")?>","<?=lang("App.global_excel")?>","<?=lang("App.global_pdf")?>"];
let columns = [{ data: 'title' },{ data: 'dashboard' },{ data: 'created_at' },{ data: 'updated_at' },{ data: 'options' }];
loadDataTableAjax('table-grid', '<?=site_url('ajax/getGroups')?>', translate, true, true, order, columns,dataFormat, button);
});
function delete_group(id){
swal({
title: "<?=lang("App.group_delete_title")?>",
text: "<?=lang("App.group_delete_subtitle")?>",
type: "warning",
showCancelButton: !0,
confirmButtonColor: "#f34141",
confirmButtonText: "<?=lang("App.group_delete_btn_ok")?>",
cancelButtonText: "<?=lang("App.group_delete_btn_cancel")?>",
closeOnConfirm: !1
}).then(function(isConfirm) {
console.log(isConfirm);
if (isConfirm.value) {
window.location.href = '<?=site_url("usuarios/group/delete/")?>'+id;
}
})
}
</script>
<?= sweetAlert() ?>

View File

@ -6,107 +6,65 @@
<div class="row">
<div class="col-12">
<div class="card card-info">
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<h3 class="card-header"><?= $boxTitle ?? $pageTitle ?></h3>
<div class="card-body">
<?= formAlert() ?>
<form id="groupForm" method="post" action="<?= $formAction ?>">
<form id="groupForm" method="post" class="card-body" action="<?= $formAction ?>">
<?= csrf_field() ?>
<input type="hidden" name="id_group"
value="<?= (isset($obj)) ? $obj['id_group'] : set_value('id_group') ?>">
<input type="hidden" name="token"
value="<?= (isset($obj)) ? $obj['token'] : set_value('token') ?>">
<div class="form-body">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label for="title"
class="text-dark"><?= lang("App.group_field_title") ?></label>
<input type="text" name="title" id="title" class="form-control"
value="<?= old('title', $group->title) ?>">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="dashboard"
class="text-dark"><?= lang("App.group_field_dashboard") ?></label>
<?php $id_select = (isset($group)) ? $group->dashboard : set_value('dashboard'); ?>
<select name="dashboard" id="dashboard" class="form-control">
<option value="user" <?= $id_select == "user" ? 'selected' : '' ?>><?= lang("App.group_label_user") ?></option>
<option value="admin" <?= $id_select == "admin" ? 'selected' : '' ?>><?= lang("App.group_label_admin") ?></option>
</select>
</div>
</div>
<input type="hidden"
name="id_group"
value="<?= (isset($obj)) ? $obj['id_group'] : set_value('id_group') ?>"
>
<input type="hidden"
name="token"
value="<?= (isset($obj)) ? $obj['token'] : set_value('token') ?>"
>
<div class="row g-3">
<div class="col-md-6">
<label for="title" class="form-label text-dark">
<?= lang("App.group_field_title") ?>
</label>
<input type="text" name="title" id="title" class="form-control"
value="<?= old('title', $group->title) ?>">
</div>
<div class="row">
<div class="col-md-12 right">
<div class="form-group">
<button type="button" name="select_all" id="select_all"
class="btn btn-primary round"><i
class="la la-toggle-on"></i> <?= lang("App.group_btn_select") ?>
</button>
<button type="button" name="remove_all" id="remove_all"
class="btn btn-primary round ml-1"><i
class="la la-toggle-off"></i> <?= lang("App.group_btn_remove") ?>
</button>
</div>
</div>
<div class="col-md-6">
<label for="dashboard" class="form-label text-dark">
<?= lang("App.group_field_dashboard") ?>
</label>
<?php $id_select = (isset($group)) ? $group->dashboard : set_value('dashboard'); ?>
<select name="dashboard" id="dashboard" class="select2 form-control">
<option value="user" <?= $id_select == "user" ? 'selected' : '' ?>><?= lang("App.group_label_user") ?></option>
<option value="admin" <?= $id_select == "admin" ? 'selected' : '' ?>><?= lang("App.group_label_admin") ?></option>
</select>
</div>
<div class="row">
<div class="col-md-12">
<h5>Role Permissions</h5>
<!-- Permission table -->
<div class="table-responsive">
<table class="table table-flush-spacing">
<tbody>
<!-- <tr>-->
<!-- <td class="text-nowrap fw-semibold">-->
<!-- Permisos GLobales-->
<!-- <i-->
<!-- class="ti ti-info-circle"-->
<!-- data-bs-toggle="tooltip"-->
<!-- data-bs-placement="top"-->
<!-- title="Allows a full access to the system"></i>-->
<!-- </td>-->
<!-- <td>-->
<!-- <div class="form-check">-->
<!-- <input class="form-check-input" type="checkbox" id="selectAll"/>-->
<!-- <label class="form-check-label" for="selectAll"> Seleccionar-->
<!-- todos </label>-->
<!-- </div>-->
<!-- </td>-->
<!-- </tr>-->
<?php foreach (getAllFolder() as $folder): ?>
<?php foreach (getAllClass() as $item): ?>
<?php if (str_contains($item['path'], $folder)): ?>
<tr>
<td class="text-nowrap fw-semibold"><?= getDictionary($folder) ?? '' ?> >> <?= getDictionary($item['name']) ?></td>
<?php foreach ($item['methods'] as $subitem): ?>
<?php if (!getIgnoreMethod($subitem)): ?>
<td>
<div class="form-check">
<input type="checkbox"
id="<?= $item['name'] . '_' . $subitem ?>"
name="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-input"
<?=ruleIsChecked($group->rules, $item['name'], $subitem)?'checked':''?>
>
<label for="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-label"><?= getDictionary($subitem) ?></label>
</div>
</td>
<?php endif; ?>
<?php endforeach; ?>
</tr>
<?php endif; ?>
<?php endforeach; ?>
<?php endforeach; ?>
<div class="col-md-6">
<button type="button" name="select_all"
id="select_all"
class="btn btn-primary me-sm-3 me-1">
<i class="la la-toggle-on"></i> <?= lang("App.group_btn_select") ?>
</button>
<button type="button" name="remove_all"
id="remove_all"
class="btn btn-secondary ">
<i class="la la-toggle-off"></i> <?= lang("App.group_btn_remove") ?>
</button>
</div>
</div>
<div class="row g-3 mt-3">
<div class="col-md-12">
<h5>Role Permissions</h5>
<!-- Permission table -->
<div class="table-responsive">
<table class="table table-flush-spacing">
<tbody>
<?php foreach (getAllFolder() as $folder): ?>
<?php foreach (getAllClass() as $item): ?>
<?php if (empty($item['path'])): ?>
<?php if (str_contains($item['path'], $folder)): ?>
<tr>
<td class="text-nowrap fw-semibold"><?= getDictionary($item['name']) ?></td>
<td class="text-nowrap fw-semibold">
<?= getDictionary($folder) ?? '' ?>
>> <?= getDictionary($item['name']) ?>
</td>
<?php foreach ($item['methods'] as $subitem): ?>
<?php if (!getIgnoreMethod($subitem)): ?>
<td>
@ -115,7 +73,7 @@
id="<?= $item['name'] . '_' . $subitem ?>"
name="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-input"
<?=ruleIsChecked($group->rules, $item['name'], $subitem)?'checked':''?>
<?= ruleIsChecked($group->rules, $item['name'], $subitem) ? 'checked' : '' ?>
>
<label for="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-label"><?= getDictionary($subitem) ?></label>
@ -126,17 +84,41 @@
</tr>
<?php endif; ?>
<?php endforeach; ?>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php foreach (getAllClass() as $item): ?>
<?php if (empty($item['path'])): ?>
<tr>
<td class="text-nowrap fw-semibold"><?= getDictionary($item['name']) ?></td>
<?php foreach ($item['methods'] as $subitem): ?>
<?php if (!getIgnoreMethod($subitem)): ?>
<td>
<div class="form-check">
<input type="checkbox"
id="<?= $item['name'] . '_' . $subitem ?>"
name="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-input"
<?= ruleIsChecked($group->rules, $item['name'], $subitem) ? 'checked' : '' ?>
>
<label for="<?= $item['name'] . '_' . $subitem ?>"
class="form-check-label"><?= getDictionary($subitem) ?></label>
</div>
</td>
<?php endif; ?>
<?php endforeach; ?>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="form-actions mt-2">
<?= anchor(route_to("groupIndex"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
<input type="submit" class="btn btn-primary float-end" name="save"
<div class="pt-4">
<input type="submit" class="btn btn-primary float-start me-sm-3 me-1" name="save"
value="<?= lang("Basic.global.Save") ?>">
<?= anchor(route_to("groupIndex"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary"]) ?>
</div>
</form>
@ -150,14 +132,14 @@
<?= $this->section('additionalInlineJs') ?>
$('#select_all').on('click', function () {
$(':checkbox').each(function() {
this.checked = true;
});
$(':checkbox').each(function() {
this.checked = true;
});
});
$('#remove_all').on('click', function () {
$(':checkbox').each(function() {
this.checked = false;
});
$(':checkbox').each(function() {
this.checked = false;
});
});
<?= $this->endSection() ?>

View File

@ -26,7 +26,7 @@
<label for="country" class="form-label">
<?=lang('Users.country') ?>*
</label>
<select id="country" name="country" required class="select2 form-control " style="width: 100%;" >
<option value=""><?=lang('Basic.global.pleaseSelectA', [lang('Users.country')]) ?></option>
@ -37,7 +37,7 @@
<?php endforeach; ?>
</select>
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="dateBirth" class="form-label">
<?=lang('Users.dateBirth') ?>
@ -45,7 +45,7 @@
<input type="date" id="dateBirth" name="date_birth" maxLength="10" class="form-control" value="<?=old('date_birth', $user->date_birth) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="mobile" class="form-label">
<?=lang('Users.mobile') ?>*
@ -75,22 +75,22 @@
<?php foreach ($groups as $item) : ?>
<?php if (isset($selectedGroups) && sizeof($selectedGroups)>=1): ?>
<?php foreach ($selectedGroups as $selItem) : ?>
<option value="<?=$item->token ?>" data-select2-id=<?=$item->token ?> <?=$item->token==$selItem['token_group']?'selected':'' ?>> <?= $item->title ?>
<option value="<?=$item->token ?>" data-select2-id=<?=$item->token ?> <?=$item->token==$selItem['token_group']?'selected':'' ?>> <?= $item->title ?>
</option>
<?php endforeach; ?>
<?php else: ?>
<option value="<?=$item->token ?>" data-select2-id=<?=$item->token ?> > <?= $item->title ?>
<option value="<?=$item->token ?>" data-select2-id=<?=$item->token ?> > <?= $item->title ?>
</option>
<?php endif ?>
<?php endforeach; ?>
</select>
</div>
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-6 px-4">
<div class="mb-3">
<label for="lastName" class="form-label">
<?=lang('Users.lastName') ?>*
@ -151,24 +151,24 @@
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("User.user_alert_not_confirmed")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("User.user_alert_confirmed")?></option>
</select>
</div>
<div class="mb-3">
<label for="status" class="form-label">
<?=lang('Users.status') ?>*
</label>
<?php $id_select = old('status', $user->status);?>
<select name="status" id="status" class="form-control">
<select name="status" id="status" class="select2 form-control">
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("User.global_active")?></option>
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("User.global_inactive")?></option>
</select>
</div><!--//.mb-3 -->
</div><!--//.col -->
</div><!--//.col -->
</div><!-- //.row -->

View File

@ -1,25 +1,26 @@
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
<?=$this->extend('themes/backend/vuexy/main/defaultlayout') ?>
<?= $this->extend('themes/backend/vuexy/main/defaultlayout') ?>
<?= $this->section("content") ?>
<div class="row">
<div class="col-12">
<div class="card card-info">
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<form id="userForm" method="post" action="<?= $formAction ?>">
<?= csrf_field() ?>
<div class="card-body">
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/vuexy/form/user/_userFormItems") ?>
</div><!-- /.card-body -->
<div class="card-footer">
<?= anchor(route_to("userIndex"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
<input type="submit" class="btn btn-primary float-end" name="save" value="<?= lang("Basic.global.Save") ?>">
</div><!-- /.card-footer -->
</form>
</div><!-- //.card -->
<div class="card card-info">
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<div class="card-body">
<form id="userForm" method="post" class="card-body" action="<?= $formAction ?>">
<?= csrf_field() ?>
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/vuexy/form/user/_userFormItems") ?>
<div class="pt-4">
<input type="submit" class="btn btn-primary float-start me-sm-3 me-1" name="save"
value="<?= lang("Basic.global.Save") ?>">
<?= anchor(route_to("userIndex"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary"]) ?>
</div>
</form>
</div><!-- /.card-body -->
</div><!-- //.card -->
</div><!--//.col -->
</div><!--//.row -->
<?= $this->endSection() ?>

View File

@ -10,7 +10,7 @@ if (!empty($token) && $tfa == false) {
<!DOCTYPE html>
<html
lang="<?= $settings['default_language'] ?? 'es' == 'pt' ? 'pt-br' : $settings['default_language'] ?? 'es' ?>"
lang="<?= $settings['default_language'] ?? 'es' ?>"
class="h-100"
class="dark-style customizer-hide"
dir="ltr"

View File

@ -15,7 +15,7 @@ if (!empty($token) && $tfa == false) {
<!DOCTYPE html>
<html
lang="<?= $settings['default_language'] ?? 'es' == 'pt' ? 'pt-br' : $settings['default_language'] ?? 'es' ?>"
lang="<?= $session->get('lang') ?>"
class="h-100"
class="semi-dark-style customizer-hide"
dir="ltr"
@ -62,8 +62,8 @@ if (!empty($token) && $tfa == false) {
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
<!-- Fonts -->
<link rel="preconnect" href="https:/fonts.googleapis.com"/>
<link rel="preconnect" href="https:/fonts.gstatic.com" crossorigin/>
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
<link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet"
@ -81,7 +81,6 @@ if (!empty($token) && $tfa == false) {
<!-- Vendors CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
<!-- Page CSS -->
@ -371,7 +370,7 @@ if (!empty($token) && $tfa == false) {
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
<i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
@ -423,12 +422,12 @@ if (!empty($token) && $tfa == false) {
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a>
</li>
<li>
<a class="dropdown-item" href="#">
<i class="ti ti-settings me-2 ti-sm"></i>
<span class="align-middle">Settings</span>
</a>
</li>
<!-- <li>-->
<!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>-->
<!-- </a>-->
<!-- </li>-->
<li>
<div class="dropdown-divider"></div>
@ -492,7 +491,6 @@ if (!empty($token) && $tfa == false) {
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>

View File

@ -80,7 +80,7 @@ if (!empty($token) && $tfa == false) {
<!-- Vendors CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/select2/select2.css') ?>"/>
<!-- Page CSS -->
@ -398,7 +398,6 @@ if (!empty($token) && $tfa == false) {
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
<!-- endbuild -->
@ -414,19 +413,10 @@ if (!empty($token) && $tfa == false) {
'use strict';
$(function () {
const selectPicker = $('.selectpicker'),
select2 = $('.select2');
// Bootstrap Select
// --------------------------------------------------------------------
if (selectPicker.length) {
selectPicker.selectpicker();
}
const select2 = $('.select2');
// Select2
// --------------------------------------------------------------------
// Default
if (select2.length) {
select2.each(function () {
var $this = $(this);

View File

@ -15,7 +15,7 @@ if (!empty($token) && $tfa == false) {
<!DOCTYPE html>
<html
lang="<?= $settings['default_language'] ?? 'es' == 'pt' ? 'pt-br' : $settings['default_language'] ?? 'es' ?>"
lang="<?= $session->get('lang') ?>"
class="h-100"
class="semi-dark-style customizer-hide"
dir="ltr"

View File

@ -15,9 +15,8 @@ if (!empty($token) && $tfa == false) {
<!DOCTYPE html>
<html
lang="<?= $settings['default_language'] ?? 'es' == 'pt' ? 'pt-br' : $settings['default_language'] ?? 'es' ?>"
class="h-100"
class="semi-dark-style customizer-hide"
lang="<?= $session->get('lang') ?>"
class="h-100 light-style layout-navbar-fixed layout-menu-fixed"
dir="ltr"
data-theme="theme-default"
data-assets-path="<?= site_url('themes/vuexy/') ?>"
@ -63,8 +62,8 @@ if (!empty($token) && $tfa == false) {
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
<!-- Fonts -->
<link rel="preconnect" href="https:/fonts.googleapis.com"/>
<link rel="preconnect" href="https:/fonts.gstatic.com" crossorigin/>
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
<link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet"
@ -79,11 +78,10 @@ if (!empty($token) && $tfa == false) {
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/core.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-semi-dark.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/demo.css') ?>"/>
<!-- Vendors CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
<!-- Page CSS -->
<?= $this->renderSection('css') ?>
@ -92,7 +90,7 @@ if (!empty($token) && $tfa == false) {
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
</head>
<body>
@ -143,8 +141,9 @@ if (!empty($token) && $tfa == false) {
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
data-bs-toggle="dropdown">
<i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
@ -176,7 +175,7 @@ if (!empty($token) && $tfa == false) {
<a class="dropdown-item" href="#">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar avatar-online">
<div class="avatar avatar">
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
</div>
</div>
@ -196,12 +195,12 @@ if (!empty($token) && $tfa == false) {
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a>
</li>
<li>
<a class="dropdown-item" href="#">
<i class="ti ti-settings me-2 ti-sm"></i>
<span class="align-middle">Settings</span>
</a>
</li>
<!-- <li>-->
<!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>-->
<!-- </a>-->
<!-- </li>-->
<li>
<div class="dropdown-divider"></div>
@ -267,10 +266,7 @@ if (!empty($token) && $tfa == false) {
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
<!-- endbuild -->
@ -285,59 +281,62 @@ if (!empty($token) && $tfa == false) {
<script type="text/javascript">
var theTable;
var <?=csrf_token() ?? 'token'?>v = '<?= csrf_hash() ?>';
var <?=csrf_token() ?? 'token'?>v = '<?= csrf_hash() ?>';
function yeniden(andac = null) {
if (andac == null) {
andac = <?= csrf_token() ?>v;
} else {
<?= csrf_token() ?>v = andac;
}
$('input[name="<?= csrf_token() ?>"]').val(andac);
$('meta[name="<?= config('Security')->tokenName ?>"]').attr('content', andac)
$.ajaxSetup({ headers: {'<?= config('Security')->headerName ?>': andac, 'X-Requested-With': 'XMLHttpRequest' }, <?=csrf_token()?>: andac });
function yeniden(andac = null) {
if (andac == null) {
andac = <?= csrf_token() ?>v;
} else {
<?= csrf_token() ?>v = andac;
}
document.addEventListener('DOMContentLoaded', function() {
$('input[name="<?= csrf_token() ?>"]').val(andac);
$('meta[name="<?= config('Security')->tokenName ?>"]').attr('content', andac)
$.ajaxSetup({
headers: {'<?= config('Security')->headerName ?>': andac, 'X-Requested-With': 'XMLHttpRequest'},
<?=csrf_token()?>: andac
});
}
function adjustSidebar4ContentWrapper() {
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
$('#contentWrapper').addClass('full-width');
} else {
if (!$('#sidebar').hasClass('inactive')) {
$('#contentWrapper').removeClass('full-width');
}
document.addEventListener('DOMContentLoaded', function () {
function adjustSidebar4ContentWrapper() {
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
$('#contentWrapper').addClass('full-width');
} else {
if (!$('#sidebar').hasClass('inactive')) {
$('#contentWrapper').removeClass('full-width');
}
}
}
adjustSidebar4ContentWrapper();
adjustSidebar4ContentWrapper();
$('#sidebarCollapse').on('click', function () {
$('#sidebarCollapse').on('click', function () {
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768 ) {
$('#sidebar').removeClass('d-none d-sm-none d-md-block');
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
$('#sidebar').removeClass('d-none d-sm-none d-md-block');
$('#contentWrapper').removeClass('full-width');
} else {
$('#sidebar').toggleClass('inactive');
$('#contentWrapper').toggleClass('full-width');
$('.collapse.in').toggleClass('in');
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
}
});
$(window).resize(function() {
adjustSidebar4ContentWrapper();
});
<?= $this->renderSection('additionalInlineJs') ?>
$('#contentWrapper').removeClass('full-width');
} else {
$('#sidebar').toggleClass('inactive');
$('#contentWrapper').toggleClass('full-width');
$('.collapse.in').toggleClass('in');
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
}
});
$(window).resize(function () {
adjustSidebar4ContentWrapper();
});
<?= $this->renderSection('additionalInlineJs') ?>
});
</script>

View File

@ -17,7 +17,7 @@ if (!empty($token) && $tfa == false) {
<!DOCTYPE html>
<html
lang="<?= $settings['default_language'] ?? 'es' == 'pt' ? 'pt-br' : $settings['default_language'] ?? 'es' ?>"
lang="<?= $session->get('lang') ?>"
class="h-100"
class="dark-style customizer-hide"
dir="ltr"