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