BugFixing 1124 1125.

1125 is a bug that seems to me a design error.

To manage all the serials, it may be better to display the list as in full-serial-issue.tmpl and allow to change through a click on the issue. Receiving the next one or a manual one would be in a different part of the screen, short history (missing list and receivedlist) too.
This commit is contained in:
hdl 2006-08-08 10:01:41 +00:00
parent 4acfffda2a
commit 7df7193a50
2 changed files with 7 additions and 6 deletions

View File

@ -206,7 +206,7 @@ sub get_full_subscription_list_from_biblionumber {
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare('
SELECT serial.serialseq,serial.planneddate, serial.publisheddate, serial.status, serial.notes,
year(serial.publisheddate) as year,
year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year,
aqbudget.bookfundid,aqbooksellers.name as aqbooksellername,biblio.title as bibliotitle
FROM serial
LEFT JOIN subscription ON
@ -215,7 +215,7 @@ sub get_full_subscription_list_from_biblionumber {
LEFT JOIN aqbooksellers on subscription.aqbooksellerid=aqbooksellers.id
LEFT JOIN biblio on biblio.biblionumber=subscription.biblionumber
WHERE subscription.biblionumber = ?
ORDER BY year,serial.publisheddate,serial.subscriptionid,serial.planneddate');
ORDER BY year,IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate),serial.subscriptionid');
$sth->execute($biblionumber);
my @res;
my %tmpresults;
@ -440,11 +440,11 @@ sub serialchangestatus {
$sth = $dbh->prepare("SELECT missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
$sth->execute($subscriptionid);
my ($missinglist,$recievedlist) = $sth->fetchrow;
if ($status eq 2) {
if ($status eq 2 && ($serialseq!~/\(/ && $recievedlist!~/$serialseq/)) {
$recievedlist .= ",$serialseq";
}
$missinglist .= ",$serialseq" if ($status eq 4) ;
$missinglist .= ",not issued $serialseq" if ($status eq 5);
$missinglist .= ",$serialseq" if ($status eq 4 && ($serialseq!~/\(/ && $missinglist!~/$serialseq/)) ;
$missinglist .= ",not issued $serialseq" if ($status eq 5 && ($serialseq!~/\(/ && $missinglist!~/$serialseq/));
$sth=$dbh->prepare("update subscriptionhistory set recievedlist=?, missinglist=? where subscriptionid=?");
$sth->execute($recievedlist,$missinglist,$subscriptionid);
}

View File

@ -49,7 +49,8 @@ if ($op eq 'serialchangestatus') {
my ($oldstatus) = $sth->fetchrow;
if ($serialids[$i]) {
serialchangestatus($serialids[$i],$serialseqs[$i],format_date_in_iso($publisheddates[$i]),($planneddates[$i]?format_date_in_iso($planneddates[$i]):format_date_in_iso(localtime(time()))),$status[$i],$notes[$i]) unless ($hassubscriptionexpired && $oldstatus == 1);
my $planneddate = ($planneddates[$i]?format_date_in_iso($planneddates[$i]):format_date_in_iso("today")) if ($status[$i]==2);
serialchangestatus($serialids[$i],$serialseqs[$i],format_date_in_iso($publisheddates[$i]),$planneddate,$status[$i],$notes[$i]) unless ($hassubscriptionexpired && $oldstatus == 1);
if (($status[$i]==2) && C4::Context->preference("serialsadditems")){
my %info;
$info{branch}=$homebranches[$i];