MT#6827 API pbxdevice* improvements

search queries, description and form validation
ipeshinskaya/InvoiceTemplate5
Gerhard Jungwirth 11 years ago
parent 0de65edace
commit 139dabf562

@ -18,13 +18,35 @@ class_has 'api_description' => (
is => 'ro',
isa => 'Str',
default =>
'TODO',
'Specifies a config to be set in <a href="#pbxdeviceprofiles">PbxDeviceProfiles</a>.',
);
class_has 'query_params' => (
is => 'ro',
isa => 'ArrayRef',
default => sub {[
{
param => 'content_type',
description => 'Filter for configs matching a content_type pattern',
query => {
first => sub {
my $q = shift;
{ content_type => { like => $q } };
},
second => sub {},
},
},
{
param => 'version',
description => 'Filter for configs matching a version name pattern',
query => {
first => sub {
my $q = shift;
{ version => { like => $q } };
},
second => sub {},
},
},
]},
);

@ -18,13 +18,35 @@ class_has 'api_description' => (
is => 'ro',
isa => 'Str',
default =>
'TODO',
'Specifies a model to be set in <a href="#pbxdeviceconfigs">PbxDeviceConfigs</a>.',
);
class_has 'query_params' => (
is => 'ro',
isa => 'ArrayRef',
default => sub {[
{
param => 'model',
description => 'Filter for models matching a model name pattern',
query => {
first => sub {
my $q = shift;
{ model => { like => $q } };
},
second => sub {},
},
},
{
param => 'vendor',
description => 'Filter for models matching a vendor name pattern',
query => {
first => sub {
my $q = shift;
{ vendor => { like => $q } };
},
second => sub {},
},
},
]},
);

@ -18,13 +18,24 @@ class_has 'api_description' => (
is => 'ro',
isa => 'Str',
default =>
'TODO',
'Specifies a profile to be set in <a href="#pbxdevices">PbxDevices</a>.',
);
class_has 'query_params' => (
is => 'ro',
isa => 'ArrayRef',
default => sub {[
{
param => 'name',
description => 'Filter for profiles matching a name pattern',
query => {
first => sub {
my $q = shift;
{ name => { like => $q } };
},
second => sub {},
},
},
]},
);

@ -53,13 +53,12 @@ sub resource_from_item {
delete $resource{device_id};
my $form = $self->get_form($c);
# return unless $self->validate_form(
# c => $c,
# form => $form,
# resource => \%resource,
# run => 0,
# );
$resource{id} += 0;
return unless $self->validate_form(
c => $c,
form => $form,
resource => \%resource,
run => 0,
);
return \%resource;
}
@ -67,6 +66,12 @@ sub resource_from_item {
sub item_rs {
my ($self, $c) = @_;
my $item_rs = $c->model('DB')->resultset('autoprov_configs');
if($c->user->roles eq "admin") {
} elsif ($c->user->roles eq "reseller") {
$item_rs = $item_rs->search(
{ 'device.reseller_id' => $c->user->reseller_id, },
{ prefetch => 'device', });
}
return $item_rs;
}

@ -59,8 +59,7 @@ sub resource_from_item {
resource => \%resource,
run => 0,
);
$resource{id} += 0;
$resource{reseller_id} += 0;
$resource{reseller_id} = $item->reseller_id + 0;
return \%resource;
}

@ -59,7 +59,6 @@ sub resource_from_item {
resource => \%resource,
run => 0,
);
$resource{id} += 0;
return \%resource;
}
@ -67,6 +66,12 @@ sub resource_from_item {
sub item_rs {
my ($self, $c) = @_;
my $item_rs = $c->model('DB')->resultset('autoprov_profiles');
if($c->user->roles eq "admin") {
} elsif ($c->user->roles eq "reseller") {
$item_rs = $item_rs->search(
{ 'device.reseller_id' => $c->user->reseller_id, },
{ prefetch => { 'config' => 'device', }});
}
return $item_rs;
}

Loading…
Cancel
Save