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

(-)a/t/db_dependent/Utils/Datatables_Members.t (-7 / +62 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 51;
20
use Test::More tests => 52;
21
21
22
use C4::Context;
22
use C4::Context;
23
use C4::Members;
23
use C4::Members;
Lines 56-62 my $john_doe = $builder->build({ Link Here
56
            branchcode   => $branchcode,
56
            branchcode   => $branchcode,
57
            dateofbirth  => '1983-03-01',
57
            dateofbirth  => '1983-03-01',
58
            userid       => 'john.doe',
58
            userid       => 'john.doe',
59
            initials     => 'pacman'
59
            initials     => 'pacman',
60
            flags        => 0,
60
        },
61
        },
61
});
62
});
62
63
Lines 68-74 my $john_smith = $builder->build({ Link Here
68
            surname      => 'Smith',
69
            surname      => 'Smith',
69
            branchcode   => $branchcode,
70
            branchcode   => $branchcode,
70
            dateofbirth  => '1982-02-01',
71
            dateofbirth  => '1982-02-01',
71
            userid       => 'john.smith'
72
            userid       => 'john.smith',
73
            flags        => 0,
72
        },
74
        },
73
});
75
});
74
76
Lines 80-86 my $jane_doe = $builder->build({ Link Here
80
            surname      => 'Doe',
82
            surname      => 'Doe',
81
            branchcode   => $branchcode,
83
            branchcode   => $branchcode,
82
            dateofbirth  => '1983-03-01',
84
            dateofbirth  => '1983-03-01',
83
            userid       => 'jane.doe'
85
            userid       => 'jane.doe',
86
            flags        => 0,
84
        },
87
        },
85
});
88
});
86
my $jeanpaul_dupont = $builder->build({
89
my $jeanpaul_dupont = $builder->build({
Lines 91-97 my $jeanpaul_dupont = $builder->build({ Link Here
91
            surname      => 'Dupont',
94
            surname      => 'Dupont',
92
            branchcode   => $branchcode,
95
            branchcode   => $branchcode,
93
            dateofbirth  => '1982-02-01',
96
            dateofbirth  => '1982-02-01',
94
            userid       => 'jeanpaul.dupont'
97
            userid       => 'jeanpaul.dupont',
98
            flags        => 0,
95
        },
99
        },
96
});
100
});
97
my $dupont_brown = $builder->build({
101
my $dupont_brown = $builder->build({
Lines 102-108 my $dupont_brown = $builder->build({ Link Here
102
            surname      => 'Brown',
106
            surname      => 'Brown',
103
            branchcode   => $branchcode,
107
            branchcode   => $branchcode,
104
            dateofbirth  => '1979-01-01',
108
            dateofbirth  => '1979-01-01',
105
            userid       => 'dupont.brown'
109
            userid       => 'dupont.brown',
110
            flags        => 0,
106
        },
111
        },
107
});
112
});
108
113
Lines 495-499 subtest 'Search by any borrowers field (bug 17374)' => sub { Link Here
495
    is( $search_results->{ patrons }[0]->{ cardnumber }, $john_doe->{cardnumber}, "We find the correct patron when sesrching by initials" )
500
    is( $search_results->{ patrons }[0]->{ cardnumber }, $john_doe->{cardnumber}, "We find the correct patron when sesrching by initials" )
496
};
501
};
497
502
503
subtest 'Search with permissions' => sub {
504
    plan tests => 2;
505
506
    my $superlibrarian = $builder->build_object(
507
        {
508
            class => 'Koha::Patrons',
509
            value => { branchcode => $branchcode, flags => 1 }
510
        }
511
    );
512
    my $librarian_with_full_permission = $builder->build_object(
513
        {
514
            class => 'Koha::Patrons',
515
            value => { branchcode => $branchcode, flags => 4100 }
516
        }
517
    );    # 4100 = 4096 (2^12 suggestions) + 4 (2^2 catalogue)
518
    my $librarian_with_subpermission = $builder->build_object(
519
        { class => 'Koha::Patrons', value => { branchcode => $branchcode } } );
520
    C4::Context->dbh->do(
521
        q|INSERT INTO user_permissions(borrowernumber, module_bit, code) VALUES(?,?,?)|,
522
        undef,
523
        $librarian_with_subpermission->borrowernumber,
524
        12,
525
        'suggestions_manage'
526
    );
527
528
    my $search_results = C4::Utils::DataTables::Members::search(
529
        {
530
            searchmember     => "",
531
            searchfieldstype => 'standard',
532
            searchtype       => 'contain',
533
            branchcode       => $branchcode,
534
            has_permission   => {
535
                permission    => 'suggestions',
536
                subpermission => 'suggestions_manage'
537
            },
538
            dt_params => { iDisplayLength => 3, iDisplayStart => 0 },
539
        }
540
    );
541
    is( $search_results->{iTotalDisplayRecords},
542
        3, "We find 3 patrons with suggestions_manage permission" );
543
    is_deeply(
544
        [ map { $_->{borrowernumber} } @{ $search_results->{patrons} } ],
545
        [
546
            $superlibrarian->borrowernumber,
547
            $librarian_with_full_permission->borrowernumber,
548
            $librarian_with_subpermission->borrowernumber
549
        ],
550
        'We got the 3 patrons we expected'
551
    );
552
};
553
498
# End
554
# End
499
$schema->storage->txn_rollback;
555
$schema->storage->txn_rollback;
500
- 

Return to bug 24964