package LIMS::Controller::Roles::User;
use Moose::Role;
use MooseX::AttributeHelpers;
has lab_staff => (
is => 'ro',
isa => 'ArrayRef[HashRef]',
default => sub { [] },
metaclass => 'Collection::Array',
provides => {
push => 'add_to_lab_staff',
},
);
sub get_lab_staff_users {
my $self = shift;
my $users = $self->model('User')->get_all_users({sort_by => 'username'});
my $lab_name
= $self->cfg('settings')->{lab_name_abbreviation}; # warn $lab_name;
my @lab_staff;
while ( my $user = $users->next ) {
next unless $user->active eq 'yes'
&& $user->user_location->location_name eq $lab_name;
my %user = (
id => $user->id,
username => $user->username,
);
# $self->add_to_lab_staff(\%user); # Can't use an undefined value as an
# ARRAY reference at /home/raj/perl5/lib/perl5/MooseX/AttributeHelpers/MethodProvider/Array.pm line 20.
push @lab_staff, \%user;
} # $self->debug(\@lab_staff);
return \@lab_staff;
}
1;