MT#63062 fix /api/customercontacts for reseller roles

* fix logic in update_contact() that was performed
  with the reseller_id that became undef after form validation for
  reseller roles.

Change-Id: I2e1d386f01b5d279188a7600d2d7f0d9d44b7853
mr13.5
Kirill Solomko 4 months ago
parent b952dda5af
commit f7a3b1eab2

@ -111,8 +111,15 @@ sub update_contact {
$resource->{country}{id} = delete $resource->{country};
$resource->{timezone}{name} = delete $resource->{timezone};
$form //= $self->get_form($c);
# TODO: for some reason, formhandler lets missing reseller_id slip thru
$resource->{reseller_id} //= undef;
if ($old_resource->{reseller_id} != $resource->{reseller_id}) {
my $reseller = $c->model('DB')->resultset('resellers')->find($resource->{reseller_id});
unless ($reseller) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid 'reseller_id'");
return;
}
}
return unless $self->validate_form(
c => $c,
form => $form,
@ -124,13 +131,6 @@ sub update_contact {
my $now = NGCP::Panel::Utils::DateTime::current_local;
$resource->{modify_timestamp} = $now;
if($old_resource->{reseller_id} != $resource->{reseller_id}) {
my $reseller = $c->model('DB')->resultset('resellers')->find($resource->{reseller_id});
unless($reseller) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid 'reseller_id'");
return;
}
}
$contact->update($resource);

Loading…
Cancel
Save