Skip to content
Snippets Groups Projects
Verified Commit 9c41bed4 authored by Damien's avatar Damien
Browse files

FEAT #15401 TIME 1:50 Format Registered mail number if necessary

parent 190378a5
No related branches found
No related tags found
No related merge requests found
......@@ -173,12 +173,11 @@ class RegisteredMailController
return $response->withStatus(400)->withJson(['errors' => "Body type is empty or is not 'distributed' or 'notDistributed'"]);
} elseif (!Validator::stringType()->notEmpty()->validate($body['number'])) {
return $response->withStatus(400)->withJson(['errors' => 'Body number is empty or not a string']);
} elseif (!preg_match("/(2C|2D|RW) ([0-9]{3} [0-9]{3} [0-9]{4}) ([0-9])/", $body['number'])) {
} elseif (!preg_match("/(2C|2D|RW) ?([0-9]{3} ?[0-9]{3} ?[0-9]{4}) ?([0-9])/", $body['number'])) {
return $response->withStatus(400)->withJson(['errors' => 'Body number is not valid']);
}
$number = trim($body['number'], ' ');
$number = RegisteredMailController::getFormattedRegisteredNumber(['number' => $body['number']]);
$registeredMail = RegisteredMailModel::getWithResources([
'select' => ['id', 'registered_mail_resources.res_id', 'received_date', 'deposit_id', 'status'],
'where' => ['alt_identifier = ?'],
......@@ -266,12 +265,11 @@ class RegisteredMailController
return $response->withStatus(400)->withJson(['errors' => "Body type is empty or is not 'distributed' or 'notDistributed'"]);
} elseif (!Validator::stringType()->notEmpty()->validate($body['number'])) {
return $response->withStatus(400)->withJson(['errors' => 'Body number is empty or not a string']);
} elseif (!preg_match("/(2C|2D|RW) ([0-9]{3} [0-9]{3} [0-9]{4}) ([0-9])/", $body['number'])) {
} elseif (!preg_match("/(2C|2D|RW) ?([0-9]{3} ?[0-9]{3} ?[0-9]{4}) ?([0-9])/", $body['number'])) {
return $response->withStatus(400)->withJson(['errors' => 'Body number is not valid']);
}
$body['number'] = trim($body['number'], ' ');
$body['number'] = RegisteredMailController::getFormattedRegisteredNumber(['number' => $body['number']]);
$registeredMail = RegisteredMailModel::getWithResources([
'select' => ['id', 'registered_mail_resources.res_id', 'received_date', 'deposit_id'],
'where' => ['alt_identifier = ?'],
......@@ -1147,4 +1145,26 @@ class RegisteredMailController
return [];
}
private static function getFormattedRegisteredNumber(array $args)
{
ValidatorModel::notEmpty($args, ['number']);
ValidatorModel::stringType($args, ['number']);
$number = trim($args['number'], ' ');
if ($number[2] != ' ') {
$number = substr_replace($number, ' ', 2, 0);
}
if ($number[6] != ' ') {
$number = substr_replace($number, ' ', 6, 0);
}
if ($number[10] != ' ') {
$number = substr_replace($number, ' ', 10, 0);
}
if ($number[15] != ' ') {
$number = substr_replace($number, ' ', 15, 0);
}
return $number;
}
}
......@@ -59,7 +59,7 @@ export class AcknowledgementReceptionComponent implements OnInit {
ngOnInit() {
this.headerService.setHeader(this.translate.instant('lang.arReception'));
const validatorNumber: ValidatorFn[] = [Validators.pattern(/(2C|2D|RW) ([0-9]{3} [0-9]{3} [0-9]{4}) ([0-9])/), Validators.required];
const validatorNumber: ValidatorFn[] = [Validators.pattern(/(2C|2D|RW) ?([0-9]{3} ?[0-9]{3} ?[0-9]{4}) ?([0-9])/), Validators.required];
this.adminFormGroup = this._formBuilder.group({
type: ['', Validators.required],
number: ['', validatorNumber],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment