Don't display an empty table
This commit is contained in:
parent
f9c6658139
commit
841c1c0fed
|
@ -63,102 +63,101 @@ sub print_user_table {
|
|||
|
||||
my @users = $a->users;
|
||||
|
||||
unless ( scalar @users ) {
|
||||
if ( scalar @users < 1) {
|
||||
print $q->Tr($q->td($self->localise('NO_USER_ACCOUNTS')));
|
||||
return "";
|
||||
}
|
||||
print " <tr><td colspan=\"2\">";
|
||||
print $q->start_table ({-CLASS => "sme-border"});
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTIVE_ACCOUNT'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('USER_NAME'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('FORWARD'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('DAYS_BEFORE_LOCK'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTION'), "header")
|
||||
);
|
||||
|
||||
my $scriptname = basename($0);
|
||||
|
||||
my $now = DateTime->now;
|
||||
foreach my $u (@users) {
|
||||
my $username = $u->key();
|
||||
next unless (($u->prop('PasswordSet') || 'no') eq 'yes');
|
||||
my $first = $u->prop('FirstName') || '';
|
||||
my $last = $u->prop('LastName') || '';
|
||||
my $lock_date = $u->prop('ExpireLockOn') || '';
|
||||
my $delivery = $u->prop('EmailForward') || 'local';
|
||||
my $fwd = $u->prop('ForwardAddress') || '';
|
||||
my $action = "<a href=\"$scriptname?page=0&page_stack=&acctName=$username&wherenext=ModifyActive\">" .
|
||||
$self->localise('MODIFY') . "</a>";
|
||||
my $days_left = '';
|
||||
if ($lock_date =~ m/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/){
|
||||
my $lock_on = eval {
|
||||
DateTime->new(
|
||||
year => $1,
|
||||
month => $2,
|
||||
day => $3
|
||||
);
|
||||
};
|
||||
$days_left = ($lock_on - $now)->in_units('days') if ($lock_on);
|
||||
}
|
||||
my $addr = ($delivery eq 'local') ? '' : $fwd;
|
||||
|
||||
if (_count_active_users() > 0){
|
||||
print " <tr><td colspan=\"2\">";
|
||||
print $q->start_table ({-CLASS => "sme-border"});
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $username, "normal"),
|
||||
esmith::cgi::genSmallCell($q, "$first $last", "normal"),
|
||||
esmith::cgi::genSmallCell($q, $addr, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $days_left, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $action, "normal")
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTIVE_ACCOUNT'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('USER_NAME'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('FORWARD'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('DAYS_BEFORE_LOCK'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTION'), "header")
|
||||
);
|
||||
}
|
||||
|
||||
# Now, same for locked accounts
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $self->localise('INACTIVE_ACCOUNT'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('USER_NAME'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('FORWARD'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('DAYS_BEFORE_DELETE'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTION'), "header")
|
||||
);
|
||||
my $scriptname = basename($0);
|
||||
|
||||
foreach my $u (@users) {
|
||||
my $username = $u->key();
|
||||
next unless (($u->prop('PasswordSet') || 'no') ne 'yes');
|
||||
my $first = $u->prop('FirstName') || '';
|
||||
my $last = $u->prop('LastName') || '';
|
||||
my $delete_in = $u->prop('ExpireDeleteAfterLock') || '';
|
||||
my $locked_on = $u->prop('ExpireLockedOn') || '';
|
||||
my $delivery = $u->prop('EmailForward') || '';
|
||||
my $fwd = $u->prop('ForwardAddress') || '';
|
||||
my $action = "<a href=\"$scriptname?page=0&page_stack=&acctName=$username&wherenext=ModifyLocked\">" .
|
||||
$self->localise('MODIFY') . "</a>";
|
||||
my $days_left = '';
|
||||
if ($delete_in =~ m/^\d+$/ && $locked_on =~ m/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/){
|
||||
my $locked_date = eval {
|
||||
DateTime->new(
|
||||
year => $1,
|
||||
month => $2,
|
||||
day => $3
|
||||
my $now = DateTime->now;
|
||||
foreach my $u (@users) {
|
||||
my $username = $u->key();
|
||||
next unless (($u->prop('PasswordSet') || 'no') eq 'yes');
|
||||
my $first = $u->prop('FirstName') || '';
|
||||
my $last = $u->prop('LastName') || '';
|
||||
my $lock_date = $u->prop('ExpireLockOn') || '';
|
||||
my $delivery = $u->prop('EmailForward') || 'local';
|
||||
my $fwd = $u->prop('ForwardAddress') || '';
|
||||
my $action = "<a href=\"$scriptname?page=0&page_stack=&acctName=$username&wherenext=ModifyActive\">" .
|
||||
$self->localise('MODIFY') . "</a>";
|
||||
my $days_left = '';
|
||||
if ($lock_date =~ m/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/){
|
||||
my $lock_on = eval {
|
||||
DateTime->new(
|
||||
year => $1,
|
||||
month => $2,
|
||||
day => $3
|
||||
);
|
||||
};
|
||||
$days_left = ($lock_on - $now)->in_units('days') if ($lock_on);
|
||||
}
|
||||
my $addr = ($delivery eq 'local') ? '' : $fwd;
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $username, "normal"),
|
||||
esmith::cgi::genSmallCell($q, "$first $last", "normal"),
|
||||
esmith::cgi::genSmallCell($q, $addr, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $days_left, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $action, "normal")
|
||||
);
|
||||
}
|
||||
}
|
||||
if (_count_inactive_users() > 0){
|
||||
# Now, same for locked accounts
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $self->localise('INACTIVE_ACCOUNT'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('USER_NAME'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('FORWARD'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('DAYS_BEFORE_DELETE'), "header"),
|
||||
esmith::cgi::genSmallCell($q, $self->localise('ACTION'), "header")
|
||||
);
|
||||
foreach my $u (@users) {
|
||||
my $username = $u->key();
|
||||
next unless (($u->prop('PasswordSet') || 'no') ne 'yes');
|
||||
my $first = $u->prop('FirstName') || '';
|
||||
my $last = $u->prop('LastName') || '';
|
||||
my $delete_in = $u->prop('ExpireDeleteAfterLock') || '';
|
||||
my $locked_on = $u->prop('ExpireLockedOn') || '';
|
||||
my $delivery = $u->prop('EmailForward') || '';
|
||||
my $fwd = $u->prop('ForwardAddress') || '';
|
||||
my $action = "<a href=\"$scriptname?page=0&page_stack=&acctName=$username&wherenext=ModifyLocked\">" .
|
||||
$self->localise('MODIFY') . "</a>";
|
||||
my $days_left = '';
|
||||
if ($delete_in =~ m/^\d+$/ && $locked_on =~ m/^(\d{4})\-(\d{1,2})\-(\d{1,2})$/){
|
||||
my $locked_date = eval {
|
||||
DateTime->new(
|
||||
year => $1,
|
||||
month => $2,
|
||||
day => $3
|
||||
);
|
||||
};
|
||||
if ($locked_date){
|
||||
my $delete_on = $locked_date->add(days => $delete_in);
|
||||
$days_left = ($delete_on - $now)->in_units('days');
|
||||
}
|
||||
}
|
||||
my $addr = ($delivery eq 'local') ? '' : $fwd;
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $username, "normal"),
|
||||
esmith::cgi::genSmallCell($q, "$first $last", "normal"),
|
||||
esmith::cgi::genSmallCell($q, $addr, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $days_left, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $action, "normal")
|
||||
);
|
||||
};
|
||||
if ($locked_date){
|
||||
my $delete_on = $locked_date->add(days => $delete_in);
|
||||
$days_left = ($delete_on - $now)->in_units('days');
|
||||
}
|
||||
}
|
||||
my $addr = ($delivery eq 'local') ? '' : $fwd;
|
||||
|
||||
print $q->Tr(
|
||||
esmith::cgi::genSmallCell($q, $username, "normal"),
|
||||
esmith::cgi::genSmallCell($q, "$first $last", "normal"),
|
||||
esmith::cgi::genSmallCell($q, $addr, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $days_left, "normal"),
|
||||
esmith::cgi::genSmallCell($q, $action, "normal")
|
||||
);
|
||||
}
|
||||
|
||||
print qq(</table></td></tr>\n);
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@ -265,6 +264,22 @@ sub modify_user {
|
|||
$self->success('USER_MODIFIED');
|
||||
}
|
||||
|
||||
sub _count_active_users{
|
||||
my $users = 0;
|
||||
foreach my $user ($a->users){
|
||||
$users++ if ($user->prop('PasswordSet') || 'no') eq 'yes';
|
||||
}
|
||||
return $users;
|
||||
}
|
||||
|
||||
sub _count_inactive_users{
|
||||
my $users = 0;
|
||||
foreach my $user ($a->users){
|
||||
$users++ unless ($user->prop('PasswordSet') || 'no') eq 'yes';
|
||||
}
|
||||
return $users;
|
||||
}
|
||||
|
||||
# Validation routines
|
||||
|
||||
# Number must be int and positive
|
||||
|
|
Loading…
Reference in New Issue