openstamanager/controller.php

130 lines
4.0 KiB
PHP
Raw Normal View History

<?php
2020-09-07 15:04:06 +02:00
/*
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
2021-01-20 15:08:51 +01:00
* Copyright (C) DevCode s.r.l.
2020-09-07 15:04:06 +02:00
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
2024-04-10 09:49:42 +02:00
use Models\Plugin;
include_once __DIR__.'/core.php';
if (!empty($id_record) && !empty($id_module)) {
redirect(base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
} elseif (empty($id_module)) {
redirect(base_path().'/index.php');
}
2018-06-26 09:41:43 +02:00
include_once App::filepath('include|custom|', 'top.php');
// Inclusione gli elementi fondamentali
include_once base_dir().'/actions.php';
2018-02-22 12:35:22 +01:00
// Widget in alto
echo '{( "name": "widgets", "id_module": "'.$id_module.'", "position": "top", "place": "controller" )}';
$segmenti = $dbo->FetchArray('SELECT `id` FROM `zz_segments` WHERE `id_module` = '.prepare($id_module));
if ($segmenti) {
$segmenti = Modules::getSegments($id_module);
if (empty($segmenti)) {
2024-05-17 12:11:00 +02:00
echo '
<div class="alert alert-warning">
<i class="fa fa-warning-circle"></i> '.tr("Questo gruppo di utenti non ha i permessi per visualizzare nessun segmento di questo modulo").'.
</div>';
}
}
// Lettura eventuali plugins modulo da inserire come tab
echo '
2024-05-17 12:11:00 +02:00
<div class="nav-tabs-custom">
<ul class="nav nav-tabs" id="tabs" role="tablist">
<li class="pull-left active nav-item header">
<a data-widget="tab" href="#tab_0" class="nav-link">
<i class="'.$structure['icon'].'"></i> '.$structure->getTranslation('title');
// Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup
2018-09-19 10:44:32 +02:00
if ($structure->hasAddFile() && $structure->permission == 'rw') {
echo '
2024-05-17 12:11:00 +02:00
<button type="button" class="btn btn-primary" data-widget="modal" data-title="'.tr('Aggiungi').'..." data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'"><i class="fa fa-plus"></i></button>';
}
echo '
2024-05-17 12:11:00 +02:00
</a>
</li>';
2024-04-10 09:49:42 +02:00
$plugins = Plugin::where('idmodule_to', $id_module)->where('position', 'tab_main')->where('enabled', 1)->get();
// Tab dei plugin
foreach ($plugins as $plugin) {
echo '
2024-05-17 12:11:00 +02:00
<li class="nav-item">
<a class="nav-link" data-widget="tab" href="#tab_'.$plugin->id.'" id="link-tab_'.$plugin->id.'">'.$plugin->getTranslation('title').'</a>
</li>';
}
echo '
2024-05-17 12:11:00 +02:00
</ul>
<div class="tab-content">
<div id="tab_0" class="tab-pane active">';
include base_dir().'/include/manager.php';
echo '
2024-05-17 12:11:00 +02:00
</div>';
2018-07-18 15:20:10 +02:00
// Plugin
$module_record = $record;
foreach ($plugins as $plugin) {
2018-07-18 15:20:10 +02:00
$record = $module_record;
echo '
2024-05-17 12:11:00 +02:00
<div id="tab_'.$plugin->id.'" class="tab-pane">';
2024-05-17 12:11:00 +02:00
$id_plugin = $plugin->id;
2024-05-17 12:11:00 +02:00
include base_dir().'/include/manager.php';
2024-05-17 12:11:00 +02:00
echo '
</div>';
}
2018-07-18 15:20:10 +02:00
$record = $module_record;
echo '
2024-05-17 12:11:00 +02:00
</div>
</div>';
2024-04-09 17:08:35 +02:00
redirectOperation($id_module, !empty($id_parent) ? $id_parent : $id_record);
// Interfaccia per la modifica dell'ordine e della visibilità delle colonne (Amministratore)
if ($user->is_admin && string_contains($module['option'], '|select|')) {
echo '
2024-05-17 12:11:00 +02:00
<a class="btn btn-xs btn-default justify-content-end" style="margin-top: -1.25rem;" onclick="modificaColonne(this)">
<i class="fa fa-th-list"></i> '.tr('Modifica colonne').'
2021-03-11 15:09:13 +01:00
</a><div class="clearfix" >&nbsp;</div>
<script>
function modificaColonne(button) {
2024-05-17 12:11:00 +02:00
openModal("'.tr('Modifica colonne').'", globals.rootdir + "/actions.php?id_module=" + globals.id_module + "&op=aggiorna_colonne")
}
</script>';
}
2018-02-22 12:35:22 +01:00
// Widget in basso
echo '{( "name": "widgets", "id_module": "'.$id_module.'", "position": "right", "place": "controller" )}';
2018-06-26 09:41:43 +02:00
include_once App::filepath('include|custom|', 'bottom.php');