From 323d12bd8a02018d8c501380586bf137cde05efc Mon Sep 17 00:00:00 2001 From: Irina Peshinskaya Date: Fri, 1 Jun 2018 19:47:53 +0200 Subject: [PATCH] TT#37325 Make lines not mandatory for /api/pbxdevices Change-Id: I42947ad31a00cd7b7020575db82e575894413f55 --- lib/NGCP/Panel/Controller/API/PbxDevices.pm | 4 ++++ lib/NGCP/Panel/Form/Customer/PbxFieldDeviceAPI.pm | 3 ++- lib/NGCP/Panel/Role/API/PbxDevices.pm | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/NGCP/Panel/Controller/API/PbxDevices.pm b/lib/NGCP/Panel/Controller/API/PbxDevices.pm index e75ba08c15..57214eb2af 100644 --- a/lib/NGCP/Panel/Controller/API/PbxDevices.pm +++ b/lib/NGCP/Panel/Controller/API/PbxDevices.pm @@ -140,6 +140,10 @@ sub POST :Allow { resource => $resource, form => $form, ); + if (defined $resource->{lines} && ref $resource->{lines} ne 'ARRAY') { + $self->error($c, HTTP_UNPROCESSABLE_ENTITY, 'Invalid "lines" value. Must be an array.'); + last; + } my $iden_device = $schema->resultset('autoprov_field_devices')->find({identifier => $resource->{identifier}}); if ($iden_device) { diff --git a/lib/NGCP/Panel/Form/Customer/PbxFieldDeviceAPI.pm b/lib/NGCP/Panel/Form/Customer/PbxFieldDeviceAPI.pm index a939386ddb..3a655636fa 100644 --- a/lib/NGCP/Panel/Form/Customer/PbxFieldDeviceAPI.pm +++ b/lib/NGCP/Panel/Form/Customer/PbxFieldDeviceAPI.pm @@ -39,7 +39,8 @@ has_field 'lines' => ( setup_for_js => 1, do_wrapper => 1, do_label => 1, - required => 1, + required => 0, + validate_when_empty => 1, tags => { controls_div => 1, }, diff --git a/lib/NGCP/Panel/Role/API/PbxDevices.pm b/lib/NGCP/Panel/Role/API/PbxDevices.pm index a5bc19df88..9da1375e3d 100644 --- a/lib/NGCP/Panel/Role/API/PbxDevices.pm +++ b/lib/NGCP/Panel/Role/API/PbxDevices.pm @@ -121,6 +121,10 @@ sub update_item { form => $form, resource => $resource, ); + if (defined $resource->{lines} && ref $resource->{lines} ne 'ARRAY') { + $self->error($c, HTTP_UNPROCESSABLE_ENTITY, 'Invalid "lines" value. Must be an array.'); + last; + } my $iden_device = $schema->resultset('autoprov_field_devices')->find({identifier => $resource->{identifier}}); if($iden_device && $iden_device->id != $item->id) {