TT#3991 Add ncos level flag for intra-pbx calls

If set and a call is done within a pbx customer, the call is blocked
in blacklist, and is allowed in whitelist.

Change-Id: Ib43e5a45525a69e2b9dd9537dabddf10dfc006d1
changes/00/8500/2
Andreas Granig 9 years ago
parent 98ad079a7f
commit 34dd42ec8d

@ -8,7 +8,7 @@ use NGCP::Panel::Form::NCOS::ResellerLevel;
use NGCP::Panel::Form::NCOS::AdminLevel;
use NGCP::Panel::Form::NCOS::Pattern;
use NGCP::Panel::Form::NCOS::Lnp;
use NGCP::Panel::Form::NCOS::LocalAC;
use NGCP::Panel::Form::NCOS::Extra;
use NGCP::Panel::Utils::Message;
use NGCP::Panel::Utils::Navigation;
use NGCP::Panel::Utils::Datatables;
@ -253,6 +253,7 @@ sub pattern_list :Chained('base') :PathPart('pattern') :CaptureArgs(0) {
}
$c->stash(local_ac_checked => $c->stash->{level_result}->local_ac,
intra_pbx_checked => $c->stash->{level_result}->intra_pbx,
template => 'ncos/pattern_list.tt');
}
@ -405,11 +406,11 @@ sub pattern_create :Chained('pattern_list') :PathPart('create') :Args(0) {
);
}
sub pattern_edit_local_ac :Chained('pattern_list') :PathPart('edit_local_ac') :Args(0) {
sub pattern_edit_extra :Chained('pattern_list') :PathPart('edit_extra') :Args(0) {
my ($self, $c) = @_;
my $posted = ($c->request->method eq 'POST');
my $form = NGCP::Panel::Form::NCOS::LocalAC->new;
my $form = NGCP::Panel::Form::NCOS::Extra->new(ctx => $c);
$form->process(
posted => $posted,
params => $c->request->params,

@ -1,4 +1,4 @@
package NGCP::Panel::Form::NCOS::LocalAC;
package NGCP::Panel::Form::NCOS::Extra;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler';
@ -15,6 +15,12 @@ has_field 'local_ac' => (
label => 'Include local area code',
);
has_field 'intra_pbx' => (
type => 'Boolean',
label => 'Include Intra PBX Calls within same Customer',
);
has_field 'save' => (
type => 'Submit',
value => 'Save',
@ -25,7 +31,7 @@ has_field 'save' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/local_ac/],
render_list => [qw/local_ac intra_pbx/],
);
has_block 'actions' => (

@ -51,6 +51,15 @@ has_field 'local_ac' => (
},
);
has_field 'intra_pbx' => (
type => 'Boolean',
label => 'Include Intra PBX Calls within same Customer',
element_attr => {
rel => ['tooltip'],
title => ['Whether to include check for intra pbx calls within same customer']
},
);
1;
# vim: set tabstop=4 expandtab:

@ -549,7 +549,7 @@ div.ngcp-modal .control-group.error .dataTables_wrapper input[type="text"] {
padding: 4px 6px !important;
}
#number_patterns_local_ac > label {
#number_patterns_extra > label {
display: inline;
cursor: not-allowed;
}

@ -31,17 +31,25 @@
<div class="ngcp-separator"></div>
<div id="number_patterns_local_ac">
<div id="number_patterns_extra">
<input id="local_ac" type="checkbox" name="local_ac" disabled="disabled"
[% IF local_ac_checked %]checked="checked"[% END %]>
<label for="local_ac">[% c.loc('Include local area code') %]</label>
<div class="ngcp-separator"></div>
[% IF c.config.features.cloudpbx -%]
<input id="intra_pbx" type="checkbox" name="intra_pbx" disabled="disabled"
[% IF intra_pbx_checked %]checked="checked"[% END %]>
<label for="intra_pbx">[% c.loc('Intra PBX Calls within same customer') %]</label>
<div class="ngcp-separator"></div>
[% END -%]
<div>
<a class="btn btn-primary btn-small"
href="[% c.uri_for_action("/ncos/pattern_edit_local_ac", [c.req.captures.0]) %]">
href="[% c.uri_for_action("/ncos/pattern_edit_extra", [c.req.captures.0]) %]">
<i class="icon-edit"></i> [% c.loc('Edit') %]
</a>
</div>
<div class="ngcp-separator"></div>
</div>
[% IF c.user.roles == "admin" -%]

@ -21,7 +21,8 @@ $fake_data->set_data_from_script({
level => 'api_test ncos '.time(),
mode => 'whitelist',#blacklist
description => 'api_test ncos level description',
local_ac => '1',#out
local_ac => '1',
intra_pbx => '1',
},
},
});

Loading…
Cancel
Save