avoid Voip::get_subscriber functions where possible

This needs to be cleaned up far more than expected. The code uses
subscriber information out of $c->session->{user} and sometimes
$c->session->{user}{data} at random as it seems. It's not clear what's
the difference between the logged-in subscriber and the one we operate
on, even though currently they are always identical. Further we should
use the user-provided credentials to access the provisioning interface
and remove all the custom access functions in the Provisioning Model.
3.4
Daniel Tiefnig 14 years ago
parent 190de1c42a
commit 523102cc14

@ -746,8 +746,8 @@ sub load_subscriber :Private {
my $subscriber;
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id',
{ subscriber_id => $c->session->{user}->{data}->{subscriber_id} },
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_voip_account_subscriber_by_id',
{ id => $c->session->{user}->{data}->{subscriber_id} },
\$subscriber,
);
return $subscriber;

@ -30,8 +30,9 @@ sub index : Private {
$c->log->debug('***reminder::index called');
$c->stash->{template} = 'tt/reminder.tt';
return 1 unless $c->model('Provisioning')->call_prov($c, 'voip', 'get_subscriber',
{ username => $c->session->{user}{username},
return 1 unless $c->model('Provisioning')->call_prov($c, 'billing', 'get_voip_account_subscriber',
{ id => $c->session->{user}{account_id},
username => $c->session->{user}{username},
domain => $c->session->{user}{domain},
},
\$c->session->{user}{data}

@ -141,8 +141,9 @@ sub get_usr_preferences {
eval {
$c->session->{user}{data} =
$$self{prov}->get_subscriber({username => $c->session->{user}{username},
domain => $c->session->{user}{domain}});
$$self{billing}->get_voip_account_subscriber({id => $c->session->{user}{account_id},
username => $c->session->{user}{username},
domain => $c->session->{user}{domain} });
$c->session->{user}{preferences} =
$$self{prov}->get_subscriber_preferences({username => $c->session->{user}{username},
domain => $c->session->{user}{domain}});
@ -438,11 +439,7 @@ sub get_voip_account_subscribers {
$$self{prov}->get_voip_account_subscribers({ id => $c->session->{user}{account_id} });
foreach my $subscriber (@{$c->session->{user}{subscribers}}) {
$subscriber =
$$self{prov}->get_subscriber({
username => $$subscriber{username},
domain => $$subscriber{domain}
});
$$subscriber{preferences} =
$$self{prov}->get_subscriber_preferences({
username => $$subscriber{username},
@ -1158,7 +1155,7 @@ sub _get_user {
my ($loc, $dom) = split /\@/, $user;
my $user_obj = eval {
my $tmpobj = $$self{prov}->get_subscriber_by_webuser({webusername => $loc, domain => $dom});
my $tmpobj = $$self{billing}->get_voip_account_subscriber_by_webuser({webusername => $loc, domain => $dom});
my $tmpref = $$self{prov}->get_subscriber_preferences({username => $$tmpobj{username}, domain => $dom});
$$tmpobj{extension} = $$tmpref{extension};
return $tmpobj;

Loading…
Cancel
Save