|
|
|
|
@ -95,6 +95,7 @@ use NGCP::BulkProcessor::Projects::Migration::UPCAT::Provisioning qw(
|
|
|
|
|
provision_ccs_subscribers
|
|
|
|
|
$UPDATE_CCS_PREFERENCES_MODE
|
|
|
|
|
$SET_CCS_CF_MODE
|
|
|
|
|
$CLEAR_CCS_CF_MODE
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
scripterror(getscriptpath() . ' already running',getlogger(getscriptpath())) unless flock DATA, LOCK_EX | LOCK_NB; # not tested on windows yet
|
|
|
|
|
@ -134,6 +135,8 @@ push(@TASK_OPTS,$update_ccs_subscriber_preferences_task_opt);
|
|
|
|
|
my $set_ccs_subscriber_cf_task_opt = 'set_ccs_subscriber_cf';
|
|
|
|
|
push(@TASK_OPTS,$set_ccs_subscriber_cf_task_opt);
|
|
|
|
|
|
|
|
|
|
my $clear_ccs_subscriber_cf_task_opt = 'clear_ccs_subscriber_cf';
|
|
|
|
|
push(@TASK_OPTS,$clear_ccs_subscriber_cf_task_opt);
|
|
|
|
|
|
|
|
|
|
if (init()) {
|
|
|
|
|
main();
|
|
|
|
|
@ -226,6 +229,13 @@ sub main() {
|
|
|
|
|
$completion |= 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} elsif (lc($clear_ccs_subscriber_cf_task_opt) eq lc($task)) {
|
|
|
|
|
if (taskinfo($clear_ccs_subscriber_cf_task_opt,$result,1)) {
|
|
|
|
|
next unless check_dry();
|
|
|
|
|
$result &= clear_ccs_subscriber_cf_task(\@messages);
|
|
|
|
|
$completion |= 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
$result = 0;
|
|
|
|
|
scripterror("unknow task option '" . $task . "', must be one of " . join(', ',@TASK_OPTS),getlogger(getscriptpath()));
|
|
|
|
|
@ -567,6 +577,29 @@ sub set_ccs_subscriber_cf_task {
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sub clear_ccs_subscriber_cf_task {
|
|
|
|
|
my ($messages) = @_;
|
|
|
|
|
my ($result,$warning_count) = (0,0);
|
|
|
|
|
eval {
|
|
|
|
|
($result,$warning_count) = provision_ccs_subscribers($CLEAR_CCS_CF_MODE);
|
|
|
|
|
};
|
|
|
|
|
my $err = $@;
|
|
|
|
|
my $stats = ": $warning_count warnings";
|
|
|
|
|
eval {
|
|
|
|
|
$stats .= "\n total contracts: " .
|
|
|
|
|
NGCP::BulkProcessor::Dao::Trunk::billing::contracts::countby_status_resellerid(undef,undef) . ' rows';
|
|
|
|
|
$stats .= "\n total subscribers: " .
|
|
|
|
|
NGCP::BulkProcessor::Dao::Trunk::billing::voip_subscribers::countby_status_resellerid(undef,undef) . ' rows';
|
|
|
|
|
};
|
|
|
|
|
if ($err or !$result) {
|
|
|
|
|
push(@$messages,"clear ccs subscriber callforwards INCOMPLETE$stats");
|
|
|
|
|
} else {
|
|
|
|
|
push(@$messages,"clear ccs subscribers callforwards completed$stats");
|
|
|
|
|
}
|
|
|
|
|
destroy_all_dbs();
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#END {
|
|
|
|
|
# # this should not be required explicitly, but prevents Log4Perl's
|
|
|
|
|
# # "rootlogger not initialized error upon exit..
|
|
|
|
|
|