openstamanager/controller.php

129 lines
3.8 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) {
2024-05-21 16:26:19 +02:00
$segmenti = Modules::getSegments($id_module);
if (empty($segmenti)) {
echo '
2024-05-17 12:11:00 +02:00
<div class="alert alert-warning">
2024-05-21 16:26:19 +02:00
<i class="fa fa-warning-circle"></i> '.tr('Questo gruppo di utenti non ha i permessi per visualizzare nessun segmento di questo modulo').'.
2024-05-17 12:11:00 +02:00
</div>';
2024-05-21 16:26:19 +02:00
}
}
// Lettura eventuali plugins modulo da inserire come tab
echo '
2024-05-24 11:42:35 +02:00
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1>
<i class="'.$structure['icon'].'"></i> '.$structure->getTranslation('title');
2024-05-23 18:39:25 +02:00
2024-05-24 09:17:38 +02:00
// Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup
if ($structure->hasAddFile() && $structure->permission == 'rw') {
echo '
2024-05-24 11:42:35 +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>';
2024-05-24 09:17:38 +02:00
}
2024-05-24 09:17:38 +02:00
echo '
2024-05-23 18:39:25 +02:00
</h1>
</div>
</div>
2024-05-24 11:42:35 +02:00
</div>
</section>
2024-05-24 11:42:35 +02:00
<div class="tab-content">
<div id="tab_0" class="tab-pane active">';
include base_dir().'/include/manager.php';
echo '
2024-05-24 11:42:35 +02:00
</div>';
2024-06-04 17:05:21 +02:00
// Plugins
$plugins = Plugin::where('idmodule_to', $id_module)->where('position', 'tab_main')->where('enabled', 1)->get();
2018-07-18 15:20:10 +02:00
$module_record = $record;
foreach ($plugins as $plugin) {
2018-07-18 15:20:10 +02:00
$record = $module_record;
echo '
2024-05-24 11:42:35 +02:00
<div id="tab_'.$plugin->id.'" class="tab-pane">';
2024-05-21 16:26:19 +02:00
$id_plugin = $plugin->id;
2024-05-21 16:26:19 +02:00
include base_dir().'/include/manager.php';
2024-05-21 16:26:19 +02:00
echo '
2024-05-24 11:42:35 +02:00
</div>';
}
2018-07-18 15:20:10 +02:00
$record = $module_record;
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-21 12:22:55 +02:00
<br>
2024-05-24 11:42:35 +02:00
<div class="row">
<div class="col-md-12 text-right">
<a class="btn btn-xs btn-default " style="margin-top: -1.25rem;" onclick="modificaColonne(this)">
<i class="fa fa-th-list"></i> '.tr('Modifica colonne').'
</a>
</div>
</div>
<div class="clearfix" >&nbsp;
2024-05-21 12:22:55 +02:00
</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>';
}
2024-05-24 11:42:35 +02:00
echo '
</div>';
2024-05-21 12:22:55 +02:00
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');