mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-17 03:51:06 +01:00
Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
d869901c38
12
mail.php
12
mail.php
@ -25,15 +25,19 @@ $template = Template::find(get('id'));
|
||||
$module = $template->module;
|
||||
$smtp = $template->account;
|
||||
|
||||
$body = $module->replacePlaceholders($id_record, $template['body']);
|
||||
$subject = $module->replacePlaceholders($id_record, $template['subject']);
|
||||
$placeholder_options = [
|
||||
'is_pec' => intval($smtp['pec']),
|
||||
];
|
||||
|
||||
$body = $module->replacePlaceholders($id_record, $template['body'], $placeholder_options);
|
||||
$subject = $module->replacePlaceholders($id_record, $template['subject'], $placeholder_options);
|
||||
|
||||
$emails = [];
|
||||
if ($module->replacePlaceholders($id_record, '{email}')) {
|
||||
$emails = explode(';', $module->replacePlaceholders($id_record, '{email}'));
|
||||
$emails = explode(';', $module->replacePlaceholders($id_record, '{email}', $placeholder_options));
|
||||
}
|
||||
|
||||
$id_anagrafica = $module->replacePlaceholders($id_record, '{id_anagrafica}');
|
||||
$id_anagrafica = $module->replacePlaceholders($id_record, '{id_anagrafica}', $placeholder_options);
|
||||
|
||||
// Aggiungo email referenti in base alla mansione impostata nel template
|
||||
$mansioni = $dbo->select('em_mansioni_template', 'idmansione', ['id_template' => $template->id]);
|
||||
|
@ -226,6 +226,13 @@ if (sizeof($problemi_anagrafica) > 0) {
|
||||
{[ "type": "number", "label": "<?php echo tr('Distanza'); ?>", "name": "km", "decimals":"1", "class": "text-center", "value": "$km$", "icon-after": "Km" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Opt-out per newsletter'); ?>", "name": "disable_newsletter", "value": "<?php echo empty($record['enable_newsletter']); ?>", "help": "<?php echo tr('Blocco per l\'invio delle email.'); ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -697,12 +704,6 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "value": "$note$", "maxlength": 255, "charcounter": 1 ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Opt-out per newsletter'); ?>", "name": "disable_newsletter", "value": "<?php echo empty($record['enable_newsletter']); ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -17,14 +17,18 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT *, co_contratti.idanagrafica,
|
||||
IF( (an_referenti.email IS NOT NULL AND an_referenti.email!=""), an_referenti.email, an_anagrafiche.email) AS email,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
an_anagrafiche.pec,
|
||||
IF((an_referenti.email IS NOT NULL AND an_referenti.email != ""), an_referenti.email, an_anagrafiche.email) AS email,
|
||||
an_anagrafiche.ragione_sociale
|
||||
FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica LEFT OUTER JOIN an_referenti ON an_referenti.id=co_contratti.idreferente WHERE co_contratti.id='.prepare($id_record));
|
||||
FROM co_contratti
|
||||
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica
|
||||
LEFT OUTER JOIN an_referenti ON an_referenti.id=co_contratti.idreferente
|
||||
WHERE co_contratti.id='.prepare($id_record));
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'ragione_sociale' => $r['ragione_sociale'],
|
||||
'numero' => $r['numero'],
|
||||
'descrizione' => $r['descrizione'],
|
||||
|
@ -17,13 +17,17 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT *, dt_ddt.idanagrafica,
|
||||
IF( (an_referenti.email IS NOT NULL AND an_referenti.email!=""), an_referenti.email, an_anagrafiche.email) AS email
|
||||
FROM dt_ddt INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=dt_ddt.idanagrafica LEFT OUTER JOIN an_referenti ON an_referenti.id=dt_ddt.idreferente WHERE dt_ddt.id='.prepare($id_record));
|
||||
$r = $dbo->fetchOne('SELECT dt_ddt.*,
|
||||
IF((an_referenti.email IS NOT NULL AND an_referenti.email != ""), an_referenti.email, an_anagrafiche.email) AS email,
|
||||
an_anagrafiche.pec
|
||||
FROM dt_ddt
|
||||
INNER JOIN an_anagrafiche ON dt_ddt.idanagrafica = an_anagrafiche.idanagrafica
|
||||
LEFT OUTER JOIN an_referenti ON an_referenti.id = dt_ddt.idreferente
|
||||
WHERE id='.prepare($id_record));
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'],
|
||||
'note' => $r['note'],
|
||||
'data' => Translator::dateToLocale($r['data']),
|
||||
|
@ -159,7 +159,7 @@ class Mail extends Model
|
||||
if (isset($this->template)) {
|
||||
$module = $this->template->module;
|
||||
|
||||
$value = $module->replacePlaceholders($this->id_record, $value);
|
||||
$value = $module->replacePlaceholders($this->id_record, $value, ['is_pec' => intval($this->account->pec)]);
|
||||
}
|
||||
|
||||
$this->attributes['subject'] = $value;
|
||||
@ -170,7 +170,7 @@ class Mail extends Model
|
||||
if (isset($this->template)) {
|
||||
$module = $this->template->module;
|
||||
|
||||
$value = $module->replacePlaceholders($this->id_record, $value);
|
||||
$value = $module->replacePlaceholders($this->id_record, $value, ['is_pec' => intval($this->account->pec)]);
|
||||
}
|
||||
|
||||
$this->attributes['content'] = $value;
|
||||
|
@ -49,27 +49,28 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione) ) {
|
||||
|
||||
if ($diff == 0) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha raggiunto il massimale previsto di _MONEY_: le nuove righe della fattura devono presentare IVA diversa da _IVA_", [
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info"></i> '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha raggiunto il massimale previsto di _MONEY_.", [
|
||||
'_MONEY_' => moneyFormat(abs($fattura->dichiarazione->massimale)),
|
||||
'_IVA_' => '"'.$iva->descrizione.'"',
|
||||
'_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo,
|
||||
]).'.</b>
|
||||
</div>';
|
||||
} elseif ($diff < 0) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha superato il massimale previsto di _MONEY_: per rimuovere righe della fattura dalla dichiarazione è sufficiente modificare l'IVA in qualcosa di diverso da _IVA_", [
|
||||
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha superato il massimale previsto di _MONEY_.", [
|
||||
'_MONEY_' => moneyFormat(abs($diff)),
|
||||
'_IVA_' => '"'.$iva->descrizione.'"',
|
||||
'_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo,
|
||||
]).'.</b>
|
||||
</div>';
|
||||
}
|
||||
elseif ($diff_in_days < 0) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha come data fine validità _SCADENZA_ mentre la fattura ha data _DATA_", [
|
||||
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha come data fine validità _SCADENZA_ mentre la fattura ha data _DATA_", [
|
||||
'_SCADENZA_' => dateFormat($fattura->dichiarazione->data_fine),
|
||||
'_DATA_' => dateFormat($fattura->data),
|
||||
'_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo,
|
||||
]).'.</b>
|
||||
</div>';
|
||||
}
|
||||
@ -288,9 +289,12 @@ elseif ($record['stato'] == 'Bozza') {
|
||||
echo Plugins::link('Referenti', $record['idanagrafica'], null, null, 'class="pull-right"');
|
||||
}
|
||||
echo '
|
||||
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].'} ]}
|
||||
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
</div>
|
||||
<div class="row">';
|
||||
// Conteggio numero articoli fatture
|
||||
$articolo = $dbo->fetchArray('SELECT mg_articoli.id FROM ((mg_articoli INNER JOIN co_righe_documenti ON mg_articoli.id=co_righe_documenti.idarticolo) INNER JOIN co_documenti ON co_documenti.id=co_righe_documenti.iddocumento) WHERE co_documenti.id='.prepare($id_record));
|
||||
$id_modulo_anagrafiche = Modules::get('Anagrafiche')['id'];
|
||||
@ -868,7 +872,9 @@ echo '
|
||||
updateSelectOption("idanagrafica", $(this).val());
|
||||
session_set("superselect,idanagrafica", $(this).val(), 0);
|
||||
|
||||
$("#idreferente").selectReset();
|
||||
$("#id_dichiarazione_intento").selectReset();';
|
||||
|
||||
|
||||
if ($dir == 'entrata') {
|
||||
echo '$("#idsede_destinazione").selectReset();';
|
||||
|
@ -18,17 +18,17 @@
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT co_documenti.*,
|
||||
an_anagrafiche.pec,
|
||||
IF( (an_referenti.email IS NOT NULL AND an_referenti.email!=""), an_referenti.email, an_anagrafiche.email) AS email,
|
||||
an_anagrafiche.idconto_cliente,
|
||||
an_anagrafiche.idconto_fornitore,
|
||||
an_anagrafiche.pec,
|
||||
an_anagrafiche.ragione_sociale,
|
||||
co_tipidocumento.descrizione AS tipo_documento,
|
||||
(SELECT pec FROM em_accounts WHERE em_accounts.id='.prepare($template['id_account']).') AS is_pec
|
||||
(SELECT pec FROM em_accounts WHERE em_accounts.id='.prepare($template['id_account']).') AS is_pec
|
||||
FROM co_documenti
|
||||
INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica
|
||||
INNER JOIN co_tipidocumento ON co_tipidocumento.id=co_documenti.idtipodocumento
|
||||
LEFT OUTER JOIN an_referenti ON an_referenti.id=co_documenti.idreferente
|
||||
INNER JOIN an_anagrafiche ON co_documenti.idanagrafica = an_anagrafiche.idanagrafica
|
||||
INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento
|
||||
LEFT OUTER JOIN an_referenti ON an_referenti.id = co_documenti.idreferente
|
||||
WHERE co_documenti.id='.prepare($id_record));
|
||||
|
||||
if (!empty(setting('Logo stampe'))) {
|
||||
@ -54,7 +54,7 @@ $r_company = $dbo->fetchOne('SELECT * FROM an_anagrafiche WHERE idanagrafica='.p
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'id_anagrafica' => $r['idanagrafica'],
|
||||
'ragione_sociale' => $r['ragione_sociale'],
|
||||
'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'],
|
||||
|
@ -18,14 +18,17 @@
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
an_anagrafiche.email,
|
||||
an_anagrafiche.pec,
|
||||
(SELECT MAX(orario_fine) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data_fine,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email,
|
||||
(SELECT descrizione FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS stato
|
||||
FROM in_interventi WHERE id='.prepare($id_record));
|
||||
FROM in_interventi
|
||||
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica = an_anagrafiche.idanagrafica
|
||||
WHERE id='.prepare($id_record));
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'numero' => $r['codice'],
|
||||
'richiesta' => $r['richiesta'],
|
||||
'descrizione' => $r['descrizione'],
|
||||
|
@ -17,13 +17,17 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT *, or_ordini.idanagrafica,
|
||||
IF( (an_referenti.email IS NOT NULL AND an_referenti.email!=""), an_referenti.email, an_anagrafiche.email) AS email
|
||||
FROM or_ordini INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=or_ordini.idanagrafica LEFT OUTER JOIN an_referenti ON an_referenti.id=or_ordini.idreferente WHERE or_ordini.id='.prepare($id_record));
|
||||
$r = $dbo->fetchOne('SELECT or_ordini.*,
|
||||
an_anagrafiche.pec,
|
||||
IF((an_referenti.email IS NOT NULL AND an_referenti.email != ""), an_referenti.email, an_anagrafiche.email) AS email
|
||||
FROM or_ordini
|
||||
INNER JOIN an_anagrafiche ON or_ordini.idanagrafica = an_anagrafiche.idanagrafica
|
||||
LEFT OUTER JOIN an_referenti ON an_referenti.id = or_ordini.idreferente
|
||||
WHERE id='.prepare($id_record));
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'id_anagrafica' => $r['idanagrafica'],
|
||||
'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'],
|
||||
'note' => $r['note'],
|
||||
|
@ -26,7 +26,7 @@ $revisione = $dbo->fetchNum('SELECT * FROM co_preventivi WHERE master_revision =
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'numero' => $r['numero'],
|
||||
'ragione_sociale' => $r['ragione_sociale'],
|
||||
'descrizione' => $r['descrizione'],
|
||||
|
@ -26,14 +26,14 @@ $r = $dbo->fetchOne('SELECT co_scadenziario.*, co_documenti.*,
|
||||
(SELECT descrizione FROM co_pagamenti WHERE co_pagamenti.id = co_documenti.idpagamento) AS pagamento
|
||||
FROM co_scadenziario
|
||||
INNER JOIN co_documenti ON co_documenti.id = co_scadenziario.iddocumento
|
||||
INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica
|
||||
INNER JOIN an_anagrafiche ON co_documenti.idanagrafica = an_anagrafiche.idanagrafica
|
||||
WHERE co_scadenziario.pagato != co_scadenziario.da_pagare AND co_scadenziario.iddocumento = (SELECT iddocumento FROM co_scadenziario s WHERE id='.prepare($id_record).')');
|
||||
|
||||
$logo_azienda = str_replace(base_dir(), base_path(), App::filepath('templates/base|custom|/logo_azienda.jpg'));
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
||||
'id_anagrafica' => $r['idanagrafica'],
|
||||
'ragione_sociale' => $r['ragione_sociale'],
|
||||
'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'],
|
||||
|
@ -54,7 +54,7 @@ echo '
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "0" ]}
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "0", "help": "'.tr("Blocco per l'invio delle email.").'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -53,7 +53,7 @@ echo '
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "'.empty($record['enable_newsletter']).'" ]}
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "'.empty($record['enable_newsletter']).'", "help": "'.tr('Blocco per l\'invio delle email.').'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -24,6 +24,7 @@ $operazione = filter('op');
|
||||
switch ($operazione) {
|
||||
case 'addsede':
|
||||
if (!empty(post('nomesede'))) {
|
||||
$opt_out_newsletter = post('disable_newsletter');
|
||||
$dbo->insert('an_sedi', [
|
||||
'idanagrafica' => $id_parent,
|
||||
'nomesede' => post('nomesede'),
|
||||
@ -38,6 +39,7 @@ switch ($operazione) {
|
||||
'email' => post('email'),
|
||||
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
|
||||
'idzona' => !empty(post('id_zona')) ? post('id_zona') : 0,
|
||||
'enable_newsletter' => empty($opt_out_newsletter),
|
||||
]);
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
|
@ -90,6 +90,13 @@ echo '
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "0", "help": "'.tr("Blocco per l'invio delle email.").'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
|
@ -96,7 +96,7 @@ echo '
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "'.empty($record['enable_newsletter']).'" ]}
|
||||
{[ "type": "checkbox", "label": "'.tr('Opt-out per newsletter').'", "name": "disable_newsletter", "id": "disable_newsletter_m", "value": "'.empty($record['enable_newsletter']).'", "help": "'.tr("Blocco per l'invio delle email.").'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
@ -55,16 +55,16 @@ class Module extends Model
|
||||
'options2',
|
||||
];
|
||||
|
||||
public function replacePlaceholders($id_record, $value)
|
||||
public function replacePlaceholders($id_record, $value, $options = [])
|
||||
{
|
||||
$replaces = $this->getPlaceholders($id_record);
|
||||
$replaces = $this->getPlaceholders($id_record, $options);
|
||||
|
||||
$value = str_replace(array_keys($replaces), array_values($replaces), $value);
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function getPlaceholders($id_record)
|
||||
public function getPlaceholders($id_record, $options = [])
|
||||
{
|
||||
if (!isset($this->variables[$id_record])) {
|
||||
$dbo = $database = database();
|
||||
|
Loading…
x
Reference in New Issue
Block a user