Aggiunta gestione RappresentanteFiscale in XML
This commit is contained in:
parent
b1080c129b
commit
d0a8011ce6
|
@ -62,4 +62,26 @@ class Sede extends Model
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Nazione::class, 'id_nazione');
|
return $this->belongsTo(Nazione::class, 'id_nazione');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function save(array $options = [])
|
||||||
|
{
|
||||||
|
$this->fixRappresentanteFiscale();
|
||||||
|
|
||||||
|
return parent::save($options);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function fixRappresentanteFiscale()
|
||||||
|
{
|
||||||
|
$rappresentante_fiscale = post('is_rappresentante_fiscale');
|
||||||
|
|
||||||
|
if (!empty($rappresentante_fiscale)) {
|
||||||
|
self::where('idanagrafica', $this->idanagrafica)
|
||||||
|
->where('id', '!=', $this->id)
|
||||||
|
->update([
|
||||||
|
'is_rappresentante_fiscale' => 0,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->attributes['is_rappresentante_fiscale'] = $rappresentante_fiscale;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ use FluidXml\FluidXml;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
use Modules;
|
use Modules;
|
||||||
use Modules\Anagrafiche\Anagrafica;
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
|
use Modules\Anagrafiche\Sede;
|
||||||
use Modules\Banche\Banca;
|
use Modules\Banche\Banca;
|
||||||
use Modules\Fatture\Fattura;
|
use Modules\Fatture\Fattura;
|
||||||
use Modules\Fatture\Gestori\Bollo;
|
use Modules\Fatture\Gestori\Bollo;
|
||||||
|
@ -829,6 +830,24 @@ class FatturaElettronica
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce l'array responsabile per la generazione del tag RappresentanteFiscale (1.3).
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected static function getRappresentanteFiscale($fattura)
|
||||||
|
{
|
||||||
|
//Fattura per conto terzi, il cliente diventa il cedente al posto della mia Azienda (fornitore)
|
||||||
|
$cliente = $fattura->getCliente();
|
||||||
|
$azienda = Sede::where('idanagrafica', $cliente->id)->where('is_rappresentante_fiscale', 1)->selectRaw('*, nomesede AS ragione_sociale')->first();
|
||||||
|
|
||||||
|
$result = [
|
||||||
|
'DatiAnagrafici' => static::getDatiAnagrafici($azienda, true),
|
||||||
|
];
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restituisce l'array responsabile per la generazione del tag CessionarioCommittente (Cliente) (1.4).
|
* Restituisce l'array responsabile per la generazione del tag CessionarioCommittente (Cliente) (1.4).
|
||||||
*
|
*
|
||||||
|
@ -1757,11 +1776,31 @@ class FatturaElettronica
|
||||||
*/
|
*/
|
||||||
protected static function getHeader($fattura)
|
protected static function getHeader($fattura)
|
||||||
{
|
{
|
||||||
$result = [
|
$documento = $fattura->getDocumento();
|
||||||
'DatiTrasmissione' => static::getDatiTrasmissione($fattura),
|
$rappresentante_fiscale = null;
|
||||||
'CedentePrestatore' => static::getCedentePrestatore($fattura),
|
|
||||||
'CessionarioCommittente' => static::getCessionarioCommittente($fattura),
|
//Fattura per conto terzi, il cliente diventa il cedente al posto della mia Azienda (fornitore)
|
||||||
];
|
if ($documento['is_fattura_conto_terzi']) {
|
||||||
|
$azienda = $fattura->getCliente();
|
||||||
|
$rappresentante_fiscale = Sede::where('idanagrafica', $azienda->id)->where('is_rappresentante_fiscale', 1)->first();
|
||||||
|
} else {
|
||||||
|
$azienda = static::getAzienda();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rappresentante_fiscale) {
|
||||||
|
$result = [
|
||||||
|
'DatiTrasmissione' => static::getDatiTrasmissione($fattura),
|
||||||
|
'CedentePrestatore' => static::getCedentePrestatore($fattura),
|
||||||
|
'RappresentanteFiscale' => static::getRappresentanteFiscale($fattura),
|
||||||
|
'CessionarioCommittente' => static::getCessionarioCommittente($fattura),
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$result = [
|
||||||
|
'DatiTrasmissione' => static::getDatiTrasmissione($fattura),
|
||||||
|
'CedentePrestatore' => static::getCedentePrestatore($fattura),
|
||||||
|
'CessionarioCommittente' => static::getCessionarioCommittente($fattura),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
// 1.5 Terzo Intermediario
|
// 1.5 Terzo Intermediario
|
||||||
if (!empty(setting('Terzo intermediario'))) {
|
if (!empty(setting('Terzo intermediario'))) {
|
||||||
|
|
|
@ -19,77 +19,83 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Anagrafiche\Sede;
|
||||||
|
|
||||||
$operazione = filter('op');
|
$operazione = filter('op');
|
||||||
|
|
||||||
switch ($operazione) {
|
switch ($operazione) {
|
||||||
case 'addsede':
|
case 'addsede':
|
||||||
if (!empty(post('nomesede'))) {
|
if (!empty(post('nomesede'))) {
|
||||||
$opt_out_newsletter = post('disable_newsletter');
|
$opt_out_newsletter = post('disable_newsletter');
|
||||||
$dbo->insert('an_sedi', [
|
$dbo->insert('an_sedi', [
|
||||||
'idanagrafica' => $id_parent,
|
'idanagrafica' => $id_parent,
|
||||||
'nomesede' => post('nomesede'),
|
'nomesede' => post('nomesede'),
|
||||||
'indirizzo' => post('indirizzo'),
|
'indirizzo' => post('indirizzo'),
|
||||||
'codice_destinatario' => post('codice_destinatario'),
|
|
||||||
'citta' => post('citta'),
|
'citta' => post('citta'),
|
||||||
'cap' => post('cap'),
|
'cap' => post('cap'),
|
||||||
'is_automezzo' => post('is_automezzo'),
|
|
||||||
'provincia' => strtoupper(post('provincia')),
|
'provincia' => strtoupper(post('provincia')),
|
||||||
'km' => post('km'),
|
'km' => post('km'),
|
||||||
|
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
|
||||||
|
'idzona' => !empty(post('idzona')) ? post('idzona') : 0,
|
||||||
'cellulare' => post('cellulare'),
|
'cellulare' => post('cellulare'),
|
||||||
'telefono' => post('telefono'),
|
'telefono' => post('telefono'),
|
||||||
'email' => post('email'),
|
'email' => post('email'),
|
||||||
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
|
|
||||||
'idzona' => !empty(post('idzona')) ? post('idzona') : 0,
|
|
||||||
'enable_newsletter' => empty($opt_out_newsletter),
|
'enable_newsletter' => empty($opt_out_newsletter),
|
||||||
|
'codice_destinatario' => post('codice_destinatario'),
|
||||||
|
'is_automezzo' => post('is_automezzo'),
|
||||||
|
'is_rappresentante_fiscale' => post('is_rappresentante_fiscale'),
|
||||||
]);
|
]);
|
||||||
$id_record = $dbo->lastInsertedID();
|
|
||||||
|
|
||||||
$id_referenti = (array) post('id_referenti');
|
$id_record = $dbo->lastInsertedID();
|
||||||
foreach ($id_referenti as $id_referente) {
|
|
||||||
$dbo->update('an_referenti', [
|
|
||||||
'idsede' => $id_record,
|
|
||||||
], [
|
|
||||||
'id' => $id_referente,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isAjaxRequest() && !empty($id_record)) {
|
$id_referenti = (array) post('id_referenti');
|
||||||
echo json_encode(['id' => $id_record, 'text' => post('nomesede').' - '.post('citta')]);
|
foreach ($id_referenti as $id_referente) {
|
||||||
}
|
$dbo->update('an_referenti', [
|
||||||
|
'idsede' => $id_record,
|
||||||
|
], [
|
||||||
|
'id' => $id_referente,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
flash()->info(tr('Aggiunta una nuova sede!'));
|
if (isAjaxRequest() && !empty($id_record)) {
|
||||||
} else {
|
echo json_encode(['id' => $id_record, 'text' => post('nomesede').' - '.post('citta')]);
|
||||||
flash()->warning(tr('Errore durante aggiunta della sede'));
|
}
|
||||||
}
|
|
||||||
|
flash()->info(tr('Aggiunta una nuova sede!'));
|
||||||
|
} else {
|
||||||
|
flash()->warning(tr('Errore durante aggiunta della sede'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$id_record->save();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'updatesede':
|
case 'updatesede':
|
||||||
$opt_out_newsletter = post('disable_newsletter');
|
$opt_out_newsletter = post('disable_newsletter');
|
||||||
|
$sede = Sede::find($id_record);
|
||||||
|
|
||||||
$dbo->update('an_sedi', [
|
$dbo->update('an_sedi', [
|
||||||
'nomesede' => post('nomesede'),
|
'nomesede' => post('nomesede'),
|
||||||
'indirizzo' => post('indirizzo'),
|
'indirizzo' => post('indirizzo'),
|
||||||
'codice_destinatario' => post('codice_destinatario'),
|
|
||||||
'piva' => post('piva'),
|
|
||||||
'codice_fiscale' => post('codice_fiscale'),
|
|
||||||
'citta' => post('citta'),
|
'citta' => post('citta'),
|
||||||
'cap' => post('cap'),
|
'cap' => post('cap'),
|
||||||
'is_automezzo' => post('is_automezzo'),
|
|
||||||
'provincia' => strtoupper(post('provincia')),
|
'provincia' => strtoupper(post('provincia')),
|
||||||
'km' => post('km'),
|
|
||||||
'cellulare' => post('cellulare'),
|
|
||||||
'telefono' => post('telefono'),
|
|
||||||
'email' => post('email'),
|
|
||||||
'fax' => post('fax'),
|
|
||||||
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
|
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
|
||||||
|
'telefono' => post('telefono'),
|
||||||
|
'cellulare' => post('cellulare'),
|
||||||
|
'email' => post('email'),
|
||||||
|
'enable_newsletter' => empty($opt_out_newsletter),
|
||||||
|
'codice_destinatario' => post('codice_destinatario'),
|
||||||
|
'is_rappresentante_fiscale' => post('is_rappresentante_fiscale'),
|
||||||
|
'piva' => post('piva'),
|
||||||
|
'codice_fiscale' => post('codice_fiscale'),
|
||||||
|
'is_automezzo' => post('is_automezzo'),
|
||||||
'idzona' => post('idzona'),
|
'idzona' => post('idzona'),
|
||||||
|
'km' => post('km'),
|
||||||
'note' => post('note'),
|
'note' => post('note'),
|
||||||
'gaddress' => post('gaddress'),
|
'gaddress' => post('gaddress'),
|
||||||
'lat' => post('lat'),
|
'lat' => post('lat'),
|
||||||
'lng' => post('lng'),
|
'lng' => post('lng'),
|
||||||
|
|
||||||
'enable_newsletter' => empty($opt_out_newsletter),
|
|
||||||
], ['id' => $id_record]);
|
], ['id' => $id_record]);
|
||||||
|
|
||||||
$referenti = $dbo->fetchArray('SELECT id FROM an_referenti WHERE idsede = '.$id_record);
|
$referenti = $dbo->fetchArray('SELECT id FROM an_referenti WHERE idsede = '.$id_record);
|
||||||
|
@ -112,6 +118,8 @@ switch ($operazione) {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$sede->save();
|
||||||
|
|
||||||
flash()->info(tr('Salvataggio completato!'));
|
flash()->info(tr('Salvataggio completato!'));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -42,18 +42,11 @@ echo '
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Indirizzo').'", "name": "indirizzo", "required": 0 ]}
|
{[ "type": "text", "label": "'.tr('Indirizzo').'", "name": "indirizzo", "required": 0 ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "text", "label": "'.($record['tipo_anagrafica'] == 'Ente pubblico' ? tr('Codice unico ufficio') : tr('Codice destinatario')).'", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": '.($record['tipo_anagrafica'] == 'Ente pubblico' ? '6' : '7').', "help": "'.tr('<b>Attenzione</b>: per impostare il codice specificare prima \'Tipologia\' e \'Nazione\' dell\'anagrafica:<br><ul><li>Ente pubblico (B2G/PA) - Codice Univoco Ufficio (www.indicepa.gov.it), 6 caratteri</li><li>Azienda (B2B) - Codice Destinatario, 7 caratteri</li><li>Privato (B2C) - viene utilizzato il Codice Fiscale</li></ul>').'", "readonly": "'.intval($record['iso2'] ? $record['iso2'] != 'IT' : 0).'" ]}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "required": 1 ]}
|
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap" ]}
|
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap" ]}
|
||||||
</div>
|
</div>
|
||||||
|
@ -65,40 +58,41 @@ echo '
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "text", "label": "'.tr('Km').'", "name": "km" ]}
|
{[ "type": "text", "label": "'.tr('Km').'", "name": "km" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-md-3">
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "ajax-source": "nazioni", "required": 1 ]}
|
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "ajax-source": "nazioni", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-3">
|
||||||
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "ajax-source": "zone", "placeholder": "'.tr('Nessuna zona').'", "icon-after": "add|'.Modules::get('Zone')['id'].'" ]}
|
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "ajax-source": "zone", "placeholder": "'.tr('Nessuna zona').'", "icon-after": "add|'.Modules::get('Zone')['id'].'" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
{[ "type": "telefono", "label": "'.tr('Cellulare').'", "name": "cellulare" ]}
|
{[ "type": "telefono", "label": "'.tr('Cellulare').'", "name": "cellulare" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
{[ "type": "telefono", "label": "'.tr('Telefono').'", "name": "telefono" ]}
|
{[ "type": "telefono", "label": "'.tr('Telefono').'", "name": "telefono" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
{[ "type": "text", "label": "'.tr('Indirizzo email').'", "name": "email", "class": "email-mask", "validation": "email" ]}
|
{[ "type": "text", "label": "'.tr('Indirizzo email').'", "name": "email", "class": "email-mask", "validation": "email" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-md-3">
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "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.").'" ]}
|
{[ "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>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "text", "label": "'.($record['tipo_anagrafica'] == 'Ente pubblico' ? tr('Codice unico ufficio') : tr('Codice destinatario')).'", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": '.($record['tipo_anagrafica'] == 'Ente pubblico' ? '6' : '7').', "help": "'.tr('<b>Attenzione</b>: per impostare il codice specificare prima \'Tipologia\' e \'Nazione\' dell\'anagrafica:<br><ul><li>Ente pubblico (B2G/PA) - Codice Univoco Ufficio (www.indicepa.gov.it), 6 caratteri</li><li>Azienda (B2B) - Codice Destinatario, 7 caratteri</li><li>Privato (B2C) - viene utilizzato il Codice Fiscale</li></ul>').'", "readonly": "'.intval($record['iso2'] ? $record['iso2'] != 'IT' : 0).'" ]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
{[ "type": "checkbox", "label": "'.tr('Automezzo').'", "name": "is_automezzo", "id": "is_automezzo", "value": "0", "help": "'.tr('Seleziona se questa sede rappresenta un automezzo.').'" ]}
|
{[ "type": "checkbox", "label": "'.tr('Automezzo').'", "name": "is_automezzo", "id": "is_automezzo", "value": "0", "help": "'.tr('Seleziona se questa sede rappresenta un automezzo.').'" ]}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "checkbox", "label": "'.tr('Rappresentante fiscale').'", "name": "is_rappresentante_fiscale", "value": "'.($record['is_rappresentante_fiscale']).'", "help": "'.tr("Utilizza questa sede come rappresentante fiscale per l'anagrafica.").'" ]}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "select", "multiple": "1", "label": "'.tr('Referenti').'", "name": "id_referenti[]", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$id_parent.'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_parent.'" ]}
|
{[ "type": "select", "multiple": "1", "label": "'.tr('Referenti').'", "name": "id_referenti[]", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$id_parent.'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_parent.'" ]}
|
||||||
|
|
|
@ -40,76 +40,70 @@ echo '
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Indirizzo').'", "name": "indirizzo", "id": "indirizzo_", "required": 0, "value": "$indirizzo$" ]}
|
{[ "type": "text", "label": "'.tr('Indirizzo').'", "name": "indirizzo", "id": "indirizzo_", "required": 0, "value": "$indirizzo$" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "text", "label": "'.($record['tipo_anagrafica'] == 'Ente pubblico' ? tr('Codice unico ufficio') : tr('Codice destinatario')).'", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": '.($record['tipo_anagrafica'] == 'Ente pubblico' ? '6' : '7').', "help": "'.tr('<b>Attenzione</b>: per impostare il codice specificare prima \'Tipologia\' e \'Nazione\' dell\'anagrafica:<br><ul><li>Ente pubblico (B2G/PA) - Codice Univoco Ufficio (www.indicepa.gov.it), 6 caratteri</li><li>Azienda (B2B) - Codice Destinatario, 7 caratteri</li><li>Privato (B2C) - viene utilizzato il Codice Fiscale</li></ul>').'", "readonly": "'.intval($record['iso2'] ? $record['iso2'] != 'IT' : 0).'" ]}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "id": "citta_", "value": "$citta$", "required": 1 ]}
|
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "id": "citta_", "value": "$citta$", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap", "value": "$cap$", "required":1 ]}
|
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap", "value": "$cap$", "required":1 ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-4">
|
||||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "value": "$provincia$", "maxlength": 2, "class": "text-center provincia-mask text-uppercase", "extra": "onkeyup=\"this.value = this.value.toUpperCase();\"" ]}
|
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "value": "$provincia$", "maxlength": 2, "class": "text-center provincia-mask text-uppercase", "extra": "onkeyup=\"this.value = this.value.toUpperCase();\"" ]}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
<div class="col-md-2">
|
|
||||||
{[ "type": "number", "label": "'.tr('Km').'", "name": "km", "value": "$km$" ]}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "value": "$id_nazione$", "ajax-source": "nazioni", "required": 1 ]}
|
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "value": "$id_nazione$", "ajax-source": "nazioni", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
{[ "type": "telefono", "label": "'.tr('Telefono').'", "name": "telefono", "value": "$telefono$" ]}
|
{[ "type": "telefono", "label": "'.tr('Telefono').'", "name": "telefono", "value": "$telefono$" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-md-3">
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "text", "label": "'.tr('Fax').'", "name": "fax", "value": "$fax$" ]}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "telefono", "label": "'.tr('Cellulare').'", "name": "cellulare", "value": "$cellulare$" ]}
|
{[ "type": "telefono", "label": "'.tr('Cellulare').'", "name": "cellulare", "value": "$cellulare$" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "text", "label": "'.tr('Indirizzo email').'", "name": "email", "value": "$email$", "class": "email-mask", "validation": "email" ]}
|
{[ "type": "text", "label": "'.tr('Indirizzo email').'", "name": "email", "value": "$email$", "class": "email-mask", "validation": "email" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<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']).'", "help": "'.tr("Blocco per l'invio delle email.").'" ]}
|
{[ "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>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "text", "label": "'.($record['tipo_anagrafica'] == 'Ente pubblico' ? tr('Codice unico ufficio') : tr('Codice destinatario')).'", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": '.($record['tipo_anagrafica'] == 'Ente pubblico' ? '6' : '7').', "help": "'.tr('<b>Attenzione</b>: per impostare il codice specificare prima \'Tipologia\' e \'Nazione\' dell\'anagrafica:<br><ul><li>Ente pubblico (B2G/PA) - Codice Univoco Ufficio (www.indicepa.gov.it), 6 caratteri</li><li>Azienda (B2B) - Codice Destinatario, 7 caratteri</li><li>Privato (B2C) - viene utilizzato il Codice Fiscale</li></ul>').'", "readonly": "'.intval($record['iso2'] ? $record['iso2'] != 'IT' : 0).'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
{[ "type": "checkbox", "label": "'.tr('Rappresentante fiscale').'", "name": "is_rappresentante_fiscale", "value": "'.($record['is_rappresentante_fiscale']).'", "help": "'.tr("Utilizza questa sede come rappresentante fiscale per l'anagrafica.").'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "text", "label": "'.tr('Partita IVA').'", "name": "piva", "value": "'.($record['piva']).'", "help": "'.tr('Partita IVA del rappresentante fiscale.').'", "disabled":"disabled"]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "text", "label": "'.tr('Codice fiscale').'", "name": "codice_fiscale", "value": "'.($record['codice_fiscale']).'", "help": "'.tr('Codice fiscale del rappresentante fiscale.').'", "disabled":"disabled" ]}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
{[ "type": "checkbox", "label": "'.tr('Automezzo').'", "name": "is_automezzo", "id": "is_automezzo", "value": "'.$record['is_automezzo'].'", "help": "'.tr('Seleziona se questa sede rappresenta un automezzo.').'" ]}
|
{[ "type": "checkbox", "label": "'.tr('Automezzo').'", "name": "is_automezzo", "id": "is_automezzo", "value": "'.$record['is_automezzo'].'", "help": "'.tr('Seleziona se questa sede rappresenta un automezzo.').'" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "ajax-source": "zone", "value": "$idzona$", "placeholder": "'.tr('Nessuna zona').'", "icon-after": "add|'.Modules::get('Zone')['id'].'" ]}
|
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "ajax-source": "zone", "value": "$idzona$", "placeholder": "'.tr('Nessuna zona').'", "icon-after": "add|'.Modules::get('Zone')['id'].'" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-md-4">
|
||||||
|
{[ "type": "number", "label": "'.tr('Km').'", "name": "km", "value": "$km$" ]}
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12">
|
|
||||||
{[ "type": "select", "multiple": "1", "label": "'.tr('Referenti').'", "name": "id_referenti[]", "value": "'.$referenti.'", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$id_parent.'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_parent.'" ]}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-6">
|
||||||
|
{[ "type": "select", "multiple": "1", "label": "'.tr('Referenti').'", "name": "id_referenti[]", "value": "'.$referenti.'", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$id_parent.'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_parent.'" ]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
{[ "type": "textarea", "label": "'.tr('Note').'", "name": "note", "value": "$note$" ]}
|
{[ "type": "textarea", "label": "'.tr('Note').'", "name": "note", "value": "$note$" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -214,6 +208,29 @@ echo '
|
||||||
<script>$(document).ready(init)</script>
|
<script>$(document).ready(init)</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
function rappresentante_fiscale() {
|
||||||
|
let rappresentante_fiscale = input("is_rappresentante_fiscale");
|
||||||
|
let piva = input("piva");
|
||||||
|
let codice_fiscale = input("codice_fiscale");
|
||||||
|
|
||||||
|
if(rappresentante_fiscale.get()==1){
|
||||||
|
input("piva").enable();
|
||||||
|
input("codice_fiscale").enable();
|
||||||
|
} else {
|
||||||
|
input("piva").disable();
|
||||||
|
input("codice_fiscale").disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
rappresentante_fiscale();
|
||||||
|
});
|
||||||
|
|
||||||
|
input("is_rappresentante_fiscale").change(function () {
|
||||||
|
rappresentante_fiscale();
|
||||||
|
});
|
||||||
|
|
||||||
$("#modals > div").on("shown.bs.modal", function () {
|
$("#modals > div").on("shown.bs.modal", function () {
|
||||||
if (input("lat").get() && input("lng").get()) {
|
if (input("lat").get() && input("lng").get()) {
|
||||||
caricaMappaSede();
|
caricaMappaSede();
|
||||||
|
@ -288,5 +305,4 @@ function rimuoviSede(button) {
|
||||||
});
|
});
|
||||||
}).catch(swal.noop);
|
}).catch(swal.noop);
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>';
|
</script>';
|
||||||
|
|
|
@ -88,3 +88,6 @@ INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filen
|
||||||
INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help`) VALUES
|
INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help`) VALUES
|
||||||
(NULL, 'Stampa carico odierno', 'print', (SELECT `id` FROM `zz_modules` WHERE name='Automezzi'), 'controller_top', 'col-md-4', '', '#37a02d', 'fa fa-print', '', 'var data_carico = prompt(\'Data del carico da stampare?\', moment(new Date()).format(\'DD/MM/YYYY\'));\r\nif ( data_carico != null){ \r\nwindow.open(\'pdfgen.php?id_print=54&search_targa=\'+$(\'#th_Targa input\').val()+\'&search_nome=\'+$(\'#th_Nome input\').val()+\'&data_carico=\'+data_carico); \r\n}', 'javascript', '', 'Stampa carico odierno', '1', '2', NULL),
|
(NULL, 'Stampa carico odierno', 'print', (SELECT `id` FROM `zz_modules` WHERE name='Automezzi'), 'controller_top', 'col-md-4', '', '#37a02d', 'fa fa-print', '', 'var data_carico = prompt(\'Data del carico da stampare?\', moment(new Date()).format(\'DD/MM/YYYY\'));\r\nif ( data_carico != null){ \r\nwindow.open(\'pdfgen.php?id_print=54&search_targa=\'+$(\'#th_Targa input\').val()+\'&search_nome=\'+$(\'#th_Nome input\').val()+\'&data_carico=\'+data_carico); \r\n}', 'javascript', '', 'Stampa carico odierno', '1', '2', NULL),
|
||||||
(NULL, 'Stampa giacenza', 'print', (SELECT `id` FROM `zz_modules` WHERE name='Automezzi'), 'controller_top', 'col-md-4', '', '#45a9f1', 'fa fa-truck', '', 'if( confirm(\'Stampare la giacenza attuale sugli automezzi?\') ){ window.open(\'pdfgen.php?id_print=53&search_targa=\'+$(\'#th_Targa input\').val()+\'&search_nome=\'+$(\'#th_Nome input\').val()); }', 'javascript', '', 'Stampa giacenza', '1', '1', NULL);
|
(NULL, 'Stampa giacenza', 'print', (SELECT `id` FROM `zz_modules` WHERE name='Automezzi'), 'controller_top', 'col-md-4', '', '#45a9f1', 'fa fa-truck', '', 'if( confirm(\'Stampare la giacenza attuale sugli automezzi?\') ){ window.open(\'pdfgen.php?id_print=53&search_targa=\'+$(\'#th_Targa input\').val()+\'&search_nome=\'+$(\'#th_Nome input\').val()); }', 'javascript', '', 'Stampa giacenza', '1', '1', NULL);
|
||||||
|
|
||||||
|
-- Aggiunta flag rappresentante fiscale per sede
|
||||||
|
ALTER TABLE `an_sedi` ADD `is_rappresentante_fiscale` BOOLEAN NOT NULL DEFAULT FALSE;
|
Loading…
Reference in New Issue