View | Details | Raw Unified | Return to bug 20956
Collapse All | Expand All

(-)a/Koha/Patron.pm (-7 / +9 lines)
Lines 3622-3643 partial permissions with the given permissions as hash keys Link Here
3622
sub permissions {
3622
sub permissions {
3623
    my ($self) = @_;
3623
    my ($self) = @_;
3624
3624
3625
    my $dbh = C4::Context->dbh;
3625
    # Get userFlags using ORM
3626
    my $sth = $dbh->prepare("SELECT bit, flag FROM userflags ORDER BY bit");
3626
3627
    $sth->execute();
3627
    my $schema = Koha::Database->schema;
3628
    my $userflags = { map { $_->[0] => $_->[1] } @{ $sth->fetchall_arrayref() } };
3628
    my @userflags = $schema->resultset('Userflag')->search( {}, { order_by => 'bit'})->all;
3629
    my %userflags_map = map { $_->bit => $_->flag } @userflags;
3629
3630
3630
    my $flags = $self->flags // 0;
3631
    my $flags = $self->flags // 0;
3631
3632
3632
    my $active_flags = {};
3633
    my $active_flags = {};
3633
3634
3634
    foreach my $bit ( keys %$userflags ) {
3635
    # Check which flags are active based on bit values
3636
    foreach my $bit ( keys %$userflags_map ) {
3635
        if ( $flags & ( 1 << $bit ) ) {
3637
        if ( $flags & ( 1 << $bit ) ) {
3636
            my $flag = $userflags->{$bit};
3638
            my $flag = $userflags_map{$bit};
3637
            $active_flags->{$flag} = 1;
3639
            $active_flags->{$flag} = 1;
3638
        }
3640
        }
3639
    }
3641
    }
3640
3642
3643
    # Get granular subpermissions using existing helper
3641
    my $user_perms = get_user_subpermissions( $self->userid );
3644
    my $user_perms = get_user_subpermissions( $self->userid );
3642
3645
3643
    for my $module ( keys %$user_perms ) {
3646
    for my $module ( keys %$user_perms ) {
3644
- 

Return to bug 20956