MT#19457 Add lnp authoritative and skip_rewrite

Authoritative is rejecting call with 404 if number is not assigned
to local subscriber.
Skip Rewrite is skipping lnp rewrite rules.

Change-Id: I106df797a0b6530b4aaa0fc25ce54d3a459cbd97
changes/28/6428/1
Andreas Granig 10 years ago
parent 4188ff819b
commit 9f892f5fe2

@ -30,6 +30,8 @@ sub list :Chained('/') :PathPart('lnp') :CaptureArgs(0) {
{ name => "id", "search" => 1, "title" => $c->loc("#") },
{ name => "name", "search" => 1, "title" => $c->loc("Name") },
{ name => "prefix", "search" => 1, "title" => $c->loc("Prefix") },
{ name => "authoritative", "search" => 0, "title" => $c->loc("Authoritative") },
{ name => "skip_rewrite", "search" => 0, "title" => $c->loc("Skip Rewrite") },
]);
my $number_rs = $c->model('DB')->resultset('lnp_numbers');

@ -34,6 +34,26 @@ has_field 'prefix' => (
},
);
has_field 'authoritative' => (
type => 'Boolean',
label => 'Authoritative',
required => 0,
element_attr => {
rel => ['tooltip'],
title => ['If active, and the number is not assigned to a local subscriber, calls to this number are rejected with 404 Not Found.']
},
);
has_field 'skip_rewrite' => (
type => 'Boolean',
label => 'Skip Rewrite',
required => 0,
element_attr => {
rel => ['tooltip'],
title => ['If active, no LNP rewrite rules will be applied after the LNP lookup.']
},
);
has_field 'save' => (
type => 'Submit',
value => 'Save',
@ -44,7 +64,7 @@ has_field 'save' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/name prefix/],
render_list => [qw/name prefix authoritative skip_rewrite/],
);
has_block 'actions' => (

@ -25,7 +25,7 @@ sub upload_csv {
# csv bulk upload
my $csv = Text::CSV_XS->new({ allow_whitespace => 1, binary => 1, keep_meta_info => 1 });
#my @cols = @{ $c->config->{lnp_csv}->{element_order} };
my @cols = qw/carrier_name carrier_prefix number routing_number start end/;
my @cols = qw/carrier_name carrier_prefix number routing_number start end authoritative skip_rewrite/;
my @fields ;
my @fails = ();
@ -45,10 +45,14 @@ sub upload_csv {
@{$row}{@cols} = @{ $line };
my $k = $row->{carrier_name};
my $p = $row->{carrier_prefix};
my $auth = $row->{authoritative};
my $rw = $row->{skip_rewrite};
unless(exists $carriers{$k}) {
my $carrier = $schema->resultset('lnp_providers')->find_or_create({
name => $k,
prefix => $p,
authoritative => $auth,
skip_rewrite => $rw,
});
$carriers{$k} = $carrier->id;
}
@ -87,13 +91,13 @@ sub create_csv {
my($c) = @params{qw/c/};
#my @cols = @{ $c->config->{lnp_csv}->{element_order} };
my @cols = qw/carrier_name carrier_prefix number routing_number start end/;
my @cols = qw/carrier_name carrier_prefix number routing_number start end authoritative skip_rewrite/;
my $lnp_rs = $c->stash->{number_rs}->search_rs(
undef,
{
'+select' => ['lnp_provider.name','lnp_provider.prefix'],
'+as' => ['carrier_name','carrier_prefix'],
'+select' => ['lnp_provider.name','lnp_provider.prefix', 'lnp_provider.authoritative', 'lnp_provider.skip_rewrite'],
'+as' => ['carrier_name','carrier_prefix', 'authoritative', 'skip_rewrite'],
'join' => 'lnp_provider',
}
);

Loading…
Cancel
Save