Completamento validazione partita iva per nazione

This commit is contained in:
loviuz 2023-06-13 14:47:19 +02:00
parent 2dd3fc4f13
commit b564b13ef3
3 changed files with 24 additions and 6 deletions

View File

@ -17,8 +17,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
use Modules\Anagrafiche\Nazione;
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
$id_nazione_italia = Nazione::where('nome', 'Italia')->first()->id;
if (get('tipoanagrafica') != '') { if (get('tipoanagrafica') != '') {
$rs = $dbo->fetchArray('SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='.prepare(get('tipoanagrafica'))); $rs = $dbo->fetchArray('SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='.prepare(get('tipoanagrafica')));
$idtipoanagrafica = $rs[0]['idtipoanagrafica']; $idtipoanagrafica = $rs[0]['idtipoanagrafica'];
@ -62,7 +66,7 @@ echo '
<div class="box-body"> <div class="box-body">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "text", "label": "'.tr('Partita IVA').'", "maxlength": 16, "name": "piva", "class": "text-center alphanumeric-mask", "validation": "partita_iva"]} {[ "type": "text", "label": "'.tr('Partita IVA').'", "maxlength": 16, "name": "piva", "id": "piva_add", "class": "text-center alphanumeric-mask", "validation": "partita_iva"]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -95,7 +99,7 @@ echo '
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "id": "id_nazione_add", "values": "query=SELECT id AS id, CONCAT_WS(\' - \', iso2, nome) AS descrizione FROM an_nazioni ORDER BY CASE WHEN iso2=\'IT\' THEN -1 ELSE iso2 END" ]} {[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "id": "id_nazione_add", "values": "query=SELECT id AS id, CONCAT_WS(\' - \', iso2, nome) AS descrizione, iso2 FROM an_nazioni ORDER BY CASE WHEN iso2=\'IT\' THEN -1 ELSE iso2 END", "value": "'.$id_nazione_italia.'" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -167,10 +171,19 @@ echo '
}); });
id_nazione.change(function() { id_nazione.change(function() {
if ((id_nazione.getData().descrizione === 'IT - Italia') || (id_nazione.getData().descrizione === 'SM - San Marino')) { if (id_nazione.get() !== null) {
if ((id_nazione.getData().iso2 === 'IT') || (id_nazione.getData().iso2 === 'SM')) {
input("codice_destinatario").enable(); input("codice_destinatario").enable();
}else{ }else{
input("codice_destinatario").disable(); input("codice_destinatario").disable();
} }
// Aggiunta nazione come parametro aggiuntivo per la validazione partita iva
$("#piva_add").data("additional", $(this).selectData().iso2);
}
});
$(document).ready( function(){
id_nazione.trigger('change');
}); });
</script> </script>

View File

@ -92,6 +92,10 @@ switch ($name) {
$partita_iva = !empty($anagrafica) && is_numeric($value) ? $anagrafica->nazione->iso2.$value : $value; $partita_iva = !empty($anagrafica) && is_numeric($value) ? $anagrafica->nazione->iso2.$value : $value;
if (post('additional_param')) {
$partita_iva = post('additional_param').$partita_iva;
}
$result = $disponibile; $result = $disponibile;
$check = Validate::isValidVatNumber($partita_iva); $check = Validate::isValidVatNumber($partita_iva);
if (empty($check['valid-format'])) { if (empty($check['valid-format'])) {

View File

@ -143,6 +143,7 @@ class HTMLWrapper implements WrapperInterface
name: "'.$name.'", name: "'.$name.'",
value: value, value: value,
op: "validate", op: "validate",
additional_param: input.data("additional")
}, },
success: function(data) { success: function(data) {
data = JSON.parse(data); data = JSON.parse(data);