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

(-)a/C4/Circulation.pm (-1 / +1 lines)
Lines 895-901 sub CanBookBeIssued { Link Here
895
    }
895
    }
896
    if ( C4::Context->preference("IndependentBranches") ) {
896
    if ( C4::Context->preference("IndependentBranches") ) {
897
        my $userenv = C4::Context->userenv;
897
        my $userenv = C4::Context->userenv;
898
        if ( ($userenv) && ( $userenv->{flags} % 2 != 1 ) ) {
898
        if ( C4::Context->IsSuperLibrarian() ) {
899
            if ( $item->{C4::Context->preference("HomeOrHoldingBranch")} ne $userenv->{branch} ){
899
            if ( $item->{C4::Context->preference("HomeOrHoldingBranch")} ne $userenv->{branch} ){
900
                $issuingimpossible{ITEMNOTSAMEBRANCH} = 1;
900
                $issuingimpossible{ITEMNOTSAMEBRANCH} = 1;
901
                $issuingimpossible{'itemhomebranch'} = $item->{C4::Context->preference("HomeOrHoldingBranch")};
901
                $issuingimpossible{'itemhomebranch'} = $item->{C4::Context->preference("HomeOrHoldingBranch")};
(-)a/C4/Context.pm (+13 lines)
Lines 106-111 use C4::Debug; Link Here
106
use POSIX ();
106
use POSIX ();
107
use DateTime::TimeZone;
107
use DateTime::TimeZone;
108
use Module::Load::Conditional qw(can_load);
108
use Module::Load::Conditional qw(can_load);
109
use Carp;
109
110
110
=head1 NAME
111
=head1 NAME
111
112
Lines 1235-1240 sub tz { Link Here
1235
}
1236
}
1236
1237
1237
1238
1239
=head2 IsSuperLibrarian
1240
1241
    C4::Context->IsSuperlibrarian();
1242
1243
=cut
1244
1245
sub IsSuperLibrarian {
1246
    my $userenv = C4::Context->userenv
1247
      || carp("C4::Context->userenv not defined!");
1248
1249
    return $userenv->{flags} % 2 == 1;
1250
}
1238
1251
1239
1;
1252
1;
1240
__END__
1253
__END__
(-)a/C4/Items.pm (-2 / +2 lines)
Lines 1259-1265 sub GetItemsInfo { Link Here
1259
            $datedue                = $idata->{'date_due'};
1259
            $datedue                = $idata->{'date_due'};
1260
        if (C4::Context->preference("IndependentBranches")){
1260
        if (C4::Context->preference("IndependentBranches")){
1261
        my $userenv = C4::Context->userenv;
1261
        my $userenv = C4::Context->userenv;
1262
        if ( ($userenv) && ( $userenv->{flags} % 2 != 1 ) ) { 
1262
        unless ( C4::Context->IsSuperLibrarian() ) {
1263
            $data->{'NOTSAMEBRANCH'} = 1 if ($idata->{'bcode'} ne $userenv->{branch});
1263
            $data->{'NOTSAMEBRANCH'} = 1 if ($idata->{'bcode'} ne $userenv->{branch});
1264
        }
1264
        }
1265
        }
1265
        }
Lines 2694-2700 sub PrepareItemrecordDisplay { Link Here
2694
                    #---- branch
2694
                    #---- branch
2695
                    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
2695
                    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
2696
                        if (   ( C4::Context->preference("IndependentBranches") )
2696
                        if (   ( C4::Context->preference("IndependentBranches") )
2697
                            && ( C4::Context->userenv->{flags} % 2 != 1 ) ) {
2697
                            && !C4::Context->IsSuperLibrarian() ) {
2698
                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches WHERE branchcode = ? ORDER BY branchname" );
2698
                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches WHERE branchcode = ? ORDER BY branchname" );
2699
                            $sth->execute( C4::Context->userenv->{branch} );
2699
                            $sth->execute( C4::Context->userenv->{branch} );
2700
                            push @authorised_values, ""
2700
                            push @authorised_values, ""
(-)a/C4/Members.pm (-4 / +4 lines)
Lines 259-265 sub Search { Link Here
259
    if ( C4::Context->preference("IndependentBranches") ) { # && !$showallbranches){
259
    if ( C4::Context->preference("IndependentBranches") ) { # && !$showallbranches){
260
        if ( my $userenv = C4::Context->userenv ) {
260
        if ( my $userenv = C4::Context->userenv ) {
261
            my $branch =  $userenv->{'branch'};
261
            my $branch =  $userenv->{'branch'};
262
            if ( ($userenv->{flags} % 2 !=1) && $branch ){
262
            if ( !C4::Context->IsSuperLibrarian() && $branch ){
263
                if (my $fr = ref $filter) {
263
                if (my $fr = ref $filter) {
264
                    if ( $fr eq "HASH" ) {
264
                    if ( $fr eq "HASH" ) {
265
                        $filter->{branchcode} = $branch;
265
                        $filter->{branchcode} = $branch;
Lines 2066-2072 sub GetBorrowersToExpunge { Link Here
2066
    my $filterbranch   = $params->{'branchcode'} ||
2066
    my $filterbranch   = $params->{'branchcode'} ||
2067
                        ((C4::Context->preference('IndependentBranches')
2067
                        ((C4::Context->preference('IndependentBranches')
2068
                             && C4::Context->userenv 
2068
                             && C4::Context->userenv 
2069
                             && C4::Context->userenv->{flags} % 2 !=1 
2069
                             && !C4::Context->IsSuperLibrarian()
2070
                             && C4::Context->userenv->{branch})
2070
                             && C4::Context->userenv->{branch})
2071
                         ? C4::Context->userenv->{branch}
2071
                         ? C4::Context->userenv->{branch}
2072
                         : "");  
2072
                         : "");  
Lines 2132-2138 sub GetBorrowersWhoHaveNeverBorrowed { Link Here
2132
    my $filterbranch = shift || 
2132
    my $filterbranch = shift || 
2133
                        ((C4::Context->preference('IndependentBranches')
2133
                        ((C4::Context->preference('IndependentBranches')
2134
                             && C4::Context->userenv 
2134
                             && C4::Context->userenv 
2135
                             && C4::Context->userenv->{flags} % 2 !=1 
2135
                             && !C4::Context->IsSuperLibrarian()
2136
                             && C4::Context->userenv->{branch})
2136
                             && C4::Context->userenv->{branch})
2137
                         ? C4::Context->userenv->{branch}
2137
                         ? C4::Context->userenv->{branch}
2138
                         : "");  
2138
                         : "");  
Lines 2182-2188 sub GetBorrowersWithIssuesHistoryOlderThan { Link Here
2182
    my $filterbranch = shift || 
2182
    my $filterbranch = shift || 
2183
                        ((C4::Context->preference('IndependentBranches')
2183
                        ((C4::Context->preference('IndependentBranches')
2184
                             && C4::Context->userenv 
2184
                             && C4::Context->userenv 
2185
                             && C4::Context->userenv->{flags} % 2 !=1 
2185
                             && !C4::Context->IsSuperLibrarian()
2186
                             && C4::Context->userenv->{branch})
2186
                             && C4::Context->userenv->{branch})
2187
                         ? C4::Context->userenv->{branch}
2187
                         ? C4::Context->userenv->{branch}
2188
                         : "");  
2188
                         : "");  
(-)a/C4/Serials.pm (-2 / +2 lines)
Lines 489-495 sub GetSubscriptionsFromBiblionumber { Link Here
489
        $subs->{'cannotedit'} =
489
        $subs->{'cannotedit'} =
490
          (      C4::Context->preference('IndependentBranches')
490
          (      C4::Context->preference('IndependentBranches')
491
              && C4::Context->userenv
491
              && C4::Context->userenv
492
              && C4::Context->userenv->{flags} % 2 != 1
492
              && !C4::Context->IsSuperLibrarian()
493
              && C4::Context->userenv->{branch}
493
              && C4::Context->userenv->{branch}
494
              && $subs->{branchcode}
494
              && $subs->{branchcode}
495
              && ( C4::Context->userenv->{branch} ne $subs->{branchcode} ) );
495
              && ( C4::Context->userenv->{branch} ne $subs->{branchcode} ) );
Lines 629-635 sub GetSubscriptions { Link Here
629
        $line->{'cannotedit'} =
629
        $line->{'cannotedit'} =
630
          (      C4::Context->preference('IndependentBranches')
630
          (      C4::Context->preference('IndependentBranches')
631
              && C4::Context->userenv
631
              && C4::Context->userenv
632
              && C4::Context->userenv->{flags} % 2 != 1
632
              && !C4:Context->IsSuperLibrarian()
633
              && C4::Context->userenv->{branch}
633
              && C4::Context->userenv->{branch}
634
              && $line->{branchcode}
634
              && $line->{branchcode}
635
              && ( C4::Context->userenv->{branch} ne $line->{branchcode} ) );
635
              && ( C4::Context->userenv->{branch} ne $line->{branchcode} ) );
(-)a/C4/Suggestions.pm (-3 / +3 lines)
Lines 135-141 sub SearchSuggestion { Link Here
135
    if ( C4::Context->preference('IndependentBranches') ) {
135
    if ( C4::Context->preference('IndependentBranches') ) {
136
        my $userenv = C4::Context->userenv;
136
        my $userenv = C4::Context->userenv;
137
        if ($userenv) {
137
        if ($userenv) {
138
            if ( ( $userenv->{flags} % 2 ) != 1 && !$suggestion->{branchcode} )
138
            if ( !C4::Context->IsSuperLibrarian() && !$suggestion->{branchcode} )
139
            {
139
            {
140
                push @sql_params, $$userenv{branch};
140
                push @sql_params, $$userenv{branch};
141
                push @query,      q{
141
                push @query,      q{
Lines 342-348 sub GetSuggestionByStatus { Link Here
342
    if ( C4::Context->preference("IndependentBranches") || $branchcode ) {
342
    if ( C4::Context->preference("IndependentBranches") || $branchcode ) {
343
        my $userenv = C4::Context->userenv;
343
        my $userenv = C4::Context->userenv;
344
        if ($userenv) {
344
        if ($userenv) {
345
            unless ( $userenv->{flags} % 2 == 1 ) {
345
            unless ( C4::Context->IsSuperLibrarian() ) {
346
                push @sql_params, $userenv->{branch};
346
                push @sql_params, $userenv->{branch};
347
                $query .= q{ AND (U1.branchcode = ? OR U1.branchcode ='') };
347
                $query .= q{ AND (U1.branchcode = ? OR U1.branchcode ='') };
348
            }
348
            }
Lines 390-396 sub CountSuggestion { Link Here
390
    my $sth;
390
    my $sth;
391
    my $userenv = C4::Context->userenv;
391
    my $userenv = C4::Context->userenv;
392
    if ( C4::Context->preference("IndependentBranches")
392
    if ( C4::Context->preference("IndependentBranches")
393
        && $userenv->{flags} % 2 != 1 )
393
        && !C4::Context->IsSuperLibrarian() )
394
    {
394
    {
395
        my $query = q{
395
        my $query = q{
396
            SELECT count(*)
396
            SELECT count(*)
(-)a/cataloguing/addbiblio.pl (-4 / +5 lines)
Lines 172-181 sub build_authorized_values_list { Link Here
172
    #---- branch
172
    #---- branch
173
    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
173
    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
174
        #Use GetBranches($onlymine)
174
        #Use GetBranches($onlymine)
175
        my $onlymine=C4::Context->preference('IndependentBranches') &&
175
        my $onlymine =
176
                C4::Context->userenv && 
176
             C4::Context->preference('IndependentBranches')
177
                C4::Context->userenv->{flags} % 2 == 0 && 
177
          && C4::Context->userenv
178
                C4::Context->userenv->{branch};
178
          && !C4::Context->IsSuperLibrarian()
179
          && C4::Context->userenv->{branch};
179
        my $branches = GetBranches($onlymine);
180
        my $branches = GetBranches($onlymine);
180
        my @branchloop;
181
        my @branchloop;
181
        foreach my $thisbranch ( sort keys %$branches ) {
182
        foreach my $thisbranch ( sort keys %$branches ) {
(-)a/circ/overdue.pl (-4 / +5 lines)
Lines 91-100 while (my ($itemtype, $description) =$req->fetchrow) { Link Here
91
        itemtypename => $description,
91
        itemtypename => $description,
92
    };
92
    };
93
}
93
}
94
my $onlymine=C4::Context->preference('IndependentBranches') &&
94
my $onlymine =
95
             C4::Context->userenv &&
95
     C4::Context->preference('IndependentBranches')
96
             C4::Context->userenv->{flags} % 2 !=1 &&
96
  && C4::Context->userenv
97
             C4::Context->userenv->{branch};
97
  && !C4::Context->IsSuperLibrarian()
98
  && C4::Context->userenv->{branch};
98
99
99
$branchfilter = C4::Context->userenv->{'branch'} if ($onlymine && !$branchfilter);
100
$branchfilter = C4::Context->userenv->{'branch'} if ($onlymine && !$branchfilter);
100
101
(-)a/members/deletemem.pl (-1 / +1 lines)
Lines 68-74 if ($bor->{category_type} eq "S") { Link Here
68
68
69
if (C4::Context->preference("IndependentBranches")) {
69
if (C4::Context->preference("IndependentBranches")) {
70
    my $userenv = C4::Context->userenv;
70
    my $userenv = C4::Context->userenv;
71
    if (($userenv->{flags} % 2 != 1) && $bor->{'branchcode'}){
71
    if ( !C4::Context->IsSuperLibrarian() && $bor->{'branchcode'}){
72
        unless ($userenv->{branch} eq $bor->{'branchcode'}){
72
        unless ($userenv->{branch} eq $bor->{'branchcode'}){
73
            print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_OTHERLIBRARY");
73
            print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_OTHERLIBRARY");
74
            exit;
74
            exit;
(-)a/members/memberentry.pl (-2 / +2 lines)
Lines 293-299 if ($op eq 'save' || $op eq 'insert'){ Link Here
293
    }
293
    }
294
294
295
  if (C4::Context->preference("IndependentBranches")) {
295
  if (C4::Context->preference("IndependentBranches")) {
296
    if ($userenv && $userenv->{flags} % 2 != 1){
296
    unless ( C4::Context->IsSuperLibrarian() ){
297
      $debug and print STDERR "  $newdata{'branchcode'} : ".$userenv->{flags}.":".$userenv->{branch};
297
      $debug and print STDERR "  $newdata{'branchcode'} : ".$userenv->{flags}.":".$userenv->{branch};
298
      unless (!$newdata{'branchcode'} || $userenv->{branch} eq $newdata{'branchcode'}){
298
      unless (!$newdata{'branchcode'} || $userenv->{branch} eq $newdata{'branchcode'}){
299
        push @errors, "ERROR_branch";
299
        push @errors, "ERROR_branch";
Lines 424-430 if ($nok or !$nodouble){ Link Here
424
} 
424
} 
425
if (C4::Context->preference("IndependentBranches")) {
425
if (C4::Context->preference("IndependentBranches")) {
426
    my $userenv = C4::Context->userenv;
426
    my $userenv = C4::Context->userenv;
427
    if ($userenv->{flags} % 2 != 1 && $data{'branchcode'}){
427
    if ( !C4::Context->IsSuperLibrarian() && $data{'branchcode'} ) {
428
        unless ($userenv->{branch} eq $data{'branchcode'}){
428
        unless ($userenv->{branch} eq $data{'branchcode'}){
429
            print $input->redirect("/cgi-bin/koha/members/members-home.pl");
429
            print $input->redirect("/cgi-bin/koha/members/members-home.pl");
430
            exit;
430
            exit;
(-)a/members/moremember.pl (-8 / +14 lines)
Lines 214-224 $bor{'borrowernumber'} = $borrowernumber; Link Here
214
my $samebranch;
214
my $samebranch;
215
if ( C4::Context->preference("IndependentBranches") ) {
215
if ( C4::Context->preference("IndependentBranches") ) {
216
    my $userenv = C4::Context->userenv;
216
    my $userenv = C4::Context->userenv;
217
    unless ( $userenv->{flags} % 2 == 1 ) {
217
    if ( C4::Context->IsSuperLibrarian() ) {
218
        $samebranch = 1;
219
    }
220
    else {
218
        $samebranch = ( $data->{'branchcode'} eq $userenv->{branch} );
221
        $samebranch = ( $data->{'branchcode'} eq $userenv->{branch} );
219
    }
222
    }
220
    $samebranch = 1 if ( $userenv->{flags} % 2 == 1 );
223
}
221
}else{
224
else {
222
    $samebranch = 1;
225
    $samebranch = 1;
223
}
226
}
224
my $branchdetail = GetBranchDetail( $data->{'branchcode'});
227
my $branchdetail = GetBranchDetail( $data->{'branchcode'});
Lines 341-354 foreach (@$alerts) { Link Here
341
344
342
my $candeleteuser;
345
my $candeleteuser;
343
my $userenv = C4::Context->userenv;
346
my $userenv = C4::Context->userenv;
344
if($userenv->{flags} % 2 == 1){
347
if ( C4::Context->IsSuperLibrarian() ) {
345
    $candeleteuser = 1;
348
    $candeleteuser = 1;
346
}elsif ( C4::Context->preference("IndependentBranches") ) {
349
}
350
elsif ( C4::Context->preference("IndependentBranches") ) {
347
    $candeleteuser = ( $data->{'branchcode'} eq $userenv->{branch} );
351
    $candeleteuser = ( $data->{'branchcode'} eq $userenv->{branch} );
348
}else{
352
}
349
    if( C4::Auth::getuserflags( $userenv->{flags},$userenv->{number})->{borrowers} ) {
353
else {
354
    if ( C4::Auth::getuserflags( $userenv->{flags}, $userenv->{number} )->{borrowers} ) {
350
        $candeleteuser = 1;
355
        $candeleteuser = 1;
351
    }else{
356
    }
357
    else {
352
        $candeleteuser = 0;
358
        $candeleteuser = 0;
353
    }
359
    }
354
}
360
}
(-)a/reserve/request.pl (-1 / +1 lines)
Lines 384-390 foreach my $biblionumber (@biblionumbers) { Link Here
384
                if (! C4::Context->preference("canreservefromotherbranches")){
384
                if (! C4::Context->preference("canreservefromotherbranches")){
385
                    # cant reserve items so need to check if item homebranch and userenv branch match if not we cant reserve
385
                    # cant reserve items so need to check if item homebranch and userenv branch match if not we cant reserve
386
                    my $userenv = C4::Context->userenv;
386
                    my $userenv = C4::Context->userenv;
387
                    if ( ($userenv) && ( $userenv->{flags} % 2 != 1 ) ) {
387
                    unless ( C4::Context->IsSuperLibrarian ) {
388
                        $item->{cantreserve} = 1 if ( $item->{homebranch} ne $userenv->{branch} );
388
                        $item->{cantreserve} = 1 if ( $item->{homebranch} ne $userenv->{branch} );
389
                    }
389
                    }
390
                }
390
                }
(-)a/serials/member-search.pl (-4 / +7 lines)
Lines 82-91 if (defined $member) { Link Here
82
82
83
my ($count,$results);
83
my ($count,$results);
84
84
85
if (C4::Context->preference("IndependentBranches")){
85
if ( C4::Context->preference("IndependentBranches") ) {
86
   if (C4::Context->userenv && C4::Context->userenv->{flags} % 2 !=1 && C4::Context->userenv->{'branch'}){
86
    if (   C4::Context->userenv
87
        $$patron{branchcode}=C4::Context->userenv->{'branch'};
87
        && !C4::Context->IsSuperLibrarian()
88
   }
88
        && C4::Context->userenv->{'branch'} )
89
    {
90
        $$patron{branchcode} = C4::Context->userenv->{'branch'};
91
    }
89
}
92
}
90
$$patron{firstname}.="\%" if ($$patron{firstname});
93
$$patron{firstname}.="\%" if ($$patron{firstname});
91
$$patron{surname}.="\%" if ($$patron{surname});
94
$$patron{surname}.="\%" if ($$patron{surname});
(-)a/serials/subscription-add.pl (-4 / +5 lines)
Lines 120-129 if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { Link Here
120
    }
120
    }
121
}
121
}
122
122
123
my $onlymine=C4::Context->preference('IndependentBranches') &&
123
my $onlymine =
124
             C4::Context->userenv &&
124
     C4::Context->preference('IndependentBranches')
125
             C4::Context->userenv->{flags} % 2 !=1 &&
125
  && C4::Context->userenv
126
             C4::Context->userenv->{branch};
126
  && !C4::Context->IsSuperLibrarian
127
  && C4::Context->userenv->{branch};
127
my $branches = GetBranches($onlymine);
128
my $branches = GetBranches($onlymine);
128
my $branchloop;
129
my $branchloop;
129
for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %{$branches}) {
130
for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %{$branches}) {
(-)a/serials/subscription-detail.pl (-5 / +6 lines)
Lines 162-172 $template->param( Link Here
162
    routing => C4::Context->preference("RoutingSerials"),
162
    routing => C4::Context->preference("RoutingSerials"),
163
    totalissues => $totalissues,
163
    totalissues => $totalissues,
164
    hemisphere => $hemisphere,
164
    hemisphere => $hemisphere,
165
    cannotedit =>(C4::Context->preference('IndependentBranches') &&
165
    cannotedit => ( C4::Context->preference('IndependentBranches')
166
                C4::Context->userenv &&
166
          && C4::Context->userenv
167
                C4::Context->userenv->{flags} % 2 !=1  &&
167
          && !C4::Context->IsSuperLibrarian()
168
                C4::Context->userenv->{branch} && $subs->{branchcode} &&
168
          && C4::Context->userenv->{branch}
169
                (C4::Context->userenv->{branch} ne $subs->{branchcode})),
169
          && $subs->{branchcode}
170
          && ( C4::Context->userenv->{branch} ne $subs->{branchcode} ) ),
170
    'periodicity' . $subs->{periodicity} => 1,
171
    'periodicity' . $subs->{periodicity} => 1,
171
    'arrival' . $subs->{dow} => 1,
172
    'arrival' . $subs->{dow} => 1,
172
    'numberpattern' . $subs->{numberpattern} => 1,
173
    'numberpattern' . $subs->{numberpattern} => 1,
(-)a/tools/holidays.pl (-5 / +5 lines)
Lines 57-66 $keydate =~ s/-/\//g; Link Here
57
57
58
my $branch= $input->param('branch') || C4::Context->userenv->{'branch'};
58
my $branch= $input->param('branch') || C4::Context->userenv->{'branch'};
59
# Set all the branches.
59
# Set all the branches.
60
my $onlymine=(C4::Context->preference('IndependentBranches') &&
60
my $onlymine =
61
              C4::Context->userenv &&
61
  (      C4::Context->preference('IndependentBranches')
62
              C4::Context->userenv->{flags} % 2 !=1  &&
62
      && C4::Context->userenv
63
              C4::Context->userenv->{branch}?1:0);
63
      && !C4::Context->IsSuperLibrarian()
64
      && C4::Context->userenv->{branch} ? 1 : 0 );
64
if ( $onlymine ) { 
65
if ( $onlymine ) { 
65
    $branch = C4::Context->userenv->{'branch'};
66
    $branch = C4::Context->userenv->{'branch'};
66
}
67
}
67
- 

Return to bug 10277