diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index 3e165fe8c7..6763ea4c06 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -1567,6 +1567,14 @@ sub calllist :Chained('master') :PathPart('calls') :Args(0) { ); } +sub reglist :Chained('master') :PathPart('regdevices') :Args(0) { + my ($self, $c) = @_; + + $c->stash( + template => 'subscriber/reglist.tt' + ); +} + sub edit_master :Chained('master') :PathPart('edit') :Args(0) { my ($self, $c) = @_; my $subscriber = $c->stash->{subscriber}; diff --git a/lib/NGCP/Panel/Widget/Plugin/SubscriberCFOverview.pm b/lib/NGCP/Panel/Widget/Plugin/SubscriberCFOverview.pm index 22d92fbcf3..e876c33dc9 100644 --- a/lib/NGCP/Panel/Widget/Plugin/SubscriberCFOverview.pm +++ b/lib/NGCP/Panel/Widget/Plugin/SubscriberCFOverview.pm @@ -16,7 +16,7 @@ has 'type' => ( has 'priority' => ( is => 'ro', isa => 'Int', - default => 10, + default => 30, ); around handle => sub { diff --git a/lib/NGCP/Panel/Widget/Plugin/SubscriberRegisterOverview.pm b/lib/NGCP/Panel/Widget/Plugin/SubscriberRegisterOverview.pm new file mode 100644 index 0000000000..dd410dc537 --- /dev/null +++ b/lib/NGCP/Panel/Widget/Plugin/SubscriberRegisterOverview.pm @@ -0,0 +1,55 @@ +package NGCP::Panel::Widget::Plugin::SubscriberRegisterOverview; +use Moose::Role; + +has 'template' => ( + is => 'ro', + isa => 'Str', + default => 'widgets/subscriber_reg_overview.tt' +); + +has 'type' => ( + is => 'ro', + isa => 'Str', + default => 'dashboard_widgets', +); + +has 'priority' => ( + is => 'ro', + isa => 'Int', + default => 40, +); + +around handle => sub { + my ($foo, $self, $c) = @_; + + my $rs = $c->model('DB')->resultset('location')->search({ + username => $c->user->username, + }); + if($c->config->{features}->{multidomain}) { + $rs = $rs->search({ + domain => $c->user->domain->domain, + }); + } + my $reg_count = $rs->count; + $rs = $rs->slice(0,4); + + $c->stash( + regs => $rs, + reg_count => $reg_count, + ); + return; +}; + +sub filter { + my ($self, $c, $type) = @_; + + return $self if( + $type eq $self->type && + ($c->user_in_realm('subscriber') || $c->user_in_realm('subscriberadmin')) && + ref $c->controller eq 'NGCP::Panel::Controller::Dashboard' + ); + return; +} + +1; +# vim: set tabstop=4 expandtab: diff --git a/lib/NGCP/Panel/Widget/Plugin/SubscriberVmOverview.pm b/lib/NGCP/Panel/Widget/Plugin/SubscriberVmOverview.pm index 6887bfb8a2..6c0665128e 100644 --- a/lib/NGCP/Panel/Widget/Plugin/SubscriberVmOverview.pm +++ b/lib/NGCP/Panel/Widget/Plugin/SubscriberVmOverview.pm @@ -16,7 +16,7 @@ has 'type' => ( has 'priority' => ( is => 'ro', isa => 'Int', - default => 10, + default => 20, ); around handle => sub { diff --git a/share/templates/subscriber/reglist.tt b/share/templates/subscriber/reglist.tt new file mode 100644 index 0000000000..1b55b55234 --- /dev/null +++ b/share/templates/subscriber/reglist.tt @@ -0,0 +1,22 @@ +[% site_config.title = 'Registered Devices for ' _ subscriber.username _ '@' _ subscriber.domain.domain -%] + +