&CountIssues
HasItems
&GetSubscriptionsFromBorrower
+ &subscriptionCurrentlyOnOrder
);
}
my $dbh = C4::Context->dbh;
my $query = qq|
SELECT serial.*, serial.notes as sernotes, serial.status as serstatus,subscription.*,subscription.subscriptionid as subsid |;
- if ( C4::Context->preference('IndependantBranches')
+ if ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{'flags'} != 1
&& C4::Context->userenv->{'branch'} ) {
aqbooksellers.name AS aqbooksellername,
biblio.title AS bibliotitle,
subscription.biblionumber as bibnum);
- if ( C4::Context->preference('IndependantBranches')
+ if ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{'flags'} != 1
&& C4::Context->userenv->{'branch'} ) {
WHERE subscription.subscriptionid = ?
);
- # if (C4::Context->preference('IndependantBranches') &&
+ # if (C4::Context->preference('IndependentBranches') &&
# C4::Context->userenv &&
# C4::Context->userenv->{'flags'} != 1){
# # $debug and warn "flags: ".C4::Context->userenv->{'flags'};
biblio.title as bibliotitle,
subscription.branchcode AS branchcode,
subscription.subscriptionid AS subscriptionid |;
- if ( C4::Context->preference('IndependantBranches')
+ if ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{'flags'} != 1
&& C4::Context->userenv->{'branch'} ) {
if (!defined $subs->{$datefield} or $subs->{$datefield}=~m/^00/) {
$subs->{$datefield} = 'XXX';
}
- else {
- $subs->{$datefield} = format_date( $subs->{$datefield} );
- }
}
$subs->{ "status" . $subs->{'status'} } = 1;
$subs->{"checked"} = $subs->{'status'} =~ /1|3|4|7/;
$subs->{ "numberpattern" . $subs->{numberpattern} } = 1;
$subs->{ "status" . $subs->{'status'} } = 1;
$subs->{'cannotedit'} =
- ( C4::Context->preference('IndependantBranches')
+ ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{flags} % 2 != 1
&& C4::Context->userenv->{branch}
biblio.title as bibliotitle,
subscription.branchcode AS branchcode,
subscription.subscriptionid AS subscriptionid|;
- if ( C4::Context->preference('IndependantBranches')
+ if ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{'flags'} != 1
&& C4::Context->userenv->{'branch'} ) {
while ( my $line = $sth->fetchrow_hashref ) {
$line->{'cannotedit'} =
- ( C4::Context->preference('IndependantBranches')
+ ( C4::Context->preference('IndependentBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{flags} % 2 != 1
&& C4::Context->userenv->{branch}
my $dbh = C4::Context->dbh;
# status = 2 is "arrived"
- my $strsth = "SELECT serialid,serialseq, status, planneddate, notes
+ my $strsth = "SELECT serialid,serialseq, status, planneddate, publisheddate, notes
FROM serial
WHERE subscriptionid = ?
AND (status =2 or status=4)
while ( my $line = $sth->fetchrow_hashref ) {
$line->{ "status" . $line->{status} } = 1; # fills a "statusX" value, used for template status select list
$line->{"planneddate"} = format_date( $line->{"planneddate"} );
+ $line->{"publisheddate"} = format_date( $line->{"publisheddate"} );
push @serials, $line;
}
$sth->execute($subscriptionid);
my ( $missinglist, $recievedlist ) = $sth->fetchrow;
if ( $status == 2 ) {
-
$recievedlist .= "; $serialseq"
- unless ( index( "$recievedlist", "$serialseq" ) >= 0 );
+ if $recievedlist!~/(^|;)\s*$serialseq(?=;|$)/;
+ }
+ # in case serial has been previously marked as missing
+ if (grep /$status/, (1,2,3,7)) {
+ $missinglist=~ s/(^|;)\s*$serialseq(?=;|$)//g;
}
-
- # warn "missinglist : $missinglist serialseq :$serialseq, ".index("$missinglist","$serialseq");
$missinglist .= "; $serialseq"
- if ( $status == 4
- and not index( "$missinglist", "$serialseq" ) >= 0 );
+ if $status==4 && $missinglist!~/(^|;)\s*$serialseq(?=;|$)/;
$missinglist .= "; not issued $serialseq"
- if ( $status == 5
- and index( "$missinglist", "$serialseq" ) >= 0 );
+ if $status==5 && $missinglist!~/(^|;)\s*$serialseq(?=;|$)/;
+
$query = "UPDATE subscriptionhistory SET recievedlist=?, missinglist=? WHERE subscriptionid=?";
$sth = $dbh->prepare($query);
$recievedlist =~ s/^; //;
# renew subscription
$query = qq|
UPDATE subscription
- SET startdate=?,numberlength=?,weeklength=?,monthlength=?
+ SET startdate=?,numberlength=?,weeklength=?,monthlength=?,reneweddate=NOW()
WHERE subscriptionid=?
|;
$sth = $dbh->prepare($query);
$sth->execute( $subscriptionid );
}
+=head2 subscriptionCurrentlyOnOrder
+
+ $bool = subscriptionCurrentlyOnOrder( $subscriptionid );
+
+Return 1 if subscription is currently on order else 0.
+
+=cut
+
+sub subscriptionCurrentlyOnOrder {
+ my ( $subscriptionid ) = @_;
+ my $dbh = C4::Context->dbh;
+ my $query = qq|
+ SELECT COUNT(*) FROM aqorders
+ WHERE subscriptionid = ?
+ AND datereceived IS NULL
+ AND datecancellationprinted IS NULL
+ |;
+ my $sth = $dbh->prepare( $query );
+ $sth->execute($subscriptionid);
+ return $sth->fetchrow_array;
+}
+
1;
__END__