parent
fb780a72b3
commit
d5dc850bd9
@ -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:
|
||||
@ -0,0 +1,22 @@
|
||||
[% site_config.title = 'Registered Devices for ' _ subscriber.username _ '@' _ subscriber.domain.domain -%]
|
||||
|
||||
<div class="row">
|
||||
<span class="pull-left" style="margin:0 5px 0 5px;">
|
||||
<a class="btn btn-primary btn-large" href="[% c.uri_for('/back') %]"><i class="icon-arrow-left"></i> Back</a>
|
||||
</span>
|
||||
</div>
|
||||
[% back_created = 1 -%]
|
||||
|
||||
<div class="ngcp-separator"></div>
|
||||
|
||||
[%
|
||||
helper.name = 'Registered Devices';
|
||||
helper.dt_columns = reg_dt_columns;
|
||||
helper.column_sort = 'expires';
|
||||
helper.form_object = form;
|
||||
helper.ajax_uri = c.uri_for_action('/subscriber/ajax_registered', [c.req.captures.0]);
|
||||
|
||||
PROCESS 'helpers/datatables.tt';
|
||||
%]
|
||||
|
||||
[% # vim: set tabstop=4 syntax=html expandtab: -%]
|
||||
@ -0,0 +1,37 @@
|
||||
[% USE Math -%]
|
||||
<div class="plan-container">
|
||||
<div class="plan">
|
||||
<div class="plan-header">
|
||||
<div class="plan-title">Registered Devices</div>
|
||||
<div class="plan-price">
|
||||
<span>[% reg_count %]</span>
|
||||
<span class="term">Registered Device[% reg_count != 1 ? 's' : '' %]</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="plan-features large">
|
||||
<ul>
|
||||
[% IF reg_count == 0 -%]
|
||||
<li>No devices registered</li>
|
||||
[% ELSE -%]
|
||||
[% FOR reg IN regs.all -%]
|
||||
<li>
|
||||
<div class="row-fluid">
|
||||
<div>
|
||||
[% IF reg.user_agent.length > 48 -%]
|
||||
[% ua = reg.user_agent.substr(45, reg.user_agent.length - 45, '...'); ua %]
|
||||
[% ELSE -%]
|
||||
[% reg.user_agent %]
|
||||
[% END -%]
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
[% END -%]
|
||||
[% END -%]
|
||||
</ul>
|
||||
</div>
|
||||
<div class="plan-actions">
|
||||
<a href="[% c.uri_for_action('/subscriber/reglist', [subscriber.id]) %]" class="btn">View All Registered Devices</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
[% # vim: set tabstop=4 syntax=html expandtab: -%]
|
||||
Loading…
Reference in new issue