mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-23 12:29:58 +01:00
Aggiunta colonna is_fatturabile in ordini e ddt per il controllo sul pulsante crea dei relativi moduli
This commit is contained in:
parent
47aad6e26c
commit
0d11c217be
@ -19,9 +19,20 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$stati = $dbo->fetchArray('SELECT descrizione FROM `dt_statiddt` WHERE `is_fatturabile` = 1');
|
||||
foreach($stati as $stato){
|
||||
$stati_importabili[] = $stato['descrizione'];
|
||||
}
|
||||
|
||||
$causali = $dbo->fetchArray('SELECT descrizione FROM `dt_causalet` WHERE `is_importabile` = 1');
|
||||
foreach($causali as $causale){
|
||||
$causali_importabili[] = $causale['descrizione'];
|
||||
}
|
||||
|
||||
echo '
|
||||
<div class="tip" data-toggle="tooltip" title="'.tr("Il ddt è fatturabile solo se non si trova negli stati _STATE_LIST_ e la relativa causale è abilitata all'importazione in altri documenti", [
|
||||
'_STATE_LIST_' => 'Evaso, Parzialmente evaso, Parzialmente fatturato',
|
||||
<div class="tip" data-toggle="tooltip" title="'.tr("Il ddt è fatturabile solo se si trova negli stati _STATE_LIST_ e la relativa causale è una delle seguenti: _CAUSALE_LIST_", [
|
||||
'_STATE_LIST_' => implode(', ', $stati_importabili),
|
||||
'_CAUSALE_LIST_' => implode(', ', $causali_importabili),
|
||||
]).'">
|
||||
<button class="btn btn-info '.($ddt->isImportabile() ? '' : 'disabled').'" data-href="'.$structure->fileurl('crea_documento.php').'?id_module='.$id_module.'&id_record='.$id_record.'&documento=fattura" data-toggle="modal" data-title="'.tr('Crea ').($ddt->reversed ? 'nota di credito' : ($dir == 'entrata' ? 'fattura di vendita' : 'fattura di acquisto')).'"><i class="fa fa-magic"></i> '.tr('Crea ').($ddt->reversed ? 'nota di credito' : ($dir == 'entrata' ? 'fattura di vendita' : 'fattura di acquisto')).'
|
||||
</button>
|
||||
|
@ -126,12 +126,16 @@ class DDT extends Document
|
||||
|
||||
public function isImportabile()
|
||||
{
|
||||
$stati_non_importabili = ['Bozza', 'Fatturato'];
|
||||
|
||||
$database = database();
|
||||
$stati = $database->fetchArray('SELECT descrizione FROM `dt_statiddt` WHERE `is_fatturabile` = 1');
|
||||
foreach($stati as $stato){
|
||||
$stati_importabili[] = $stato['descrizione'];
|
||||
}
|
||||
|
||||
|
||||
$causale = $database->fetchOne('SELECT * FROM `dt_causalet` WHERE `id` = '.prepare($this->idcausalet));
|
||||
|
||||
return $causale['is_importabile'] && !in_array($this->stato->descrizione, $stati_non_importabili);
|
||||
return $causale['is_importabile'] && in_array($this->stato->descrizione, $stati_importabili);
|
||||
}
|
||||
|
||||
public function getReversedAttribute()
|
||||
|
@ -19,13 +19,16 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$stati_abilitati = ['Fatturato', 'Evaso', 'Bozza'];
|
||||
$stati = $dbo->fetchArray('SELECT descrizione FROM `or_statiordine` WHERE `is_fatturabile` = 1');
|
||||
foreach($stati as $stato){
|
||||
$stati_importabili[] = $stato['descrizione'];
|
||||
}
|
||||
|
||||
echo '
|
||||
<div class="btn-group tip" data-toggle="tooltip" title="'.tr("Per creare un documento deve essere inserita almeno una riga e lo stato dell'ordine deve essere tra: _STATE_LIST_", [
|
||||
'_STATE_LIST_' => implode(', ', $stati_abilitati),
|
||||
'_STATE_LIST_' => implode(', ', $stati_importabili),
|
||||
]).'">
|
||||
<button class="btn btn-info dropdown-toggle '.(!in_array($record['stato'], ['Fatturato', 'Evaso', 'Bozza', 'In attesa di conferma', 'Annullato']) ? '' : 'disabled').'" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||||
<button class="btn btn-info dropdown-toggle '.(in_array($record['stato'], $stati_importabili) ? '' : 'disabled').'" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||||
<i class="fa fa-magic"></i> '.tr('Crea').'
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
|
@ -66,4 +66,16 @@ INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `e
|
||||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM mg_prezzi_articoli\n INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = mg_prezzi_articoli.id_anagrafica\n INNER JOIN mg_articoli ON mg_articoli.id = mg_prezzi_articoli.id_articolo\n LEFT JOIN mg_categorie AS categoria ON mg_articoli.id_categoria=categoria.id\n LEFT JOIN mg_categorie AS sottocategoria ON mg_articoli.id_sottocategoria=sottocategoria.id\nWHERE 1=1 AND mg_articoli.deleted_at IS NULL AND an_anagrafiche.deleted_at IS NULL\nHAVING 2=2\nORDER BY an_anagrafiche.ragione_sociale' WHERE `zz_modules`.`name` = 'Listini';
|
||||
|
||||
-- Cambiato title al plugin prezzi specifici
|
||||
UPDATE `zz_plugins` SET `title` = 'Prezzi di listino' WHERE `zz_plugins`.`name` = 'Prezzi specifici articolo';
|
||||
UPDATE `zz_plugins` SET `title` = 'Prezzi di listino' WHERE `zz_plugins`.`name` = 'Prezzi specifici articolo';
|
||||
|
||||
-- Impostati stati fatturabili in ddt e ordini
|
||||
ALTER TABLE `or_statiordine` ADD `is_fatturabile` TINYINT(1) NOT NULL AFTER `completato`;
|
||||
ALTER TABLE `dt_statiddt` ADD `is_fatturabile` TINYINT(1) NOT NULL AFTER `completato`;
|
||||
|
||||
UPDATE `or_statiordine` SET `is_fatturabile` = '1' WHERE `or_statiordine`.`descrizione` = 'Evaso';
|
||||
UPDATE `or_statiordine` SET `is_fatturabile` = '1' WHERE `or_statiordine`.`descrizione` = 'Parzialmente evaso';
|
||||
UPDATE `or_statiordine` SET `is_fatturabile` = '1' WHERE `or_statiordine`.`descrizione` = 'Parzialmente fatturato';
|
||||
UPDATE `or_statiordine` SET `is_fatturabile` = '1' WHERE `or_statiordine`.`descrizione` = 'Accettato';
|
||||
UPDATE `dt_statiddt` SET `is_fatturabile` = '1' WHERE `dt_statiddt`.`descrizione` = 'Evaso';
|
||||
UPDATE `dt_statiddt` SET `is_fatturabile` = '1' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente evaso';
|
||||
UPDATE `dt_statiddt` SET `is_fatturabile` = '1' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente fatturato';
|
Loading…
Reference in New Issue
Block a user