|
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 ); |