1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-02 00:46:44 +01:00

Bloccati stati di sistema per preventivi e contratti

This commit is contained in:
Luca 2019-11-13 22:11:12 +01:00
parent e678a9f114
commit fd7f1714a1
10 changed files with 73 additions and 46 deletions

View File

@ -40,9 +40,9 @@ switch (post('op')) {
//scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato nei contratti
if (count($dbo->fetchArray('SELECT id FROM co_contratti WHERE idstato='.prepare($id_record))) > 0) {
$query = 'UPDATE co_staticontratti SET deleted_at = NOW() WHERE id='.prepare($id_record);
$query = 'UPDATE co_staticontratti SET deleted_at = NOW() WHERE is_cancellabile = 1 AND id='.prepare($id_record);
} else {
$query = 'DELETE FROM co_staticontratti WHERE id='.prepare($id_record);
$query = 'DELETE FROM co_staticontratti WHERE is_cancellabile = 1 AND id='.prepare($id_record);
}
$dbo->query($query);

View File

@ -1,15 +1,13 @@
<?php
include_once __DIR__.'/../../core.php';
$contratti = $dbo->fetchNum('SELECT id FROM co_contratti WHERE idstato='.prepare($id_record));
$attr = '';
/*
if ($contratti == 0) {
if ($record['is_cancellabile']) {
$attr = '';
} else {
$attr = 'readonly';
echo '<div class="alert alert-warning">'.tr('Alcune impostazioni non possono essere modificate per questo stato perché già utilizzato in alcuni contratti.').'</div>';
}*/
echo '<div class="alert alert-warning">'.tr('Alcune impostazioni non possono essere modificate per questo stato.').'</div>';
}
?>
<form action="" method="post" id="edit-form">
<input type="hidden" name="op" value="update">
@ -20,19 +18,19 @@ if ($contratti == 0) {
<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$", "extra": "<?php echo $attr; ?>" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato completato'); ?>", "name": "is_completato", "value": "$is_completato$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato completato?'); ?>", "name": "is_completato", "value": "$is_completato$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato pianificabile'); ?>", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come pianificabili'); ?>", "placeholder": "<?php echo tr('Pianificabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato pianificabile?'); ?>", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come pianificabili'); ?>", "placeholder": "<?php echo tr('Pianificabile'); ?>", "extra": "" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato fatturabile'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato fatturabile?'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('I contratti che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "" ]}
</div>
</div>
@ -58,8 +56,14 @@ if (!empty($contratti)) {
]).'.
</div>';
}
?>
if (!empty($record['is_cancellabile'])) {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<i class="fa fa-trash"></i>'.tr('Elimina').'
</a>';
}
?>

View File

@ -7,7 +7,7 @@ include_once __DIR__.'/../../core.php';
<input type="hidden" name="backto" value="record-edit">
<div class="row">
<div class="col-md-2">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
</div>
@ -15,7 +15,7 @@ include_once __DIR__.'/../../core.php';
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
</div>
<div class="col-md-2">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "id": "colore_", "required": 1, "class": "colorpicker text-center", "value": "#ffffff", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
</div>
</div>

View File

