Adding VIES recheck workflow and tests.

This commit is contained in:
Martin Kamerbeek 2009-12-15 22:59:54 +01:00
parent f582bfd99e
commit e88b0ca0d7
6 changed files with 313 additions and 7 deletions

View file

@ -176,7 +176,20 @@ sub addVATNumber {
0,
] );
return $numberIsValid ? undef : $i18n->get('vies unavailable');
if ( $numberIsValid ) {
return undef;
}
else {
my $workflow = WebGUI::Workflow::Instance->create( $self->session, {
workflowId => 'taxeurecheckworkflow01',
parameters => {
userId => $user->userId,
vatNumber => $number,
},
} )->start();
return $i18n->get('vies unavailable');
}
}
#-------------------------------------------------------------------
@ -823,6 +836,45 @@ sub isUsableVATNumber {
#-------------------------------------------------------------------
=head2 recheckVATNumber ( vatNumber, user )
=cut
sub recheckVATNumber {
my $self = shift;
my $number = shift;
my $user = shift || $self->session->user;
my $validator = Business::Tax::VAT::Validation->new;
my $isValid = $validator->check( $number );
my $errorCode = $validator->get_last_error_code;
if ( $isValid ) {
$self->session->db->write(
'update tax_eu_vatNumbers set viesValidated=?, viesErrorCode=? where vatNumber=? and userId=?',
[
1,
undef,
$number,
$user->userId,
],
);
return 'VALID';
}
elsif ( $errorCode < 17 ) {
$self->deleteVATNumber( $number, $user );
return 'INVALID';
}
else {
return 'UNKNOWN';
}
}
#-------------------------------------------------------------------
=head2 skuFormDefinition ( )
Returns a hash ref containing the form definition for the per sku options for this tax driver.