Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
506969bc18
|
@ -93,6 +93,10 @@ $settings = [
|
|||
'type' => 'ext',
|
||||
'description' => tr('Permette la creazione dell\'immagine della firma per il rapportino d\'intervento (facoltativo)'),
|
||||
],
|
||||
'fileinfo' => [
|
||||
'type' => 'ext',
|
||||
'description' => tr('Permette la creazione dell\'immagine della firma per il rapportino d\'intervento (facoltativo)'),
|
||||
],
|
||||
|
||||
//'display_errors' => [
|
||||
// 'type' => 'value',
|
||||
|
|
|
@ -247,7 +247,7 @@ switch (filter('op')) {
|
|||
|
||||
if (empty($allday)) {
|
||||
// Lettura dati intervento di riferimento
|
||||
$query = 'SELECT in_interventi_tecnici.idintervento, in_interventi.id, idtecnico, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, (SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi');
|
||||
$query = 'SELECT in_interventi_tecnici.idintervento, in_interventi.id, idtecnico, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, (SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi', null, false);
|
||||
$rs = $dbo->fetchArray($query);
|
||||
|
||||
if (!empty($rs)) {
|
||||
|
@ -257,7 +257,7 @@ switch (filter('op')) {
|
|||
}
|
||||
|
||||
// Lettura dati intervento
|
||||
$query = 'SELECT *, in_interventi.codice, an_anagrafiche.note AS note_anagrafica, idstatointervento AS parent_idstato, in_interventi.idtipointervento AS parent_idtipo, (SELECT GROUP_CONCAT(CONCAT(matricola, " - ", nome) SEPARATOR ", ") FROM my_impianti INNER JOIN my_impianti_interventi ON my_impianti.id=my_impianti_interventi.idimpianto WHERE my_impianti_interventi.idintervento='.prepare($id).' GROUP BY my_impianti_interventi.idintervento) AS impianti, (SELECT descrizione FROM in_statiintervento WHERE idstatointervento=parent_idstato) AS stato, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=parent_idtipo) AS tipo, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica=in_interventi.idanagrafica) AS idzona FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id =in_interventi_tecnici.idintervento LEFT JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi');
|
||||
$query = 'SELECT *, in_interventi.codice, an_anagrafiche.note AS note_anagrafica, idstatointervento AS parent_idstato, in_interventi.idtipointervento AS parent_idtipo, (SELECT GROUP_CONCAT(CONCAT(matricola, " - ", nome) SEPARATOR ", ") FROM my_impianti INNER JOIN my_impianti_interventi ON my_impianti.id=my_impianti_interventi.idimpianto WHERE my_impianti_interventi.idintervento='.prepare($id).' GROUP BY my_impianti_interventi.idintervento) AS impianti, (SELECT descrizione FROM in_statiintervento WHERE idstatointervento=parent_idstato) AS stato, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=parent_idtipo) AS tipo, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica=in_interventi.idanagrafica) AS idzona FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id =in_interventi_tecnici.idintervento LEFT JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi', null, false);
|
||||
$rs = $dbo->fetchArray($query);
|
||||
|
||||
//correggo info indirizzo citta cap provincia con quelle della sede di destinazione
|
||||
|
|
|
@ -803,6 +803,7 @@ switch (post('op')) {
|
|||
$copia_sessioni = post('copia_sessioni');
|
||||
$copia_righe = post('copia_righe');
|
||||
$copia_impianti = post('copia_impianti');
|
||||
$copia_allegati = post('copia_allegati');
|
||||
|
||||
$new = $intervento->replicate();
|
||||
$new->idstatointervento = $id_stato;
|
||||
|
@ -882,6 +883,17 @@ switch (post('op')) {
|
|||
}
|
||||
}
|
||||
|
||||
//copia allegati
|
||||
if (!empty($copia_allegati)) {
|
||||
$allegati = $intervento->uploads();
|
||||
foreach ($allegati as $allegato) {
|
||||
$allegato->copia([
|
||||
'id_module' => $new->getModule()->id,
|
||||
'id_record' => $new->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
flash()->info(tr('Attività duplicata correttamente!'));
|
||||
|
||||
break;
|
||||
|
|
|
@ -39,17 +39,22 @@ echo '
|
|||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL ORDER BY descrizione", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica righe').'", "name": "copia_righe", "help": "'.tr('Selezione per riportare anche le righe nella nuova attività').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica sessioni').'", "name": "copia_sessioni", "help": "'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica impianti').'", "name": "copia_impianti", "help": "'.tr('Selezione per riportare anche gli impianti nella nuova attività').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica allegati').'", "name": "copia_allegati", "help": "'.tr('Selezione per riportare anche gli allegati nella nuova attività').'", "value": 1 ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
|
|
|
@ -279,16 +279,16 @@ switch (filter('op')) {
|
|||
];
|
||||
|
||||
foreach ($dirs as $dir => $description) {
|
||||
$size = FileSystem::folderSize($dir, ['htaccess']);
|
||||
$size = FileSystem::folderSize($dir, ['htaccess','gitkeep','ini','xml']);
|
||||
|
||||
$results[] = [
|
||||
'description' => $description,
|
||||
'size' => $size,
|
||||
'formattedSize' => FileSystem::formatBytes($size),
|
||||
'count' => FileSystem::fileCount($dir, ['htaccess']) ?: 0,
|
||||
'dbSize' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT SUM(`size`) AS dbsize FROM zz_files')['dbsize'] : '',
|
||||
'dbCount' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT COUNT(`id`) AS dbcount FROM zz_files')['dbcount'] : '',
|
||||
'dbExtensions' => ($description == 'Allegati') ? $dbo->fetchArray("SELECT SUBSTRING_INDEX(filename, '.', -1) AS extension, COUNT(*) AS num FROM zz_files GROUP BY extension ORDER BY num DESC LIMIT 10") : '',
|
||||
'count' => FileSystem::fileCount($dir, ['htaccess','gitkeep','ini','xml']) ?: 0,
|
||||
'dbSize' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT SUM(`size`) AS dbsize FROM zz_files')['dbsize'] : 0,
|
||||
'dbCount' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT COUNT(`id`) AS dbcount FROM zz_files')['dbcount'] : 0,
|
||||
'dbExtensions' => ($description == 'Allegati') ? $dbo->fetchArray("SELECT SUBSTRING_INDEX(filename, '.', -1) AS extension, COUNT(*) AS num FROM zz_files GROUP BY extension ORDER BY num DESC LIMIT 10") : 0,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -51,38 +51,39 @@ function crea_grafico(values){
|
|||
|
||||
$data = [];
|
||||
$labels = [];
|
||||
|
||||
values.forEach(function(element) {
|
||||
$data.push(element.size);
|
||||
|
||||
//Segnalazione se sul server sembrano mancare file rispetto a quanto previsto a DB
|
||||
if (element.dbSize!==""){
|
||||
if (element.dbSize>0 && element.description == "Allegati"){
|
||||
if (element.size<element.dbSize){
|
||||
var diff = (element.dbSize-element.size);
|
||||
|
||||
if (diff>1000){
|
||||
$("#message").append("<div class=\"label label-warning\" ><i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i> "+formatBytes(diff)+" di file mancanti per allegati.</div><br>");
|
||||
$("#message").append("<div class=\"label label-warning\" ><i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i> "+formatBytes(diff)+" di files mancanti per allegati.</div><br>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Segnalazione se sul server sembrano mancare file rispetto a quanto previsto a DB
|
||||
if (element.dbCount!==""){
|
||||
if (element.dbCount>0 && element.description == "Allegati" ){
|
||||
if (element.count<element.dbCount){
|
||||
var diff = (element.dbCount-element.count);
|
||||
|
||||
$("#message").append("<div class=\"label label-warning\" ><i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i> "+diff+" file non trovati sul disco.</div><br>");
|
||||
$("#message").append("<div class=\"label label-warning\" ><i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i> "+diff+" files non trovati sul disco per allegati.</div><br>");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Numero di file in Allegati per estensione
|
||||
|
||||
//Numero di file in Allegati suddivisi per estensione
|
||||
if (element.dbExtensions.length > 0){
|
||||
|
||||
$("#message").append("<br><p><b>Top 10 allegati:</b></p>");
|
||||
|
||||
element.dbExtensions.forEach(function(extension) {
|
||||
|
||||
$("#message").append("<div class=\"label label-info\" ><i class=\"fa fa-file\" aria-hidden=\"true\"></i> <b>"+extension["NUM"]+"</b> file con estensione <b>"+extension["EXTENSION"]+"</b>.</div><br>");
|
||||
element.dbExtensions.forEach(function(ext) {
|
||||
$("#message").append("<div class=\"label label-info\" ><i class=\"fa fa-file\" aria-hidden=\"true\"></i> <b>"+ext["num"]+"</b> files con estensione <b>"+ext["extension"]+"</b>.</div><br>");
|
||||
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue