|
Lines 180-200
sub GetSerialInformation {
Link Here
|
| 180 |
subscription.*, |
180 |
subscription.*, |
| 181 |
subscription.subscriptionid as subsid |
181 |
subscription.subscriptionid as subsid |
| 182 |
|; |
182 |
|; |
|
|
183 |
my @branches; |
| 183 |
if ( C4::Context->preference('IndependentBranches') |
184 |
if ( C4::Context->preference('IndependentBranches') |
| 184 |
&& C4::Context->userenv |
185 |
&& C4::Context->userenv |
| 185 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
186 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 186 |
&& C4::Context->userenv->{'branch'} ) { |
187 |
&& C4::Context->userenv->{'branch'} ) { |
| 187 |
my $branches = GetIndependentGroupModificationRights( { stringify => 1 } ); |
188 |
@branches = GetIndependentGroupModificationRights(); |
| 188 |
$query .= qq| |
189 |
$query .= " |
| 189 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
190 |
, ( |
| 190 |
|; |
191 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
192 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 193 |
) AS cannotedit |
| 194 |
"; |
| 191 |
} |
195 |
} |
| 192 |
$query .= qq| |
196 |
$query .= qq| |
| 193 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
197 |
FROM serial LEFT JOIN subscription ON subscription.subscriptionid=serial.subscriptionid |
| 194 |
WHERE serialid = ? |
198 |
WHERE serialid = ? |
| 195 |
|; |
199 |
|; |
| 196 |
my $rq = $dbh->prepare($query); |
200 |
my $rq = $dbh->prepare($query); |
| 197 |
$rq->execute($serialid); |
201 |
$rq->execute($serialid, @branches); |
| 198 |
my $data = $rq->fetchrow_hashref; |
202 |
my $data = $rq->fetchrow_hashref; |
| 199 |
|
203 |
|
| 200 |
# create item information if we have serialsadditems for this subscription |
204 |
# create item information if we have serialsadditems for this subscription |
|
Lines 301-317
sub GetSubscription {
Link Here
|
| 301 |
subscription.biblionumber as bibnum |
305 |
subscription.biblionumber as bibnum |
| 302 |
|; |
306 |
|; |
| 303 |
|
307 |
|
|
|
308 |
my @branches; |
| 304 |
if ( C4::Context->preference('IndependentBranches') |
309 |
if ( C4::Context->preference('IndependentBranches') |
| 305 |
&& C4::Context->userenv |
310 |
&& C4::Context->userenv |
| 306 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
311 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 307 |
&& C4::Context->userenv->{'branch'} ) |
312 |
&& C4::Context->userenv->{'branch'} ) |
| 308 |
{ |
313 |
{ |
| 309 |
my $branches = |
314 |
@branches = GetIndependentGroupModificationRights(); |
| 310 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 311 |
|
315 |
|
| 312 |
$query .= qq| |
316 |
$query .= " |
| 313 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
317 |
, ( |
| 314 |
|; |
318 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) ." ) ) |
|
|
319 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 320 |
) AS cannotedit |
| 321 |
"; |
| 315 |
} |
322 |
} |
| 316 |
|
323 |
|
| 317 |
$query .= qq| |
324 |
$query .= qq| |
|
Lines 324-330
sub GetSubscription {
Link Here
|
| 324 |
|
331 |
|
| 325 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
332 |
$debug and warn "query : $query\nsubsid :$subscriptionid"; |
| 326 |
my $sth = $dbh->prepare($query); |
333 |
my $sth = $dbh->prepare($query); |
| 327 |
$sth->execute($subscriptionid); |
334 |
$sth->execute($subscriptionid, @branches); |
| 328 |
my $subscription = $sth->fetchrow_hashref; |
335 |
my $subscription = $sth->fetchrow_hashref; |
| 329 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
336 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
| 330 |
return $subscription; |
337 |
return $subscription; |
|
Lines 359-375
sub GetFullSubscription {
Link Here
|
| 359 |
subscription.subscriptionid AS subscriptionid |
366 |
subscription.subscriptionid AS subscriptionid |
| 360 |
|; |
367 |
|; |
| 361 |
|
368 |
|
|
|
369 |
my @branches; |
| 362 |
if ( C4::Context->preference('IndependentBranches') |
370 |
if ( C4::Context->preference('IndependentBranches') |
| 363 |
&& C4::Context->userenv |
371 |
&& C4::Context->userenv |
| 364 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
372 |
&& C4::Context->userenv->{'flags'} % 2 != 1 |
| 365 |
&& C4::Context->userenv->{'branch'} ) |
373 |
&& C4::Context->userenv->{'branch'} ) |
| 366 |
{ |
374 |
{ |
| 367 |
my $branches = |
375 |
@branches = GetIndependentGroupModificationRights(); |
| 368 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 369 |
|
376 |
|
| 370 |
$query .= qq| |
377 |
$query .= " |
| 371 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
378 |
, ( |
| 372 |
|; |
379 |
( subscription.branchcode NOT IN ( " . join(',', ('?') x @branches) . " ) ) |
|
|
380 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 381 |
) AS cannotedit |
| 382 |
"; |
| 373 |
} |
383 |
} |
| 374 |
|
384 |
|
| 375 |
$query .= qq| |
385 |
$query .= qq| |
|
Lines 385-391
sub GetFullSubscription {
Link Here
|
| 385 |
|; |
395 |
|; |
| 386 |
$debug and warn "GetFullSubscription query: $query"; |
396 |
$debug and warn "GetFullSubscription query: $query"; |
| 387 |
my $sth = $dbh->prepare($query); |
397 |
my $sth = $dbh->prepare($query); |
| 388 |
$sth->execute($subscriptionid); |
398 |
$sth->execute( $subscriptionid, @branches ); |
| 389 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
399 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
| 390 |
for my $subscription ( @$subscriptions ) { |
400 |
for my $subscription ( @$subscriptions ) { |
| 391 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
401 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
|
Lines 542-558
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
| 542 |
subscription.subscriptionid AS subscriptionid |
552 |
subscription.subscriptionid AS subscriptionid |
| 543 |
|; |
553 |
|; |
| 544 |
|
554 |
|
|
|
555 |
my @branches; |
| 545 |
if ( C4::Context->preference('IndependentBranches') |
556 |
if ( C4::Context->preference('IndependentBranches') |
| 546 |
&& C4::Context->userenv |
557 |
&& C4::Context->userenv |
| 547 |
&& C4::Context->userenv->{'flags'} != 1 |
558 |
&& C4::Context->userenv->{'flags'} != 1 |
| 548 |
&& C4::Context->userenv->{'branch'} ) |
559 |
&& C4::Context->userenv->{'branch'} ) |
| 549 |
{ |
560 |
{ |
| 550 |
my $branches = |
561 |
@branches = GetIndependentGroupModificationRights(); |
| 551 |
GetIndependentGroupModificationRights( { stringify => 1 } ); |
|
|
| 552 |
|
562 |
|
| 553 |
$query .= qq| |
563 |
$query .= " |
| 554 |
, ( ( subscription.branchcode NOT IN ( $branches ) ) AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL ) AS cannotedit |
564 |
, ( |
| 555 |
|; |
565 |
( subscription.branchcode NOT IN (" . join(',', ('?') x @branches) . ") ) |
|
|
566 |
AND subscription.branchcode <> '' AND subscription.branchcode IS NOT NULL |
| 567 |
) AS cannotedit |
| 568 |
"; |
| 556 |
} |
569 |
} |
| 557 |
|
570 |
|
| 558 |
$query .= qq| |
571 |
$query .= qq| |
|
Lines 567-573
sub GetFullSubscriptionsFromBiblionumber {
Link Here
|
| 567 |
serial.subscriptionid |
580 |
serial.subscriptionid |
| 568 |
|; |
581 |
|; |
| 569 |
my $sth = $dbh->prepare($query); |
582 |
my $sth = $dbh->prepare($query); |
| 570 |
$sth->execute($biblionumber); |
583 |
$sth->execute($biblionumber, @branches); |
| 571 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
584 |
my $subscriptions = $sth->fetchall_arrayref( {} ); |
| 572 |
for my $subscription ( @$subscriptions ) { |
585 |
for my $subscription ( @$subscriptions ) { |
| 573 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |
586 |
$subscription->{cannotedit} = not can_edit_subscription( $subscription ); |