diff --git a/include/common/articolo.php b/include/common/articolo.php
index e6e77f4ce..b8a07b31f 100644
--- a/include/common/articolo.php
+++ b/include/common/articolo.php
@@ -2,9 +2,9 @@
$result['idarticolo'] = isset($result['idarticolo']) ? $result['idarticolo'] : null;
-unset($_SESSION['superselect']['dir']);
-unset($_SESSION['superselect']['idanagrafica']);
-unset($_SESSION['superselect']['idarticolo']);
+$_SESSION['superselect']['dir'] = $options['dir'];
+$_SESSION['superselect']['idanagrafica'] = $options['idanagrafica'];
+$_SESSION['superselect']['idarticolo'] = $options['idarticolo'];
// Articolo
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
@@ -61,11 +61,11 @@ if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
$("#idarticolo").on("change", function(){
// Autoimpostazione dei valori relativi
if ($(this).val()) {
-
+
session_set("superselect,idarticolo", $(this).val(), 0);
session_set("superselect,idanagrafica", "'.$options['idanagrafica'].'", 0);
session_set("superselect,dir", "'.$options['dir'].'", 0);
-
+
$data = $(this).selectData();
var id_conto = $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').';
diff --git a/modules/articoli/ajax/select.php b/modules/articoli/ajax/select.php
index c3ce12c09..e0362a589 100644
--- a/modules/articoli/ajax/select.php
+++ b/modules/articoli/ajax/select.php
@@ -6,20 +6,23 @@ switch ($resource) {
case 'articoli':
$query = 'SELECT mg_articoli.*, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_vendita) AS idconto_vendita_title, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_acquisto) AS idconto_acquisto_title, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC';
- //per le vendite leggo iva predefinita da anagrafica, se settata
- if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata') {
- if (!empty($superselect['idanagrafica'])) {
- $idiva_predefinita = $dbo->fetchArray("SELECT idiva_vendite FROM an_anagrafiche WHERE idanagrafica = '".$superselect['idanagrafica']."' ")[0]['idiva_vendite'];
- $iva_predefinita = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id = '".$superselect['idiva_vendita']."' ")[0]['descrizione'];
- }
- }
+ // Individuazione di eventuali listini
+ if (!empty($superselect['dir']) && !empty($superselect['idanagrafica'])) {
+ $listino = $dbo->fetchOne('SELECT prc_guadagno as percentuale FROM mg_listini WHERE id=(SELECT idlistino_'.($superselect['dir'] == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($superselect['idanagrafica']).')');
+ }
- //in alternativa, per tutti gli altri casi, prendo quella da impostazioni
- if (empty($idiva_predefinita)) {
- $idiva_predefinita = get_var('Iva predefinita');
- $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
- $iva_predefinita = $rs[0]['descrizione'];
- }
+ //per le vendite leggo iva predefinita da anagrafica, se settata
+ if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata' && !empty($superselect['idanagrafica'])) {
+ $idiva_predefinita = $dbo->fetchArray("SELECT idiva_vendite FROM an_anagrafiche WHERE idanagrafica = '".$superselect['idanagrafica']."' ")[0]['idiva_vendite'];
+ $iva_predefinita = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id = '".$superselect['idiva_vendita']."' ")[0]['descrizione'];
+ }
+
+ //in alternativa, per tutti gli altri casi, prendo quella da impostazioni
+ if (empty($idiva_predefinita)) {
+ $idiva_predefinita = get_var('Iva predefinita');
+ $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
+ $iva_predefinita = $rs[0]['descrizione'];
+ }
foreach ($elements as $element) {
$filter[] = 'mg_articoli.id='.prepare($element);
@@ -70,6 +73,16 @@ switch ($resource) {
$iva = $r['iva_vendita'];
}
+ $prezzo_vendita = $r['prezzo_vendita'];
+ if (!empty($listino)) {
+ $prezzo_vendita = sum($prezzo_vendita, -calcola_sconto([
+ 'sconto' => $listino['percentuale'],
+ 'prezzo' => $prezzo_vendita,
+ 'tipo' => 'PRC',
+ 'qta' => 1,
+ ]));
+ }
+
$results[count($results) - 1]['children'][] = [
'id' => $r['id'],
'text' => $r['codice'].' - '.$r['descrizione'],
@@ -82,8 +95,8 @@ switch ($resource) {
'idconto_vendita_title' => $r['idconto_vendita_title'],
'idconto_acquisto' => $r['idconto_acquisto'],
'idconto_acquisto_title' => $r['idconto_acquisto_title'],
- 'prezzo_acquisto' => Translator::numberToLocale($r['prezzo_acquisto']),
- 'prezzo_vendita' => Translator::numberToLocale($r['prezzo_vendita']),
+ 'prezzo_acquisto' => $r['prezzo_acquisto'],
+ 'prezzo_vendita' => $prezzo_vendita,
];
}
diff --git a/modules/contratti/row-add.php b/modules/contratti/row-add.php
index 4250f8bc5..871ef09d6 100644
--- a/modules/contratti/row-add.php
+++ b/modules/contratti/row-add.php
@@ -29,13 +29,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_vendite AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
-// Sconto unitario
-$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
-if (!empty($rss)) {
- $result['sconto_unitario'] = $rss[0]['prc_guadagno'];
- $result['tipo_sconto'] = 'PRC';
-}
-
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {
diff --git a/modules/ddt/row-add.php b/modules/ddt/row-add.php
index fe4affd93..2fdea6e6b 100644
--- a/modules/ddt/row-add.php
+++ b/modules/ddt/row-add.php
@@ -12,8 +12,6 @@ if ($module['name'] == 'Ddt di vendita') {
$dir = 'uscita';
}
-$_SESSION['superselect']['dir'] = $dir;
-
// Impostazioni per la gestione
$options = [
'op' => 'addriga',
@@ -37,13 +35,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
-// Sconto unitario
-$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
-if (!empty($rss)) {
- $result['sconto_unitario'] = $rss[0]['prc_guadagno'];
- $result['tipo_sconto'] = 'PRC';
-}
-
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {
diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php
index fa0b1d158..b6b71721d 100644
--- a/modules/fatture/row-add.php
+++ b/modules/fatture/row-add.php
@@ -28,8 +28,6 @@ $options = [
'idanagrafica' => $idanagrafica,
];
-$_SESSION['superselect']['dir'] = $dir;
-
// Dati di default
$result = [
'descrizione' => '',
@@ -50,13 +48,6 @@ $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
$ritenuta_acconto = $dbo->fetchOne('SELECT id_ritenuta_acconto_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS id_ritenuta_acconto FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$options['id_ritenuta_acconto_predefined'] = $ritenuta_acconto['id_ritenuta_acconto'];
-// Sconto unitario
-$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
-if (!empty($rss)) {
- $result['sconto_unitario'] = $rss[0]['prc_guadagno'];
- $result['tipo_sconto'] = 'PRC';
-}
-
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {
diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php
index 3f92acc64..5985a456a 100644
--- a/modules/interventi/actions.php
+++ b/modules/interventi/actions.php
@@ -91,7 +91,11 @@ switch (post('op')) {
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
- $n->send();
+ if ($n->send()) {
+ flash()->info(tr('Notifica inviata'));
+ } else {
+ flash()->warning(tr("Errore nell'invio della notifica"));
+ }
}
flash()->info(tr('Informazioni salvate correttamente!'));
@@ -515,7 +519,11 @@ switch (post('op')) {
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
- $n->send();
+ if ($n->send()) {
+ flash()->info(tr('Notifica inviata'));
+ } else {
+ flash()->warning(tr("Errore nell'invio della notifica"));
+ }
}
} else {
flash()->error(tr('Errore durante il salvataggio della firma nel database!'));
@@ -562,7 +570,11 @@ switch (post('op')) {
$n->setTemplate('Notifica rimozione intervento', $id_record);
$n->setReceivers($tecnico['email']);
- $n->send();
+ if ($n->send()) {
+ flash()->info(tr('Notifica inviata'));
+ } else {
+ flash()->warning(tr("Errore nell'invio della notifica"));
+ }
}
break;
diff --git a/modules/interventi/add_articolo.php b/modules/interventi/add_articolo.php
index 93969feaa..2bb90cbce 100644
--- a/modules/interventi/add_articolo.php
+++ b/modules/interventi/add_articolo.php
@@ -13,12 +13,14 @@ $can_edit_prezzi = (in_array('Amministratori', $gruppi)) || (setting('Mostra i p
$idriga = get('idriga');
$idautomezzo = (get('idautomezzo') == 'undefined') ? '' : get('idautomezzo');
-$_SESSION['superselect']['idintervento'] = get('id_record');
-
// Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
$rs = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_record));
-
$idanagrafica = $rs[0]['idanagrafica'];
+
+$_SESSION['superselect']['idintervento'] = get('id_record');
+$_SESSION['superselect']['dir'] = 'entrata';
+$_SESSION['superselect']['idanagrafica'] = $idanagrafica;
+
if (empty($idriga)) {
$op = 'addarticolo';
$button = ' '.tr('Aggiungi');
@@ -34,12 +36,6 @@ if (empty($idriga)) {
$sconto_unitario = 0;
$idimpianto = 0;
-
- $listino = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id = (SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica = '.prepare($idanagrafica).')');
- if (!empty($listino[0]['prc_guadagno'])) {
- $sconto_unitario = $listino[0]['prc_guadagno'];
- $tipo_sconto = 'PRC';
- }
} else {
$op = 'editarticolo';
$button = ' '.tr('Modifica');
diff --git a/modules/interventi/add_righe.php b/modules/interventi/add_righe.php
index 7735d1aaa..32f3e0c8d 100644
--- a/modules/interventi/add_righe.php
+++ b/modules/interventi/add_righe.php
@@ -9,9 +9,8 @@ if (file_exists(__DIR__.'/../../../core.php')) {
$idriga = filter('idriga');
//Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
-$rs = $dbo->fetchArray('SELECT idanagrafica, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=.in_interventi.idanagrafica)) AS prc_sconto FROM in_interventi WHERE id='.prepare($id_record));
+$rs = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_record));
$idanagrafica = $rs[0]['idanagrafica'];
-$prc_sconto = $rs[0]['prc_sconto'];
if (empty($idriga)) {
$op = 'addriga';
@@ -23,11 +22,6 @@ if (empty($idriga)) {
$um = '';
$prezzo_vendita = '0';
$prezzo_acquisto = '0';
-
- if (!empty($rs[0]['prc_guadagno'])) {
- $sconto_unitario = $rs[0]['prc_guadagno'];
- $tipo_sconto = 'PRC';
- }
} else {
$op = 'editriga';
$button = ' '.tr('Modifica');
diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php
index 3a2d0d8bb..26b11eb42 100644
--- a/modules/interventi/modutil.php
+++ b/modules/interventi/modutil.php
@@ -184,7 +184,7 @@ function get_costi_intervento($id_intervento)
$rs_iva = $dbo->fetchArray('SELECT descrizione, percentuale, indetraibile FROM co_iva WHERE id='.prepare($idiva));
$tecnici = $dbo->fetchArray('SELECT
-
+
COALESCE(SUM(
ROUND(prezzo_ore_unitario_tecnico*ore, '.$decimals.')
), 0) AS manodopera_costo,
@@ -194,8 +194,8 @@ function get_costi_intervento($id_intervento)
COALESCE(SUM(
ROUND(prezzo_ore_unitario*ore, '.$decimals.') - ROUND(sconto_unitario*ore, '.$decimals.')
), 0) AS manodopera_scontato,
-
-
+
+
COALESCE(SUM(
ROUND(prezzo_dirittochiamata_tecnico, '.$decimals.')
), 0) AS dirittochiamata_costo,
diff --git a/modules/ordini/row-add.php b/modules/ordini/row-add.php
index c677a59fb..73921c8fb 100644
--- a/modules/ordini/row-add.php
+++ b/modules/ordini/row-add.php
@@ -12,8 +12,6 @@ if ($module['name'] == 'Ordini cliente') {
$dir = 'uscita';
}
-$_SESSION['superselect']['dir'] = $dir;
-
// Impostazioni per la gestione
$options = [
'op' => 'addriga',
@@ -37,13 +35,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
-// Sconto unitario
-$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
-if (!empty($rss)) {
- $result['sconto_unitario'] = $rss[0]['prc_guadagno'];
- $result['tipo_sconto'] = 'PRC';
-}
-
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {
diff --git a/modules/preventivi/row-add.php b/modules/preventivi/row-add.php
index 79e3f30f6..e1ef2afe8 100644
--- a/modules/preventivi/row-add.php
+++ b/modules/preventivi/row-add.php
@@ -29,13 +29,6 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_vendite AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
-// Sconto unitario
-$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
-if (!empty($rss)) {
- $result['sconto_unitario'] = $rss[0]['prc_guadagno'];
- $result['tipo_sconto'] = 'PRC';
-}
-
// Importazione della gestione dedicata
$file = 'riga';
if (get('is_descrizione') !== null) {
diff --git a/select2('#idpagamento' b/select2('#idpagamento'
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/Notifications/EmailNotification.php b/src/Notifications/EmailNotification.php
index 9083559ed..3c6fdc3cf 100644
--- a/src/Notifications/EmailNotification.php
+++ b/src/Notifications/EmailNotification.php
@@ -5,6 +5,7 @@ namespace Notifications;
use Mail;
use Prints;
use Uploads;
+use PHPMailer\PHPMailer\Exception as PHPMailerException;
class EmailNotification extends Notification
{
@@ -274,7 +275,7 @@ class EmailNotification extends Notification
], $this->logs);
return true;
- } catch (PHPMailer\PHPMailer\Exception $e) {
+ } catch (PHPMailerException $e) {
if ($exceptions) {
throw $e;
}