|
Lines 203-223
sub GetSerialInformation {
Link Here
|
| 203 |
subscription.*, |
203 |
subscription.*, |
| 204 |
subscription.subscriptionid as subsid |
204 |
subscription.subscriptionid as subsid |
| 205 |
|; |
205 |
|; |
|
|
206 |
my @branches; |
| 206 |
if ( C4::Context->preference('IndependentBranches') |
207 |
if ( C4::Context->preference('IndependentBranches') |
| 207 |
&& C4::Context->userenv |
208 |
&& C4::Context->userenv |
| 208 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
209 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 209 |
&& C4::Context->userenv->{'branch'} ) { |
210 |
&& C4::Context->userenv->{'branch'} ) { |
| 210 |
my $branches = GetIndependentGroupModificationRights( { stringify => 1 } ); |
211 |
@branches = GetIndependentGroupModificationRights(); |
| 211 |
$query .= qq| |
212 |
$query .= " |
| 212 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
213 |
, ( |
| 213 |
|; |
214 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
215 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 216 |
) AS cannotedit |
| 217 |
"; |
| 214 |
} |
218 |
} |
| 215 |
$query .= qq| |
219 |
$query .= qq| |
| 216 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
220 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
| 217 |
WHERE serialid = ? |
221 |
WHERE serialid = ? |
| 218 |
|; |
222 |
|; |
| 219 |
my $rq = $dbh->prepare($query); |
223 |
my $rq = $dbh->prepare($query); |
| 220 |
$rq->execute($serialid); |
224 |
$rq->execute($serialid, @branches); |
| 221 |
my $data = $rq->fetchrow_hashref; |
225 |
my $data = $rq->fetchrow_hashref; |
| 222 |
|
226 |
|
| 223 |
# create item information if we have serialsadditems for this subscription |
227 |
# create item information if we have serialsadditems for this subscription |
|
Lines 324-340
sub GetSubscription {
Link Here
|
| 324 |
subscription.biblionumber as bibnum |
328 |
subscription.biblionumber as bibnum |
| 325 |
|; |
329 |
|; |
| 326 |
|
330 |
|
|
|
331 |
my @branches; |
| 327 |
if ( C4::Context->preference('IndependentBranches') |
332 |
if ( C4::Context->preference('IndependentBranches') |
| 328 |
&& C4::Context->userenv |
333 |
&& C4::Context->userenv |
| 329 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
334 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 330 |
&& C4::Context->userenv->{'branch'} ) |
335 |
&& C4::Context->userenv->{'branch'} ) |
| 331 |
{ |
336 |
{ |
| 332 |
my $branches = |
337 |
@branches = GetIndependentGroupModificationRights(); |
| 333 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 334 |
|
338 |
|
| 335 |
$query .= qq| |
339 |
$query .= " |
| 336 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
340 |
, ( |
| 337 |
|; |
341 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
342 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 343 |
) AS cannotedit |
| 344 |
"; |
| 338 |
} |
345 |
} |
| 339 |
|
346 |
|
| 340 |
$query .= qq| |
347 |
$query .= qq| |
|
Lines 347-353
sub GetSubscription {
Link Here
|
| 347 |
|
354 |
|
| 348 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
355 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
| 349 |
my $sth = $dbh->prepare($query); |
356 |
my $sth = $dbh->prepare($query); |
| 350 |
$sth->execute($subscriptionid); |
357 |
$sth->execute($subscriptionid, @branches); |
| 351 |
my $subscription = $sth->fetchrow_hashref; |
358 |
my $subscription = $sth->fetchrow_hashref; |
| 352 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
359 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
| 353 |
return $subscription; |
360 |
return $subscription; |
|
Lines 382-398
sub GetFullSubscription {
Link Here
|
| 382 |
subscription.subscriptionid AS subscriptionid |
389 |
subscription.subscriptionid AS subscriptionid |
| 383 |
|; |
390 |
|; |
| 384 |
|
391 |
|
|
|
392 |
my @branches; |
| 385 |
if ( C4::Context->preference('IndependentBranches') |
393 |
if ( C4::Context->preference('IndependentBranches') |
| 386 |
&& C4::Context->userenv |
394 |
&& C4::Context->userenv |
| 387 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
395 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 388 |
&& C4::Context->userenv->{'branch'} ) |
396 |
&& C4::Context->userenv->{'branch'} ) |
| 389 |
{ |
397 |
{ |
| 390 |
my $branches = |
398 |
@branches = GetIndependentGroupModificationRights(); |
| 391 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 392 |
|
399 |
|
| 393 |
$query .= qq| |
400 |
$query .= " |
| 394 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
401 |
, ( |
| 395 |
|; |
402 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) . " ) ) |
|
|
403 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 404 |
) AS cannotedit |
| 405 |
"; |
| 396 |
} |
406 |
} |
| 397 |
|
407 |
|
| 398 |
$query .= qq| |
408 |
$query .= qq| |
|
Lines 408-414
sub GetFullSubscription {
Link Here
|
| 408 |
|; |
418 |
|; |
| 409 |
$debug and warn "GetFullSubscription query: $query"; |
419 |
$debug and warn "GetFullSubscription query: $query"; |
| 410 |
my $sth = $dbh->prepare($query); |
420 |
my $sth = $dbh->prepare($query); |
| 411 |
$sth->execute($subscriptionid); |
421 |
$sth->execute( $subscriptionid, @branches ); |
| 412 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
422 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
| 413 |
for my $subscription ( @$subscriptions ) { |
423 |
for my $subscription ( @$subscriptions ) { |
| 414 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
424 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
|
Lines 565-581
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
| 565 |
subscription.subscriptionid AS subscriptionid |
575 |
subscription.subscriptionid AS subscriptionid |
| 566 |
|; |
576 |
|; |
| 567 |
|
577 |
|
|
|
578 |
my @branches; |
| 568 |
if ( C4::Context->preference('IndependentBranches') |
579 |
if ( C4::Context->preference('IndependentBranches') |
| 569 |
&& C4::Context->userenv |
580 |
&& C4::Context->userenv |
| 570 |
&& C4::Context->userenv->{'flags'} != 1 |
581 |
&& C4::Context->userenv->{'flags'} != 1 |
| 571 |
&& C4::Context->userenv->{'branch'} ) |
582 |
&& C4::Context->userenv->{'branch'} ) |
| 572 |
{ |
583 |
{ |
| 573 |
my $branches = |
584 |
@branches = GetIndependentGroupModificationRights(); |
| 574 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 575 |
|
585 |
|
| 576 |
$query .= qq| |
586 |
$query .= " |
| 577 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
587 |
, ( |
| 578 |
|; |
588 |
( subscription.branchcode NOT IN (" . join(',', ('?') x @branches) . ") ) |
|
|
589 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 590 |
) AS cannotedit |
| 591 |
"; |
| 579 |
} |
592 |
} |
| 580 |
|
593 |
|
| 581 |
$query .= qq| |
594 |
$query .= qq| |
|
Lines 590-596
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
| 590 |
serial.subscriptionid |
603 |
serial.subscriptionid |
| 591 |
|; |
604 |
|; |
| 592 |
my $sth = $dbh->prepare($query); |
605 |
my $sth = $dbh->prepare($query); |
| 593 |
$sth->execute($biblionumber); |
606 |
$sth->execute($biblionumber, @branches); |
| 594 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
607 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
| 595 |
for my $subscription ( @$subscriptions ) { |
608 |
for my $subscription ( @$subscriptions ) { |
| 596 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
609 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |