Fix minori

Introduzione blocco anagrafiche attraverso relazioni
This commit is contained in:
Luca 2022-02-06 00:15:35 +01:00
parent 8adaf16745
commit 3385ac0d32
10 changed files with 36 additions and 19 deletions

View File

@ -136,8 +136,10 @@ input[type=file] {
} }
.navbar a:hover, .navbar a:hover,
.logo:hover { .logo:hover,
text-decoration: none .alert a, .alert a:hover,
a:hover, a:focus {
text-decoration: none;
} }
.no-padding { .no-padding {

View File

@ -21,7 +21,7 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) { switch ($resource) {
case 'clienti': case 'clienti':
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default AS idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento |where| ORDER BY ragione_sociale"; $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, ' (".tr('bloccata').")', '') ) AS descrizione, idtipointervento_default AS idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento LEFT JOIN an_relazioni ON an_anagrafiche.idrelazione=an_relazioni.id |where| ORDER BY ragione_sociale";
foreach ($elements as $element) { foreach ($elements as $element) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);

View File

@ -600,7 +600,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
<div class="tab-pane'.(!$is_cliente && !$is_fornitore && $is_tecnico ? ' active' : '').''.(!$is_tecnico ? ' hide' : '').'" id="tecnico"> <div class="tab-pane'.(!$is_cliente && !$is_fornitore && $is_tecnico ? ' active' : '').''.(!$is_tecnico ? ' hide' : '').'" id="tecnico">
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "text", "label": "'.tr('Colore').'", "name": "colore", "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength=\'7\'", "icon-after": "<div class=\'img-circle square\'></div>" ]} {[ "type": "text", "label": "'.tr('Colore').'", "name": "colore", "id": "colore_t", "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength=\'7\'", "icon-after": "<div class=\'img-circle square\'></div>" ]}
</div> </div>
</div> </div>
</div>'; </div>';
@ -820,10 +820,10 @@ if (empty($record['deleted_at'])) {
<script> <script>
$(document).ready( function() { $(document).ready( function() {
$(".colorpicker").colorpicker().on("changeColor", function() { $(".colorpicker").colorpicker().on("changeColor", function() {
$("#colore").parent().find(".square").css("background", $("#colore").val()); $("#colore_t").parent().find(".square").css("background", $("#colore_t").val());
}); });
$("#colore").parent().find(".square").css("background", $("#colore").val()); $("#colore_t").parent().find(".square").css("background", $("#colore_t").val());
// Abilito solo ragione sociale oppure solo cognome-nome in base a cosa compilo // Abilito solo ragione sociale oppure solo cognome-nome in base a cosa compilo
$('#nome, #cognome').bind("keyup change", function(e) { $('#nome, #cognome').bind("keyup change", function(e) {

View File

@ -166,9 +166,9 @@ echo '
</div> </div>
</div> </div>
<br><br> <br><br>
<button type="submit" class="btn btn-success" '.$disabled.'><i class="fa fa-check"></i> '.tr('Salva impianti').'</button> <button type="submit" class="btn btn-success pull-right" '.$disabled.'><i class="fa fa-check"></i> '.tr('Salva impianti').'</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi impianto').'" data-href="'.base_path().'/add.php?id_module='.Modules::get('Impianti')['id'].'&source=Attività&select=idimpianti&id_anagrafica='.$record['idanagrafica'].'&ajax=yes"><i class="fa fa-plus"></i> '.tr('Aggiungi impianto').'</button> <button type="button" class="btn btn-primary hide" data-toggle="modal" data-title="'.tr('Aggiungi impianto').'" data-href="'.base_path().'/add.php?id_module='.Modules::get('Impianti')['id'].'&source=Attività&select=idimpianti&id_anagrafica='.$record['idanagrafica'].'&ajax=yes"><i class="fa fa-plus"></i> '.tr('Aggiungi impianto').'</button>
</form>'; </form>';

View File

@ -755,6 +755,9 @@ switch (post('op')) {
$new->codice = Intervento::getNextCodice($data_richiesta); $new->codice = Intervento::getNextCodice($data_richiesta);
$new->data_richiesta = $data_richiesta; $new->data_richiesta = $data_richiesta;
$new->data_scadenza = post('data_scadenza'); $new->data_scadenza = post('data_scadenza');
$new->firma_file = '';
$new->firma_data = null;
$new->firma_nome = '';
$new->save(); $new->save();

View File

@ -24,11 +24,11 @@ if (empty($record['firma_file'])) {
$info_firma = ''; $info_firma = '';
} else { } else {
$frase = tr('Nuova anteprima e firma'); $frase = tr('Nuova anteprima e firma');
$info_firma = '<span class="label label-success"><i class="fa fa-edit"></i> '.tr('Firmato il _DATE_ alle _TIME_ da _PERSON_', [ $info_firma = ''.tr('Firmato il _DATE_ alle _TIME_ da _PERSON_', [
'_DATE_' => Translator::dateToLocale($record['firma_data']), '_DATE_' => Translator::dateToLocale($record['firma_data']),
'_TIME_' => Translator::timeToLocale($record['firma_data']), '_TIME_' => Translator::timeToLocale($record['firma_data']),
'_PERSON_' => '<b>'.$record['firma_nome'].'</b>', '_PERSON_' => '<b>'.$record['firma_nome'].'</b>',
]).'</span>'; ]).'';
} }
// Duplica intervento // Duplica intervento
@ -37,11 +37,10 @@ echo '
<i class="fa fa-copy"></i> '.tr('Duplica attività').' <i class="fa fa-copy"></i> '.tr('Duplica attività').'
</button> </button>
<!-- EVENTUALE FIRMA GIA\' EFFETTUATA -->
'.$info_firma.'
<button type="button" class="btn btn-primary" onclick="anteprimaFirma()" '.($record['flag_completato'] ? 'disabled' : '').'>
<i class="fa fa-desktop"></i> '.$frase.'... <button type="button" class="btn btn-primary '.(!empty($info_firma) ? 'tip' : '').'" title="'.$info_firma.'" onclick="anteprimaFirma()" '.($record['flag_completato'] ? 'disabled' : '').'>
<i class="fa fa-'.(!empty($info_firma) ? 'refresh' : 'desktop').'"></i> '.$frase.'...
</button> </button>
<script> <script>

View File

@ -23,10 +23,11 @@ switch (filter('op')) {
case 'update': case 'update':
$descrizione = filter('descrizione'); $descrizione = filter('descrizione');
$colore = filter('colore'); $colore = filter('colore');
$is_bloccata = filter('is_bloccata');
if (isset($descrizione)) { if (isset($descrizione)) {
if ($dbo->fetchNum('SELECT * FROM `an_relazioni` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) { if ($dbo->fetchNum('SELECT * FROM `an_relazioni` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) {
$dbo->query('UPDATE `an_relazioni` SET `descrizione`='.prepare($descrizione).', `colore`='.prepare($colore).' WHERE `id`='.prepare($id_record)); $dbo->query('UPDATE `an_relazioni` SET `descrizione`='.prepare($descrizione).', `colore`='.prepare($colore).', `is_bloccata`='.prepare($is_bloccata).' WHERE `id`='.prepare($id_record));
flash()->info(tr('Salvataggio completato.')); flash()->info(tr('Salvataggio completato.'));
} else { } else {
flash()->error(tr("E' già presente una relazione _NAME_.", [ flash()->error(tr("E' già presente una relazione _NAME_.", [
@ -42,10 +43,11 @@ switch (filter('op')) {
case 'add': case 'add':
$descrizione = filter('descrizione'); $descrizione = filter('descrizione');
$colore = filter('colore'); $colore = filter('colore');
$is_bloccata = filter('is_bloccata');
if (isset($descrizione)) { if (isset($descrizione)) {
if ($dbo->fetchNum('SELECT * FROM `an_relazioni` WHERE `descrizione`='.prepare($descrizione)) == 0) { if ($dbo->fetchNum('SELECT * FROM `an_relazioni` WHERE `descrizione`='.prepare($descrizione)) == 0) {
$dbo->query('INSERT INTO `an_relazioni` (`descrizione`, `colore` ) VALUES ('.prepare($descrizione).', '.prepare($colore).' )'); $dbo->query('INSERT INTO `an_relazioni` (`descrizione`, `colore`, `is_bloccata` ) VALUES ('.prepare($descrizione).', '.prepare($colore).', '.prepare($is_bloccata).' )');
$id_record = $dbo->lastInsertedID(); $id_record = $dbo->lastInsertedID();

View File

@ -24,10 +24,14 @@ include_once __DIR__.'/../../core.php';
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
<div class="row"> <div class="row">
<div class="col-md-9"> <div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]} {[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
</div> </div>
<div class="col-md-3">
{[ "type": "checkbox", "label": "<?php echo tr('Blocca anagrafiche collegate'); ?>", "name": "is_bloccata", "help":"<?php echo tr('Le anagrafiche associate a questa relazione saranno bloccate'); ?>." ]}
</div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]} {[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
</div> </div>

View File

@ -31,10 +31,14 @@ include_once __DIR__.'/../../core.php';
<div class="panel-body"> <div class="panel-body">
<div class="row"> <div class="row">
<div class="col-md-9"> <div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} {[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
</div> </div>
<div class="col-md-3">
{[ "type": "checkbox", "label": "<?php echo tr('Blocca anagrafiche collegate'); ?>", "name": "is_bloccata", "value": "$is_bloccata$", "help":"<?php echo tr('Le anagrafiche associate a questa relazione saranno bloccate'); ?>." ]}
</div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]} {[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
</div> </div>

View File

@ -14,4 +14,7 @@ CREATE TABLE IF NOT EXISTS `in_righe_tipiinterventi` (
`subtotale` decimal(12,4) NOT NULL, `subtotale` decimal(12,4) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (`id`)); PRIMARY KEY (`id`));
-- Aggiunto flag is_bloccata per relazioni
ALTER TABLE `an_relazioni ` ADD `is_bloccata` tinyint DEFAULT NULL AFTER `colore`;