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

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

Return to bug 20956