Compare commits
11 Commits
7d21789e85
...
37822a2f74
Author | SHA1 | Date |
---|---|---|
Dasc3er | 37822a2f74 | |
Dasc3er | 026b517845 | |
loviuz | 4b1bbd7845 | |
Dasc3er | f9d002ab1a | |
Dasc3er | b6e7530af8 | |
Dasc3er | 05839837cc | |
Dasc3er | dfff2ec072 | |
Dasc3er | d1d3dcd86c | |
Dasc3er | 833a13b74d | |
Dasc3er | 1546174bea | |
Dasc3er | 37c6a11ae5 |
Binary file not shown.
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 64 KiB |
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
|
@ -211,7 +211,7 @@ function modificaAllegato(button) {
|
|||
* Funzione per gestire il download di un allegato.
|
||||
* @param button
|
||||
*/
|
||||
function aggiungiAllegato(button) {
|
||||
function scaricaAllegato(button) {
|
||||
const gestione = $(button).closest(".gestione-allegati");
|
||||
const allegato = $(button).closest("tr").data();
|
||||
|
||||
|
|
|
@ -195,7 +195,7 @@ if (post('db_host') !== null) {
|
|||
"generated" : "true",
|
||||
"icons" : [
|
||||
{
|
||||
"src": "assets/dist/img/logo.png",
|
||||
"src": "assets/dist/img/logo_completo.png",
|
||||
"type": "image/png",
|
||||
"sizes": "489x91"
|
||||
}
|
||||
|
@ -329,7 +329,7 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
|||
echo '
|
||||
<div class="box box-center-large box-warning">
|
||||
<div class="box-header with-border text-center">
|
||||
<img src="'.$img.'/logo.png" width="300" alt="'.tr('OSM Logo').'">
|
||||
<img src="'.$img.'/logo_completo.png" width="300" alt="'.tr('OSM Logo').'">
|
||||
</div>
|
||||
|
||||
<div class="box-body" id="smartwizard">
|
||||
|
|
|
@ -124,7 +124,7 @@ $img = App::getPaths()['img'];
|
|||
echo '
|
||||
<div class="box box-center-large box-warning">
|
||||
<div class="box-header with-border text-center">
|
||||
<img src="'.$img.'/logo.png" class="logo-image" alt="'.tr('OSM Logo').'">
|
||||
<img src="'.$img.'/logo_completo.png" class="logo-image" alt="'.tr('OSM Logo').'">
|
||||
</div>
|
||||
|
||||
<div class="box-body">
|
||||
|
|
|
@ -145,7 +145,7 @@ if (!empty(flash()->getMessage('error'))) {
|
|||
echo '
|
||||
<form action="?op=login" method="post" class="login-box box" autocomplete="off" >
|
||||
<div class="box-header with-border text-center">
|
||||
<img src="'.App::getPaths()['img'].'/logo.png" class="img-responsive" alt="'.tr('OSM Logo').'">
|
||||
<img src="'.App::getPaths()['img'].'/logo_completo.png" class="img-responsive" alt="'.tr('OSM Logo').'">
|
||||
</div>
|
||||
|
||||
<div class="login-box-body box-body">
|
||||
|
|
2
info.php
2
info.php
|
@ -28,7 +28,7 @@ include_once App::filepath('include|custom|', 'top.php');
|
|||
echo '
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<img src="'.$paths['img'].'/logo.png" class="pull-left img-responsive" width="300" alt="'.tr('OSM Logo').'">
|
||||
<img src="'.$paths['img'].'/logo_completo.png" class="pull-left img-responsive" width="300" alt="'.tr('OSM Logo').'">
|
||||
<div class="pull-right">
|
||||
<i class="fa fa-info"></i> '.tr('Informazioni').'
|
||||
</div>
|
||||
|
|
|
@ -99,7 +99,7 @@ switch ($resource) {
|
|||
];
|
||||
|
||||
$impianti = $superselect['matricola'];
|
||||
if (!empty($impianti)){
|
||||
if (!empty($impianti)) {
|
||||
$where[] = 'my_componenti.id_impianto IN ('.$impianti.')';
|
||||
}
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ echo '
|
|||
<script>
|
||||
globals.impostazioni = {
|
||||
errors: {},
|
||||
numero_ricerche: 0,
|
||||
};
|
||||
|
||||
$("[id^=impostazioni]").click(function() {
|
||||
|
@ -77,11 +78,29 @@ $("[id^=impostazioni]").click(function() {
|
|||
});
|
||||
|
||||
$("#ricerca_impostazioni").change(function (){
|
||||
let ricerca = $(this).val();
|
||||
const ricerca = $(this).val();
|
||||
const icon = $(this).parent().find("span");
|
||||
$(".box").removeClass("hidden");
|
||||
|
||||
// Segnalazione ricerca in corso
|
||||
globals.impostazioni.numero_ricerche = globals.impostazioni.numero_ricerche + 1;
|
||||
// Impostazione icona di caricamento
|
||||
icon
|
||||
.addClass("fa-spinner fa-spin")
|
||||
.removeClass("fa-search")
|
||||
|
||||
if (ricerca) {
|
||||
$.get("'.$structure->fileurl('actions.php').'?id_module='.$id_module.'&op=ricerca&search=" + ricerca, function(data) {
|
||||
// Segnalazione ricerca completata
|
||||
globals.impostazioni.numero_ricerche = globals.impostazioni.numero_ricerche - 1;
|
||||
|
||||
// Impostazione icona di ricerca
|
||||
if (globals.impostazioni.numero_ricerche === 0){
|
||||
icon
|
||||
.removeClass("fa-spinner fa-spin")
|
||||
.addClass("fa-search")
|
||||
}
|
||||
|
||||
$(".box").addClass("hidden");
|
||||
|
||||
let sezioni = JSON.parse(data);
|
||||
|
|
|
@ -230,7 +230,7 @@ switch (post('op')) {
|
|||
$intervento->delete();
|
||||
|
||||
// Elimino il collegamento al componente
|
||||
$dbo->query('DELETE FROM my_componenti WHERE idintervento='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM my_componenti WHERE id_intervento='.prepare($id_record));
|
||||
|
||||
// Eliminazione associazione tecnici collegati all'intervento
|
||||
$dbo->query('DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($id_record));
|
||||
|
@ -336,7 +336,7 @@ switch (post('op')) {
|
|||
// Collegamento all'Impianto tramite generazione Componente
|
||||
$id_impianto = post('id_impianto');
|
||||
$impianto = Impianto::find($id_impianto);
|
||||
if (!empty($impianto)){
|
||||
if (!empty($impianto)) {
|
||||
// Data di inizio dell'intervento (data_richiesta in caso di assenza di sessioni)
|
||||
$data_registrazione = $intervento->inizio ?: $intervento->data_richiesta;
|
||||
|
||||
|
|
|
@ -695,7 +695,7 @@ $(document).ready(function() {
|
|||
ordine.getElement().selectReset();
|
||||
|
||||
// Impostazione del tipo intervento da preventivo
|
||||
var data = (this).selectData()
|
||||
var data = $(this).selectData()
|
||||
if (data.idtipointervento) {
|
||||
input("idtipointervento").getElement()
|
||||
.selectSet(data.idtipointervento);
|
||||
|
|
|
@ -24,6 +24,14 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
$compontenti_impianto = Componente::where('id_impianto', '=', $id_record);
|
||||
|
||||
// Avviso sul numero di componenti
|
||||
if ($compontenti_impianto->count() == 0) {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info-circle"></i> '.tr("Nessun componente disponibile per l'impianto corrente").'
|
||||
</div>';
|
||||
}
|
||||
|
||||
$componenti_installati = (clone $compontenti_impianto)
|
||||
->whereNull('data_sostituzione')
|
||||
->whereNull('data_rimozione')
|
||||
|
@ -35,40 +43,43 @@ $componenti_rimossi = (clone $compontenti_impianto)
|
|||
->whereNotNull('data_rimozione')
|
||||
->get();
|
||||
|
||||
echo generaListaComponenti($componenti_installati, [
|
||||
'type' => 'primary',
|
||||
'title' => tr('Componenti installati'),
|
||||
'date' => 'data_installazione',
|
||||
'date_name' => tr('Installato'),
|
||||
]);
|
||||
$elenchi = [
|
||||
[
|
||||
'componenti' => $componenti_installati,
|
||||
'type' => 'primary',
|
||||
'title' => tr('Componenti installati'),
|
||||
'date' => 'data_installazione',
|
||||
'date_name' => tr('Installato'),
|
||||
],
|
||||
[
|
||||
'componenti' => $componenti_sostituiti,
|
||||
'type' => 'warning',
|
||||
'title' => tr('Componenti sostituiti'),
|
||||
'date' => 'data_sostituzione',
|
||||
'date_name' => tr('Sostituzione'),
|
||||
],
|
||||
[
|
||||
'componenti' => $componenti_rimossi,
|
||||
'type' => 'danger',
|
||||
'title' => tr('Componenti rimossi'),
|
||||
'date' => 'data_rimozione',
|
||||
'date_name' => tr('Rimosso'),
|
||||
],
|
||||
];
|
||||
|
||||
echo generaListaComponenti($componenti_sostituiti, [
|
||||
'type' => 'warning',
|
||||
'title' => tr('Componenti sostituiti'),
|
||||
'date' => 'data_sostituzione',
|
||||
'date_name' => tr('Sostituzione'),
|
||||
]);
|
||||
$plugin = Plugin::pool('Componenti');
|
||||
$module = $plugin->module;
|
||||
|
||||
echo generaListaComponenti($componenti_rimossi, [
|
||||
'type' => 'danger',
|
||||
'title' => tr('Componenti rimossi'),
|
||||
'date' => 'data_rimozione',
|
||||
'date_name' => tr('Rimosso'),
|
||||
]);
|
||||
|
||||
function generaListaComponenti($componenti, $options)
|
||||
{
|
||||
$type = $options['type'];
|
||||
$title = $options['title'];
|
||||
$date = $options['date'];
|
||||
$date_name = $options['date_name'];
|
||||
|
||||
$database = database();
|
||||
$plugin = Plugin::pool('Componenti');
|
||||
$module = $plugin->module;
|
||||
// Generazione elenchi HTML
|
||||
foreach ($elenchi as $elenco) {
|
||||
$componenti = $elenco['componenti'];
|
||||
$type = $elenco['type'];
|
||||
$title = $elenco['title'];
|
||||
$date = $elenco['date'];
|
||||
$date_name = $elenco['date_name'];
|
||||
|
||||
if (empty($componenti) || $componenti->isEmpty()) {
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
echo '
|
||||
|
@ -120,7 +131,7 @@ function generaListaComponenti($componenti, $options)
|
|||
</tr>
|
||||
|
||||
<tr class="dettagli-componente" data-id="'.$componente->id.'" style="display: none">
|
||||
<td colspan="4">
|
||||
<td colspan="5">
|
||||
<div class="panel panel-'.$type.'">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Dati').'</h3>
|
||||
|
@ -245,7 +256,7 @@ echo '
|
|||
const id_componente = tr.data("id");
|
||||
|
||||
if(confirm("'.tr('Vuoi eliminare questo componente?').'")){
|
||||
redirect("'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=delete&backto=record-edit&id_plugin='.$id_plugin.'&id=" + id_componente + "&hash=tab_'.$structure->id.'");
|
||||
redirect("'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=rimuovi&backto=record-edit&id_plugin='.$id_plugin.'&id_componente=" + id_componente + "&hash=tab_'.$structure->id.'");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -369,6 +369,8 @@ abstract class Component extends Model
|
|||
$new->qta_evasa = 0;
|
||||
$new->original_type = null;
|
||||
$new->original_id = null;
|
||||
$new->original_document_type = null;
|
||||
$new->original_document_id = null;
|
||||
|
||||
return $new;
|
||||
}
|
||||
|
|
|
@ -147,7 +147,7 @@ class FileManager implements ManagerInterface
|
|||
<td>'.timestampFormat($file['created_at']).'</td>
|
||||
|
||||
<td class="text-center">
|
||||
<button type="button" class="btn btn-xs btn-primary" onclick="aggiungiAllegato(this)">
|
||||
<button type="button" class="btn btn-xs btn-primary" onclick="scaricaAllegato(this)">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>';
|
||||
|
||||
|
|
|
@ -9,19 +9,23 @@ WHERE `id_componente_vecchio` IS NOT NULL');
|
|||
foreach ($componenti_interessati as $componente) {
|
||||
$note = '';
|
||||
|
||||
|
||||
// Lettura da impostazioni INI
|
||||
$array = Ini::read($componente['contenuto']);
|
||||
foreach ($array as $nome => $c) {
|
||||
$note .= $nome.': '.$array[$nome]['valore'].'\\n';
|
||||
$note .= '<p>'.$nome.': '.$array[$nome]['valore'].'</p>\\n';
|
||||
}
|
||||
|
||||
// Lettura informazioni interne
|
||||
$data_installazione = $array['Data di installazione']['valore'] ?: null;
|
||||
|
||||
// Aggiornmaneto note
|
||||
$database->update('my_componenti_articoli', [
|
||||
$database->update('my_componenti', [
|
||||
'note' => $note,
|
||||
'data_installazione' => $data_installazione,
|
||||
], ['id' => $componente['id']]);
|
||||
}
|
||||
|
||||
// Rimozione dati deprecati
|
||||
$database->query('ALTER TABLE `my_componenti` DROP `pre_id_articolo`, DROP `id_componente_vecchio`');
|
||||
$database->query('DROP TABLE `my_impianto_componenti`');
|
||||
|
||||
//$database->query('ALTER TABLE `my_componenti` DROP `pre_id_articolo`, DROP `id_componente_vecchio`');
|
||||
//$database->query('DROP TABLE `my_impianto_componenti`');
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- Aggiornato widget Contratti in scadenza (sostituito fatturabile con pianificabile)
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(dati.id) AS dato FROM(SELECT id, ((SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=\'ore\' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.is_completato = 1)), 0) ) AS ore_rimanenti, DATEDIFF(data_conclusione, NOW()) AS giorni_rimanenti, data_conclusione, ore_preavviso_rinnovo, giorni_preavviso_rinnovo, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=co_contratti.idanagrafica) AS ragione_sociale FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND rinnovabile = 1 AND YEAR(data_conclusione) > 1970 AND (SELECT id FROM co_contratti contratti WHERE contratti.idcontratto_prev = co_contratti.id) IS NULL HAVING (ore_rimanenti < ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) < ABS(giorni_preavviso_rinnovo)) ORDER BY giorni_rimanenti ASC, ore_rimanenti ASC) dati' WHERE `zz_widgets`.`name` = 'Contratti in scadenza';
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(dati.id) AS dato FROM(SELECT id, ((SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=''ore'' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.is_completato = 1)), 0) ) AS ore_rimanenti, DATEDIFF(data_conclusione, NOW()) AS giorni_rimanenti, data_conclusione, ore_preavviso_rinnovo, giorni_preavviso_rinnovo, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=co_contratti.idanagrafica) AS ragione_sociale FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND rinnovabile = 1 AND YEAR(data_conclusione) > 1970 AND (SELECT id FROM co_contratti contratti WHERE contratti.idcontratto_prev = co_contratti.id) IS NULL HAVING (ore_rimanenti < ore_preavviso_rinnovo OR DATEDIFF(data_conclusione, NOW()) < ABS(giorni_preavviso_rinnovo)) ORDER BY giorni_rimanenti ASC, ore_rimanenti ASC) dati' WHERE `zz_widgets`.`name` = 'Contratti in scadenza';
|
||||
|
||||
-- Aggiunto numero di email da inviare in contemporanea
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES
|
||||
|
@ -36,7 +36,7 @@ ALTER TABLE `my_componenti` ADD `id_componente_vecchio` INT(11), ADD `id_interve
|
|||
|
||||
-- Introduzione categoria dedicata ai Componenti
|
||||
INSERT INTO `mg_categorie` (`nome`, `colore`, `nota`) VALUES ('Componenti', '#ffffff', '');
|
||||
INSERT INTO `mg_articoli` (`codice`, `descrizione`, `id_categoria`) SELECT DISTINCT(`filename`), `nome`, (SELECT `id` FROM `mg_categorie` WHERE `nome` = 'Componenti' LIMIT 1) FROM `my_impianto_componenti`;
|
||||
INSERT INTO `mg_articoli` (`codice`, `descrizione`, `id_categoria`, `attivo`) SELECT DISTINCT(`filename`), `nome`, (SELECT `id` FROM `mg_categorie` WHERE `nome` = 'Componenti' LIMIT 1), 1 FROM `my_impianto_componenti`;
|
||||
|
||||
-- Trasposizione componenti esistenti
|
||||
INSERT INTO `my_componenti` (`id_componente_vecchio`, `id_impianto`, `id_intervento`, `id_articolo`, `data_registrazione`, `data_sostituzione`) SELECT `id`, `idimpianto`, `idintervento`, (SELECT `id` FROM `mg_articoli` WHERE `codice` = `my_impianto_componenti`.`filename` LIMIT 1), `data`, `data_sostituzione` FROM `my_impianto_componenti`;
|
||||
|
@ -57,3 +57,7 @@ ALTER TABLE `my_componenti` ADD FOREIGN KEY (`id_intervento`) REFERENCES `in_int
|
|||
ADD FOREIGN KEY (`id_impianto`) REFERENCES `my_impianti`(`id`) ON DELETE CASCADE,
|
||||
ADD FOREIGN KEY (`id_articolo`) REFERENCES `mg_articoli`(`id`) ON DELETE CASCADE;
|
||||
|
||||
-- Aggiunte colonne Sedi e Referenti in tabella Anagrafiche
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE name = 'Anagrafiche'), 'Referenti', '(SELECT GROUP_CONCAT(nome SEPARATOR '', '') FROM an_referenti WHERE an_referenti .idanagrafica = an_anagrafiche.idanagrafica)', 11, 0, 0, 0, '', '', 1, 0, 1),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE name = 'Anagrafiche'), 'Sedi', '(SELECT GROUP_CONCAT(nomesede SEPARATOR '', '') FROM an_sedi WHERE an_sedi.idanagrafica = an_anagrafiche.idanagrafica)', 10, 0, 0, 0, '', '', 1, 0, 1);
|
||||
|
|
Loading…
Reference in New Issue