@ -18,15 +18,15 @@ if ($record['can_delete']) {
{[ "type": "span", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "value": "$codice$" ]}
</div>
<div class="col-md-6">
<div class="col-md-5">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato completato'); ?>", "name": "completato", "value": "$completato$", "help": "<?php echo tr('Gli interventi che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato completato?'); ?>", "name": "completato", "value": "$completato$", "help": "<?php echo tr('Gli interventi che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "<?php echo $attr; ?>" ]}
</div>
<div class="col-md-2">
<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>" ]}
</div>
</div>
@ -36,11 +36,11 @@ if ($record['can_delete']) {
{[ "type": "checkbox", "label": "<?php echo tr('Abilita notifiche'); ?>", "name": "notifica", "help": "<?php echo tr('Quando l\'intervento passa in questo stato viene inoltrata una notifica ai destinatari designati'); ?>.", "value": "$notifica$" ]}
</div>
<div class="col-md-4">
<div class="col-md-5">
{[ "type": "select", "label": "<?php echo tr('Template email'); ?>", "name": "email", "value": "$id_email$", "values": "query=SELECT id, name AS descrizione FROM em_templates WHERE id_module = <?php echo Modules::get('Interventi')['id']; ?> AND deleted_at IS NULL", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
</div>
<div class="col-md-6">
<div class="col-md-5">
{[ "type": "text", "label": "<?php echo tr('Destinatari'); ?>", "name": "destinatari", "value": "$destinatari$", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
</div>
</div>

View File

@ -40,9 +40,9 @@ switch (post('op')) {
//scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato nei preventivi
if (count($dbo->fetchArray('SELECT id FROM co_preventivi WHERE idstato='.prepare($id_record))) > 0) {
$query = 'UPDATE co_statipreventivi SET deleted_at = NOW() WHERE id='.prepare($id_record);
$query = 'UPDATE co_statipreventivi SET deleted_at = NOW() WHERE is_cancellabile = 1 AND id='.prepare($id_record);
} else {
$query = 'DELETE FROM co_statipreventivi WHERE id='.prepare($id_record);
$query = 'DELETE FROM co_statipreventivi WHERE is_cancellabile = 1 AND id='.prepare($id_record);
}
$dbo->query($query);

View File

@ -1,15 +1,14 @@
<?php
include_once __DIR__.'/../../core.php';
$preventivi = $dbo->fetchNum('SELECT id FROM co_preventivi WHERE idstato='.prepare($id_record));
$attr = '';
/*
if ($preventivi == 0) {
if ($record['is_cancellabile']) {
$attr = '';
} else {
$attr = 'readonly';
echo '<div class="alert alert-warning">'.tr('Alcune impostazioni non possono essere modificate per questo stato perché già utilizzato in alcuni preventivi.').'</div>';
}*/
echo '<div class="alert alert-warning">'.tr('Alcune impostazioni non possono essere modificate per questo stato.').'</div>';
}
?>
<form action="" method="post" id="edit-form">
<input type="hidden" name="op" value="update">
@ -20,19 +19,19 @@ if ($preventivi == 0) {
<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$", "extra": "<?php echo $attr; ?>" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato completato'); ?>", "name": "is_completato", "value": "$is_completato$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato completato?'); ?>", "name": "is_completato", "value": "$is_completato$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato pianificabile'); ?>", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come pianificabili'); ?>", "placeholder": "<?php echo tr('Pianificabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato pianificabile?'); ?>", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come pianificabili'); ?>", "placeholder": "<?php echo tr('Pianificabile'); ?>", "extra": "" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Questo è uno stato fatturabile'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "<?php echo $attr; ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Stato fatturabile?'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('I preventivi che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "" ]}
</div>
</div>
@ -58,8 +57,13 @@ if (!empty($preventivi)) {
]).'.
</div>';
}
?>
if (!empty($record['is_cancellabile'])) {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<i class="fa fa-trash"></i>'.tr('Elimina').'
</a>';
}
?>

View File

@ -11,7 +11,7 @@ include_once __DIR__.'/../../core.php';
{[ "type": "text", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 1 ]}
</div>
<div class="col-md-6">
<div class="col-md-8">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
</div>
</div>

View File

@ -12,7 +12,7 @@ include_once __DIR__.'/../../core.php';
{[ "type": "text", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 1, "value": "$categoria$" ]}
</div>
<div class="col-md-6">
<div class="col-md-8">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
</div>
</div>

View File

@ -5,13 +5,15 @@ include_once __DIR__.'/../../core.php';
use Plugins\ReceiptFE\Interaction;
echo '
<p>'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.</p>
<p>'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.</p>';
if (Interaction::isEnabled()) {
echo '
<p>'.tr('Tramite il pulsante _BTN_ è possibile procedere al recupero delle ricevute, aggiornando automaticamente lo stato delle relative fatture e allegandole ad esse', [
'_BTN_' => '<b>'.tr('Ricerca ricevute').'</b>',
]).'.</p>
<br>
]).'.</p>';
}
echo '
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">
@ -184,8 +186,11 @@ function importAll(btn) {
html: html,
type: "info",
})
buttonRestore(btn, restore);
$("#list").load("'.$structure->fileurl('list.php').'?id_module='.$id_module.'&id_plugin='.$id_plugin.'", function() {
buttonRestore(button, restore);
});
},
error: function(data) {
alert("'.tr('Errore').': " + data);

View File

@ -882,4 +882,18 @@ ALTER TABLE `mg_articoli` ADD `id_fornitore` INT(11) NULL DEFAULT NULL;
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `summable`, `visible`, `default`) VALUES
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Fornitore', '(SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = `id_fornitore`)', 6, 1, 0, 0, 0, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di acquisto', 'prezzo_acquisto', 6, 1, 0, 1, 1, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di vendita', 'prezzo_vendita', 6, 1, 0, 1, 1, 0, 1);
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di vendita', 'prezzo_vendita', 6, 1, 0, 1, 1, 0, 1);
-- Aggiunta flag is_cancellabile per stati preventivi e contratti
ALTER TABLE `co_statipreventivi` ADD `is_cancellabile` BOOLEAN NOT NULL DEFAULT TRUE;
ALTER TABLE `co_staticontratti` ADD `is_cancellabile` BOOLEAN NOT NULL DEFAULT TRUE;
-- Imposto gli stati Bozza, In lavorazione e Concluso non eliminabili per stati preventivi e contratti
UPDATE `co_statipreventivi` SET `is_cancellabile` = '0' WHERE `co_statipreventivi`.`descrizione` = 'Bozza';
UPDATE `co_statipreventivi` SET `is_cancellabile` = '0' WHERE `co_statipreventivi`.`descrizione` = 'In lavorazione';
UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Bozza';
UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'In lavorazione';
UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Concluso';
UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Fatturato';
UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Parzialmente fatturato';