Lines 180-200
sub GetSerialInformation {
Link Here
|
180 |
subscription.*, |
180 |
subscription.*, |
181 |
subscription.subscriptionid as subsid |
181 |
subscription.subscriptionid as subsid |
182 |
|; |
182 |
|; |
|
|
183 |
my @branches; |
183 |
if ( C4::Context->preference('IndependentBranches') |
184 |
if ( C4::Context->preference('IndependentBranches') |
184 |
&& C4::Context->userenv |
185 |
&& C4::Context->userenv |
185 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
186 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
186 |
&& C4::Context->userenv->{'branch'} ) { |
187 |
&& C4::Context->userenv->{'branch'} ) { |
187 |
my $branches = GetIndependentGroupModificationRights( { stringify => 1 } ); |
188 |
@branches = GetIndependentGroupModificationRights(); |
188 |
$query .= qq| |
189 |
$query .= " |
189 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
190 |
, ( |
190 |
|; |
191 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
192 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
193 |
) AS cannotedit |
194 |
"; |
191 |
} |
195 |
} |
192 |
$query .= qq| |
196 |
$query .= qq| |
193 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
197 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
194 |
WHERE serialid = ? |
198 |
WHERE serialid = ? |
195 |
|; |
199 |
|; |
196 |
my $rq = $dbh->prepare($query); |
200 |
my $rq = $dbh->prepare($query); |
197 |
$rq->execute($serialid); |
201 |
$rq->execute($serialid, @branches); |
198 |
my $data = $rq->fetchrow_hashref; |
202 |
my $data = $rq->fetchrow_hashref; |
199 |
|
203 |
|
200 |
# create item information if we have serialsadditems for this subscription |
204 |
# create item information if we have serialsadditems for this subscription |
Lines 301-317
sub GetSubscription {
Link Here
|
301 |
subscription.biblionumber as bibnum |
305 |
subscription.biblionumber as bibnum |
302 |
|; |
306 |
|; |
303 |
|
307 |
|
|
|
308 |
my @branches; |
304 |
if ( C4::Context->preference('IndependentBranches') |
309 |
if ( C4::Context->preference('IndependentBranches') |
305 |
&& C4::Context->userenv |
310 |
&& C4::Context->userenv |
306 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
311 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
307 |
&& C4::Context->userenv->{'branch'} ) |
312 |
&& C4::Context->userenv->{'branch'} ) |
308 |
{ |
313 |
{ |
309 |
my $branches = |
314 |
@branches = GetIndependentGroupModificationRights(); |
310 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
311 |
|
315 |
|
312 |
$query .= qq| |
316 |
$query .= " |
313 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
317 |
, ( |
314 |
|; |
318 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
319 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
320 |
) AS cannotedit |
321 |
"; |
315 |
} |
322 |
} |
316 |
|
323 |
|
317 |
$query .= qq| |
324 |
$query .= qq| |
Lines 324-330
sub GetSubscription {
Link Here
|
324 |
|
331 |
|
325 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
332 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
326 |
my $sth = $dbh->prepare($query); |
333 |
my $sth = $dbh->prepare($query); |
327 |
$sth->execute($subscriptionid); |
334 |
$sth->execute($subscriptionid, @branches); |
328 |
my $subscription = $sth->fetchrow_hashref; |
335 |
my $subscription = $sth->fetchrow_hashref; |
329 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
336 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
330 |
return $subscription; |
337 |
return $subscription; |
Lines 359-375
sub GetFullSubscription {
Link Here
|
359 |
subscription.subscriptionid AS subscriptionid |
366 |
subscription.subscriptionid AS subscriptionid |
360 |
|; |
367 |
|; |
361 |
|
368 |
|
|
|
369 |
my @branches; |
362 |
if ( C4::Context->preference('IndependentBranches') |
370 |
if ( C4::Context->preference('IndependentBranches') |
363 |
&& C4::Context->userenv |
371 |
&& C4::Context->userenv |
364 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
372 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
365 |
&& C4::Context->userenv->{'branch'} ) |
373 |
&& C4::Context->userenv->{'branch'} ) |
366 |
{ |
374 |
{ |
367 |
my $branches = |
375 |
@branches = GetIndependentGroupModificationRights(); |
368 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
369 |
|
376 |
|
370 |
$query .= qq| |
377 |
$query .= " |
371 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
378 |
, ( |
372 |
|; |
379 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) . " ) ) |
|
|
380 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
381 |
) AS cannotedit |
382 |
"; |
373 |
} |
383 |
} |
374 |
|
384 |
|
375 |
$query .= qq| |
385 |
$query .= qq| |
Lines 385-391
sub GetFullSubscription {
Link Here
|
385 |
|; |
395 |
|; |
386 |
$debug and warn "GetFullSubscription query: $query"; |
396 |
$debug and warn "GetFullSubscription query: $query"; |
387 |
my $sth = $dbh->prepare($query); |
397 |
my $sth = $dbh->prepare($query); |
388 |
$sth->execute($subscriptionid); |
398 |
$sth->execute( $subscriptionid, @branches ); |
389 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
399 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
390 |
for my $subscription ( @$subscriptions ) { |
400 |
for my $subscription ( @$subscriptions ) { |
391 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
401 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
Lines 542-558
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
542 |
subscription.subscriptionid AS subscriptionid |
552 |
subscription.subscriptionid AS subscriptionid |
543 |
|; |
553 |
|; |
544 |
|
554 |
|
|
|
555 |
my @branches; |
545 |
if ( C4::Context->preference('IndependentBranches') |
556 |
if ( C4::Context->preference('IndependentBranches') |
546 |
&& C4::Context->userenv |
557 |
&& C4::Context->userenv |
547 |
&& C4::Context->userenv->{'flags'} != 1 |
558 |
&& C4::Context->userenv->{'flags'} != 1 |
548 |
&& C4::Context->userenv->{'branch'} ) |
559 |
&& C4::Context->userenv->{'branch'} ) |
549 |
{ |
560 |
{ |
550 |
my $branches = |
561 |
@branches = GetIndependentGroupModificationRights(); |
551 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
552 |
|
562 |
|
553 |
$query .= qq| |
563 |
$query .= " |
554 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
564 |
, ( |
555 |
|; |
565 |
( subscription.branchcode NOT IN (" . join(',', ('?') x @branches) . ") ) |
|
|
566 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
567 |
) AS cannotedit |
568 |
"; |
556 |
} |
569 |
} |
557 |
|
570 |
|
558 |
$query .= qq| |
571 |
$query .= qq| |
Lines 567-573
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
567 |
serial.subscriptionid |
580 |
serial.subscriptionid |
568 |
|; |
581 |
|; |
569 |
my $sth = $dbh->prepare($query); |
582 |
my $sth = $dbh->prepare($query); |
570 |
$sth->execute($biblionumber); |
583 |
$sth->execute($biblionumber, @branches); |
571 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
584 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
572 |
for my $subscription ( @$subscriptions ) { |
585 |
for my $subscription ( @$subscriptions ) { |
573 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
586 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |