MT#17417 Remove possibility to create subscriber out of the customer view

Change-Id: I9ace6d44da331fe9b4950574de7370fd6f604341
changes/28/6828/31
Irina Peshinskaya 9 years ago
parent e1bce43161
commit e2865cb4b2

@ -22,7 +22,6 @@ use NGCP::Panel::Utils::Fax;
use NGCP::Panel::Utils::Kamailio;
use NGCP::Panel::Utils::Events;
use NGCP::Panel::Utils::ProfilePackages qw();
use NGCP::Panel::Form::Subscriber;
use NGCP::Panel::Form::SubscriberEdit;
use NGCP::Panel::Form::CCMapEntries;
use NGCP::Panel::Form::Customer::PbxSubscriberEdit;
@ -134,95 +133,6 @@ sub root :Chained('sub_list') :PathPart('') :Args(0) :Does(ACL) :ACLDetachTo('/d
my ($self, $c) = @_;
}
sub create_list :Chained('sub_list') :PathPart('create') :Args(0) :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRole(reseller) {
my ($self, $c) = @_;
my $posted = ($c->request->method eq 'POST');
my $params = {};
$params = merge($params, $c->session->{created_objects});
my $form = NGCP::Panel::Form::Subscriber->new(ctx => $c);
$form->process(
posted => $posted,
params => $c->request->params,
item => $params,
);
NGCP::Panel::Utils::Navigation::check_form_buttons(
c => $c,
form => $form,
fields => {
'domain.create' => $c->uri_for('/domain/create'),
'reseller.create' => $c->uri_for('/reseller/create'),
'contract.create' => $c->uri_for('/customer/create'),
},
back_uri => $c->req->uri,
);
if($form->validated) {
my $schema = $c->model('DB');
try {
$schema->set_transaction_isolation('READ COMMITTED');
$schema->txn_do(sub {
my $preferences = {};
my $contract_rs = NGCP::Panel::Utils::Contract::get_customer_rs(c => $c, contract_id => $form->params->{contract}{id} );
my $contract = $contract_rs->find({
'me.id' => $form->params->{contract}{id},
});
my $billing_mapping = $contract->billing_mappings->find($contract->get_column('bmid'));
if($contract->external_id) {
$preferences->{ext_contract_id} = $contract->external_id;
}
if(defined $form->params->{external_id}) {
$preferences->{ext_subscriber_id} = $form->params->{external_id};
}
if($billing_mapping->billing_profile->prepaid) {
$preferences->{prepaid} = 1;
}
my $billing_subscriber = NGCP::Panel::Utils::Subscriber::create_subscriber(
c => $c,
schema => $schema,
contract => $contract,
params => $form->params,
admin_default => 0,
preferences => $preferences,
); #nested txn_do is ok.
$billing_subscriber->discard_changes;
if($billing_subscriber->status eq 'locked') {
NGCP::Panel::Utils::Subscriber::lock_provisoning_voip_subscriber(
c => $c,
prov_subscriber => $billing_subscriber->provisioning_voip_subscriber,
level => 4,
);
} else {
NGCP::Panel::Utils::ProfilePackages::underrun_lock_subscriber(c => $c, subscriber => $billing_subscriber);
}
delete $c->session->{created_objects}->{reseller};
delete $c->session->{created_objects}->{contract};
delete $c->session->{created_objects}->{domain};
});
NGCP::Panel::Utils::Message::info(
c => $c,
desc => $c->loc('Subscriber successfully created!'),
);
} catch($e) {
NGCP::Panel::Utils::Message::error(
c => $c,
error => $e,
desc => $c->loc('Failed to create subscriber'),
);
}
NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriber'));
}
$c->stash(create_flag => 1);
$c->stash(form => $form)
}
sub base :Chained('sub_list') :PathPart('') :CaptureArgs(1) {
my ($self, $c, $subscriber_id) = @_;

@ -20,9 +20,6 @@
{ name = c.loc('Details'), uri = "/subscriber/'+full.id+'/details", class = 'btn-small btn-tertiary', icon = 'icon-th-list', condition = 'full.status != "terminated"' },
{ name = c.loc('Customer'), uri = "/customer/'+full.contract_id+'/details", class = 'btn-small btn-tertiary', icon = 'icon-user' },
];
helper.top_buttons = [
{ name = c.loc('Create Subscriber'), uri = c.uri_for_action('/subscriber/create_list'), icon = 'icon-star' },
];
ELSE;
helper.dt_buttons = [
{ name = c.loc('Details'), uri = "/subscriber/'+full.id+'/details", class = 'btn-small btn-tertiary', icon = 'icon-th-list', condition = 'full.status != "terminated"' },

Loading…
Cancel
Save