[Koha-cvs] koha C4/Serials.pm koha-tmpl/intranet-tmpl/prog... [rel_3_0]
Henri-Damien LAURENT
laurenthdl at alinto.com
Thu Dec 14 13:59:23 CET 2006
CVSROOT: /cvsroot/koha
Module name: koha
Branch: rel_3_0
Changes by: Henri-Damien LAURENT <hdl> 06/12/14 12:59:23
Modified files:
C4 : Serials.pm
koha-tmpl/intranet-tmpl/prog/en/serials: claims.tmpl
serials : claims.pl
Log message:
adding missing/expected/late issues on a single page.
And treating them alike.
Maybe we could add a filter on a value when a value is clicked. So that it could be far user friendly.
Using AJAX could also be a great +
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Serials.pm?cvsroot=koha&only_with_tag=rel_3_0&r1=1.5.2.16&r2=1.5.2.17
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/serials/claims.tmpl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.2.2.1&r2=1.2.2.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/claims.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.2&r2=1.1.2.3
Patches:
Index: C4/Serials.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Serials.pm,v
retrieving revision 1.5.2.16
retrieving revision 1.5.2.17
diff -u -b -r1.5.2.16 -r1.5.2.17
--- C4/Serials.pm 13 Dec 2006 19:45:04 -0000 1.5.2.16
+++ C4/Serials.pm 14 Dec 2006 12:59:23 -0000 1.5.2.17
@@ -17,7 +17,7 @@
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
-# $Id: Serials.pm,v 1.5.2.16 2006/12/13 19:45:04 hdl Exp $
+# $Id: Serials.pm,v 1.5.2.17 2006/12/14 12:59:23 hdl Exp $
use strict;
use C4::Date;
@@ -33,7 +33,7 @@
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
# set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.5.2.16 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.5.2.17 $' =~ /\d+/g;
shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v );
};
@@ -63,7 +63,7 @@
&GetNextSeq &NewIssue &ItemizeSerials &GetSerials
&GetLatestSerials &ModSerialStatus &GetNextDate &GetSerials2
- &ReNewSubscription &GetLateIssues &GetMissingIssues
+ &ReNewSubscription &GetLateIssues &GetLateOrMissingIssues
&GetSerialInformation &AddItem2Serial
&UpdateClaimdateIssues
@@ -322,7 +322,7 @@
my $dbh = C4::Context->dbh;
$date = strftime("%Y-%m-%d",localtime) unless ($date);
my $query = "
- UPDATE serial SET claimdate=$date
+ UPDATE serial SET claimdate=$date,status=7
WHERE serialid in ".join (",",@$serialids);
;
my $rq = $dbh->prepare($query);
@@ -674,15 +674,13 @@
sub GetSerials2 {
my ($subscription,$status) = @_;
my $dbh = C4::Context->dbh;
-# use Data::Dumper;warn Dumper($hashconstraints);
- # OK, now add the last 5 issues arrives/missing
- my $query = "SELECT serialid,serialseq, status, planneddate, publisheddate,notes
- FROM serial";
-# $query.=" WHERE ".join (" AND ",map {join("=",$_,$hashconstraints->{$_})} keys %$hashconstraints);
- $query.=" WHERE subscriptionid=$subscription AND status=$status";
- $query.= " ORDER BY publisheddate,serialid DESC
- ";
- warn $query;
+ my $query = qq|
+ SELECT serialid,serialseq, status, planneddate, publisheddate,notes
+ FROM serial
+ WHERE subscriptionid=$subscription AND status=$status
+ ORDER BY publisheddate,serialid DESC
+ |;
+# warn $query;
my $sth=$dbh->prepare($query);
$sth->execute;
my @serials;
@@ -1711,13 +1709,13 @@
return $mainsth->rows;
}
-=head2 GetMissingIssues
+=head2 GetLateOrMissingIssues
=over 4
-($count, at issuelist) = &GetMissingIssues($supplierid,$serialid)
+($count, at issuelist) = &GetLateMissingIssues($supplierid,$serialid)
-this function select missing issues on database - where serial.status = 4
+this function select missing issues on database - where serial.status = 4 or serial.status=3 or planneddate<now
return :
a count of the number of missing issues
@@ -1728,14 +1726,19 @@
=cut
-sub GetMissingIssues {
- my ( $supplierid, $serialid ) = @_;
+sub GetLateOrMissingIssues {
+ my ( $supplierid, $serialid,$order ) = @_;
my $dbh = C4::Context->dbh;
my $sth;
my $byserial = '';
if ($serialid) {
$byserial = "and serialid = " . $serialid;
}
+ if ($order){
+ $order.=", title";
+ } else {
+ $order="title";
+ }
if ($supplierid) {
$sth = $dbh->prepare(
"SELECT
@@ -1745,30 +1748,18 @@
biblio.title,
planneddate,
serialseq,
+ serial.status,
serial.subscriptionid,
claimdate
-FROM
- serial
- LEFT JOIN
- subscription
- ON serial.subscriptionid=subscription.subscriptionid
- LEFT JOIN
- biblio
- ON serial.biblionumber=biblio.biblionumber
- LEFT JOIN
- aqbooksellers
- ON subscription.aqbooksellerid = aqbooksellers.id
-WHERE
- subscription.subscriptionid = serial.subscriptionid
- AND
- serial.STATUS = 4
- AND
- subscription.aqbooksellerid=$supplierid
- AND
- biblio.biblionumber = subscription.biblionumber "
- . $byserial
- . "
-ORDER BY title"
+FROM serial
+LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid
+LEFT JOIN biblio ON serial.biblionumber=biblio.biblionumber
+LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id
+WHERE subscription.subscriptionid = serial.subscriptionid
+AND (serial.STATUS = 4 OR ((planneddate < now() AND serial.STATUS =1) OR serial.STATUS = 3))
+AND subscription.aqbooksellerid=$supplierid
+$byserial
+ORDER BY $order"
);
}
else {
@@ -1780,27 +1771,22 @@
biblio.title,
planneddate,
serialseq,
+ serial.status,
serial.subscriptionid,
claimdate
-FROM
- serial
- LEFT JOIN
- subscription
- ON serial.subscriptionid=subscription.subscriptionid
- LEFT JOIN
- biblio
- ON serial.biblionumber=biblio.biblionumber
- LEFT JOIN
- aqbooksellers
- ON subscription.aqbooksellerid = aqbooksellers.id
+FROM serial
+LEFT JOIN subscription
+ON serial.subscriptionid=subscription.subscriptionid
+LEFT JOIN biblio
+ON serial.biblionumber=biblio.biblionumber
+LEFT JOIN aqbooksellers
+ON subscription.aqbooksellerid = aqbooksellers.id
WHERE
subscription.subscriptionid = serial.subscriptionid
- AND
- serial.STATUS = 4
- AND
- biblio.biblionumber = subscription.biblionumber "
-. $byserial
-. " ORDER BY title"
+AND (serial.STATUS = 4 OR ((planneddate < now() AND serial.STATUS =1) OR serial.STATUS = 3))
+AND biblio.biblionumber = subscription.biblionumber
+$byserial
+ORDER BY $order"
);
}
$sth->execute;
@@ -1809,11 +1795,11 @@
my $odd = 0;
my $count = 0;
while ( my $line = $sth->fetchrow_hashref ) {
- warn "".$line->{title};
$odd++ unless $line->{title} eq $last_title;
$last_title = $line->{title} if ( $line->{title} );
$line->{planneddate} = format_date( $line->{planneddate} );
$line->{claimdate} = format_date( $line->{claimdate} );
+ $line->{"status".$line->{status}} = 1;
$line->{'odd'} = 1 if $odd % 2;
$count++;
push @issuelist, $line;
Index: koha-tmpl/intranet-tmpl/prog/en/serials/claims.tmpl
===================================================================
RCS file: /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/prog/en/serials/claims.tmpl,v
retrieving revision 1.2.2.1
retrieving revision 1.2.2.2
diff -u -b -r1.2.2.1 -r1.2.2.2
--- koha-tmpl/intranet-tmpl/prog/en/serials/claims.tmpl 13 Dec 2006 19:45:04 -0000 1.2.2.1
+++ koha-tmpl/intranet-tmpl/prog/en/serials/claims.tmpl 14 Dec 2006 12:59:23 -0000 1.2.2.2
@@ -4,6 +4,18 @@
<!-- TMPL_INCLUDE NAME="menus.inc" -->
<!--TMPL_INCLUDE NAME="menu-serials.inc" -->
+
+<script type="text/javascript">
+function Setorder(myorder){
+ if (document.claims.elements['order'].value == myorder){
+ document.claims.elements['order'].value=myorder+' desc';
+ } else {
+ document.claims.elements['order'].value=myorder;
+ }
+ document.claims.elements['op'].value="";
+ document.claims.submit();
+}
+</script>
<div id="mainbloc">
<!-- TMPL_ELSE -->
<!-- TMPL_INCLUDE NAME="popup-top.inc" -->
@@ -14,7 +26,7 @@
<h1>Claims</h1>
<p>
- <form action="claims.pl" method="post">
+ <form name="claims" action="claims.pl" method="post">
<!-- TMPL_VAR name="CGIsupplier" -->
</p>
<p>
@@ -26,28 +38,35 @@
<!--/TMPL_LOOP-->
</select>
<!--TMPL_ELSE-->
- No Letter defined. Please Define One
+ No Letter defined. Please Define One. The list of expected issues is displayed.
<!--/TMPL_IF-->
</p>
-<input type="hidden" name="op" value="send_alert" />
+
+<input type="hidden" name="order" value="<!--TMPL_VAR Name="order"-->" />
+<input type="hidden" name="op" value="" />
<!-- TMPL_IF NAME="missingissues" -->
<h3>Missing Issues</h3>
<table cellpadding="0" cellspacing="0" border="0" class="collapse">
<tr>
+ <!--TMPL_IF Name=letter-->
<th class="cell-header"> </th>
+ <!--/TMPL_IF-->
<th class="cell-header">Supplier</th>
<th class="cell-header">Title</th>
<th class="cell-header">Issue number</th>
- <th class="cell-header">Missing since</th>
+ <th class="cell-header">Status <a href="javascript:Setorder('status');">sort</a></th>
+ <th class="cell-header">Since <a href="javascript:Setorder('planneddate');">sort</a></th>
<th class="cell-header">Began Claim</th>
</tr>
<!-- TMPL_LOOP name="missingissues" -->
<tr>
+ <!--TMPL_IF Name=letter-->
<td class="cell">
- <input type="checkbox" name="serialid" value="<!-- TMPL_VAR NAME="serialid"-->">
+ <input type="checkbox" name="serialid" value="<!-- TMPL_VAR NAME="serialid"-->" onclick="document.claims.op='send_alert';">
</td>
+ <!--/TMPL_IF-->
<td class="cell">
<!-- TMPL_VAR name="name" -->
</td>
@@ -58,6 +77,13 @@
<!-- TMPL_VAR name="serialseq" -->
</td>
<td class="cell">
+ <!-- TMPL_IF Name="status1" -->Waited<!-- /TMPL_IF -->
+ <!-- TMPL_IF Name="status2" -->Arrived<!-- /TMPL_IF -->
+ <!-- TMPL_IF Name="status3" -->Late<!-- /TMPL_IF -->
+ <!-- TMPL_IF Name="status4" -->Missing<!-- /TMPL_IF -->
+ <!-- TMPL_IF Name="status7" -->Claimed<!-- /TMPL_IF -->
+ </td>
+ <td class="cell">
<!-- TMPL_VAR name="planneddate" -->
</td>
<td class="cell">
@@ -79,7 +105,9 @@
name="supplierid" -->,''); return false" class="button">Supplier Group Claim Letter</a></p> -->
<!-- /TMPL_IF -->
<p><br/>
+<!--TMPL_IF Name=letter-->
<input type="submit" name="submit" class="button" value="Send letter" />
+<!--/TMPL_IF-->
</form>
<!-- TMPL_ELSE -->
Index: serials/claims.pl
===================================================================
RCS file: /cvsroot/koha/koha/serials/claims.pl,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -b -r1.1.2.2 -r1.1.2.3
--- serials/claims.pl 13 Dec 2006 19:45:04 -0000 1.1.2.2
+++ serials/claims.pl 14 Dec 2006 12:59:23 -0000 1.1.2.3
@@ -6,6 +6,7 @@
use C4::Serials;
use C4::Acquisition;
use C4::Output;
+use C4::Bookseller;
use C4::Interface::CGI::Output;
use C4::Context;
use C4::Letters;
@@ -16,11 +17,13 @@
my $op = $input->param('op');
my $claimletter = $input->param('claimletter');
my $supplierid = $input->param('supplierid');
+my $order = $input->param('order');
+warn "order :$order";
my %supplierlist = GetSuppliersWithLateIssues;
my @select_supplier;
foreach my $supplierid (keys %supplierlist){
- my ($count, @dummy) = GetMissingIssues($supplierid);
+ my ($count, @dummy) = GetLateOrMissingIssues($supplierid,"",$order);
my $counting = $count;
$supplierlist{$supplierid} = $supplierlist{$supplierid}." ($counting)";
push @select_supplier, $supplierid
@@ -28,18 +31,19 @@
my @letters = GetLetters("claimissues");
my $letter=((scalar(@letters)>1)||($letters[0]->{name}||$letters[0]->{code}));
-my ($count2, @missingissues) = GetMissingIssues($supplierid,$serialid);
+my ($count2, @missingissues) = GetLateOrMissingIssues($supplierid,$serialid,$order);
my $CGIsupplier=CGI::scrolling_list( -name => 'supplierid',
-values => \@select_supplier,
-default => $supplierid,
-labels => \%supplierlist,
-size => 1,
- -multiple => 0 );
+ -multiple => 0
+ -onChange => 'onchange="submit();"');
my ($singlesupplier, at supplierinfo);
if($supplierid){
- ($singlesupplier, at supplierinfo)=bookseller($supplierid);
+ (@supplierinfo)=GetBookSeller($supplierid);
} else { # set up supplierid for the claim links out of main table if all suppliers is chosen
for(my $i=0; $i<@missingissues;$i++){
$missingissues[$i]->{'supplierid'} = getsupplierbyserialid($missingissues[$i]->{'serialid'});
@@ -70,6 +74,7 @@
$template->param('letters'=>\@letters,'letter'=>$letter);
$template->param(
+ order =>$order,
CGIsupplier => $CGIsupplier,
preview => $preview,
missingissues => \@missingissues,
More information about the Koha-cvs
mailing list