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