Lines 238-258
sub GetSerialInformation {
Link Here
|
238 |
subscription.*, |
238 |
subscription.*, |
239 |
subscription.subscriptionid as subsid |
239 |
subscription.subscriptionid as subsid |
240 |
|; |
240 |
|; |
|
|
241 |
my @branches; |
241 |
if ( C4::Context->preference('IndependentBranches') |
242 |
if ( C4::Context->preference('IndependentBranches') |
242 |
&& C4::Context->userenv |
243 |
&& C4::Context->userenv |
243 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
244 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
244 |
&& C4::Context->userenv->{'branch'} ) { |
245 |
&& C4::Context->userenv->{'branch'} ) { |
245 |
my $branches = GetIndependentGroupModificationRights( { stringify => 1 } ); |
246 |
@branches = GetIndependentGroupModificationRights(); |
246 |
$query .= qq| |
247 |
$query .= " |
247 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
248 |
, ( |
248 |
|; |
249 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
250 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
251 |
) AS cannotedit |
252 |
"; |
249 |
} |
253 |
} |
250 |
$query .= qq| |
254 |
$query .= qq| |
251 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
255 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
252 |
WHERE serialid = ? |
256 |
WHERE serialid = ? |
253 |
|; |
257 |
|; |
254 |
my $rq = $dbh->prepare($query); |
258 |
my $rq = $dbh->prepare($query); |
255 |
$rq->execute($serialid); |
259 |
$rq->execute($serialid, @branches); |
256 |
my $data = $rq->fetchrow_hashref; |
260 |
my $data = $rq->fetchrow_hashref; |
257 |
|
261 |
|
258 |
# create item information if we have serialsadditems for this subscription |
262 |
# create item information if we have serialsadditems for this subscription |
Lines 355-371
sub GetSubscription {
Link Here
|
355 |
subscription.biblionumber as bibnum |
359 |
subscription.biblionumber as bibnum |
356 |
|; |
360 |
|; |
357 |
|
361 |
|
|
|
362 |
my @branches; |
358 |
if ( C4::Context->preference('IndependentBranches') |
363 |
if ( C4::Context->preference('IndependentBranches') |
359 |
&& C4::Context->userenv |
364 |
&& C4::Context->userenv |
360 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
365 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
361 |
&& C4::Context->userenv->{'branch'} ) |
366 |
&& C4::Context->userenv->{'branch'} ) |
362 |
{ |
367 |
{ |
363 |
my $branches = |
368 |
@branches = GetIndependentGroupModificationRights(); |
364 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
365 |
|
369 |
|
366 |
$query .= qq| |
370 |
$query .= " |
367 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
371 |
, ( |
368 |
|; |
372 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
373 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
374 |
) AS cannotedit |
375 |
"; |
369 |
} |
376 |
} |
370 |
|
377 |
|
371 |
$query .= qq| |
378 |
$query .= qq| |
Lines 378-384
sub GetSubscription {
Link Here
|
378 |
|
385 |
|
379 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
386 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
380 |
my $sth = $dbh->prepare($query); |
387 |
my $sth = $dbh->prepare($query); |
381 |
$sth->execute($subscriptionid); |
388 |
$sth->execute($subscriptionid, @branches); |
382 |
my $subscription = $sth->fetchrow_hashref; |
389 |
my $subscription = $sth->fetchrow_hashref; |
383 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
390 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
384 |
return $subscription; |
391 |
return $subscription; |
Lines 413-429
sub GetFullSubscription {
Link Here
|
413 |
subscription.subscriptionid AS subscriptionid |
420 |
subscription.subscriptionid AS subscriptionid |
414 |
|; |
421 |
|; |
415 |
|
422 |
|
|
|
423 |
my @branches; |
416 |
if ( C4::Context->preference('IndependentBranches') |
424 |
if ( C4::Context->preference('IndependentBranches') |
417 |
&& C4::Context->userenv |
425 |
&& C4::Context->userenv |
418 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
426 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
419 |
&& C4::Context->userenv->{'branch'} ) |
427 |
&& C4::Context->userenv->{'branch'} ) |
420 |
{ |
428 |
{ |
421 |
my $branches = |
429 |
@branches = GetIndependentGroupModificationRights(); |
422 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
423 |
|
430 |
|
424 |
$query .= qq| |
431 |
$query .= " |
425 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
432 |
, ( |
426 |
|; |
433 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) . " ) ) |
|
|
434 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
435 |
) AS cannotedit |
436 |
"; |
427 |
} |
437 |
} |
428 |
|
438 |
|
429 |
$query .= qq| |
439 |
$query .= qq| |
Lines 439-445
sub GetFullSubscription {
Link Here
|
439 |
|; |
449 |
|; |
440 |
$debug and warn "GetFullSubscription query: $query"; |
450 |
$debug and warn "GetFullSubscription query: $query"; |
441 |
my $sth = $dbh->prepare($query); |
451 |
my $sth = $dbh->prepare($query); |
442 |
$sth->execute($subscriptionid); |
452 |
$sth->execute( $subscriptionid, @branches ); |
443 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
453 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
444 |
for my $subscription ( @$subscriptions ) { |
454 |
for my $subscription ( @$subscriptions ) { |
445 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
455 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
Lines 596-612
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
596 |
subscription.subscriptionid AS subscriptionid |
606 |
subscription.subscriptionid AS subscriptionid |
597 |
|; |
607 |
|; |
598 |
|
608 |
|
|
|
609 |
my @branches; |
599 |
if ( C4::Context->preference('IndependentBranches') |
610 |
if ( C4::Context->preference('IndependentBranches') |
600 |
&& C4::Context->userenv |
611 |
&& C4::Context->userenv |
601 |
&& C4::Context->userenv->{'flags'} != 1 |
612 |
&& C4::Context->userenv->{'flags'} != 1 |
602 |
&& C4::Context->userenv->{'branch'} ) |
613 |
&& C4::Context->userenv->{'branch'} ) |
603 |
{ |
614 |
{ |
604 |
my $branches = |
615 |
@branches = GetIndependentGroupModificationRights(); |
605 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
606 |
|
616 |
|
607 |
$query .= qq| |
617 |
$query .= " |
608 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
618 |
, ( |
609 |
|; |
619 |
( subscription.branchcode NOT IN (" . join(',', ('?') x @branches) . ") ) |
|
|
620 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
621 |
) AS cannotedit |
622 |
"; |
610 |
} |
623 |
} |
611 |
|
624 |
|
612 |
$query .= qq| |
625 |
$query .= qq| |
Lines 621-627
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
621 |
serial.subscriptionid |
634 |
serial.subscriptionid |
622 |
|; |
635 |
|; |
623 |
my $sth = $dbh->prepare($query); |
636 |
my $sth = $dbh->prepare($query); |
624 |
$sth->execute($biblionumber); |
637 |
$sth->execute($biblionumber, @branches); |
625 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
638 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
626 |
for my $subscription ( @$subscriptions ) { |
639 |
for my $subscription ( @$subscriptions ) { |
627 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
640 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |