RSS Git Download  Clone
Raw Blame History
package LIMS::Controller::Roles::User;

use Moose::Role;

has lab_staff => (
    is      => 'ro',
    isa 	=> 'ArrayRef[HashRef]',
    traits  => ['Array'],
    default => sub { [] },
	handles	=> {
        add_lab_staff_user => 'push',
    },
);

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;
    
    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_lab_staff_user(\%user);
    } # $self->debug($self->lab_staff);
    
    return $self->lab_staff;
}

#-------------------------------------------------------------------------------
sub generate_new_password {
    my $self = shift;

    srand;

    my @chars = ('a' .. 'z', 'A' .. 'Z', 0 .. 9 );

    my $new_password;

    for (1 .. 10) {
        my $rand = int(rand @chars);
        $new_password .= $chars[$rand];
    }

    return $new_password;
}

1;