MT#59478 Entities/EntitiesItem more $c->has_errors checks

* additional $c->has_errors checks for post/patch/put/delete to
  cover all possible expected called inherited methods scenarios
  and returns.

Change-Id: I0e09ba62bcaa51d582315d9cbb672a4cf11bacf0
(cherry picked from commit 1872f342a0)
mr12.3.1
Kirill Solomko 1 year ago
parent 70ab9f39f6
commit e9303ab17f

@ -287,24 +287,36 @@ sub post {
);
unless ($self->process_form_resource($c, undef, undef, $resource, $form, $process_extras)) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, 'Could not validate request data',
'#pre_process_form_resource') unless $c->has_errors;
goto TX_END;
}
unless ($self->check_duplicate($c, undef, undef, $resource, $form, $process_extras)) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, 'Could not validate request data',
'#check_duplicates') unless $c->has_errors;
goto TX_END;
}
unless ($self->check_resource($c, undef, undef, $resource, $form, $process_extras)) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, 'Could not validate request data',
'#check_resource') unless $c->has_errors;
goto TX_END;
}
$item = $self->create_item($c, $resource, $form, $process_extras);
if ($c->has_errors) {
goto TX_END;
}
unless ($item || $self->get_config('no_item_created')) {
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, 'Internal Server Error',
'#create_item') unless $c->has_errors;
@ -313,6 +325,9 @@ sub post {
($hal, $hal_id) = $self->get_journal_item_hal($c, $item, { form => $form });
unless ($self->add_journal_item_hal($c, { hal => $hal, ($hal_id ? ( id => $hal_id, ) : ()) })) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, 'Internal Server Error',
'#add_journal_item_hal') unless $c->has_errors;
goto TX_END;

@ -315,6 +315,9 @@ sub patch {
($hal, $hal_id) = $self->get_journal_item_hal($c, $item, { form => $form });
unless ($self->add_journal_item_hal($c, { hal => $hal, ($hal_id ? ( id => $hal_id, ) : ()) })) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, 'Internal Server Error',
'#add_journal_item_hal') unless $c->has_errors;
goto TX_END;
@ -426,6 +429,9 @@ sub put {
($hal, $hal_id) = $self->get_journal_item_hal($c, $item, { form => $form });
unless ($self->add_journal_item_hal($c, { hal => $hal, ($hal_id ? ( id => $hal_id, ) : ()) })) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, 'Internal Server Error',
'#add_journal_item_hal') unless $c->has_errors;
goto TX_END;
@ -480,6 +486,9 @@ sub delete { ## no critic (ProhibitBuiltinHomonyms)
($hal, $hal_id) = $self->get_journal_item_hal($c, $item);
if ($self->delete_item($c, $item)) {
unless ($self->add_journal_item_hal($c, { hal => $hal, ($hal_id ? ( id => $hal_id, ) : ()) })) {
if ($c->has_errors) {
goto TX_END;
}
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, 'Internal Server Error',
'#add_journal_item_hal');
goto TX_END;

Loading…
Cancel
Save