Bug 8782: Close a subscription
If a subscription is no longer enough published (or we are not waiting for a new periodical) we are allowed to close it. If a subscription is closed, we are not able to receive or generate a new serial. On the serial module, we can now - close a subscriptionn - reopen a closed subscription On serial search 2 tabs is displayed (opened and closed subscriptions). This patch adds: - a new field subscription.closed in DB - a new status for serials (8 = stopped) Test plan: - search subscriptions - close a subscription and check that you cannot receive or generate a new serial - launch another search and check that the closed serial is into the "closed" tab. - You are allowed to reopen a subscription on the subscription detail page and on the subscription result page. A javascript alert ask you if are certain to do this operation. - Check the serial status "stopped" everywhere the status is displayed (catalogue/detail.pl, serials/claims.pl, serials/serial-issues-full.pl, serials/serials-collection.pl, serials/serials-edit.pl, serials/serials-recieve.pl, serials/subscription-detail.pl and opac-full-serial-issues.pl) - The report statistics does not include the closed subscriptions if you don't check the "Include expired subscriptions" checkbox. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Bug 8782: Followup: add some minor modifications - Show 'closed' information in biblio detail page - Add a column in serials report table - Search subscriptions on title words instead of string - Prevent serials editing when subscription is closed - Don't change status of "disabled" serials Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Bug 8782 - Close a subscription - Followup - Fix updatedatabase.pl Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
parent
eb570a2052
commit
c39380ed4e
|
|
@ -93,7 +93,13 @@ sub GetSuppliersWithLateIssues {
|
|||
FROM subscription
|
||||
LEFT JOIN serial ON serial.subscriptionid=subscription.subscriptionid
|
||||
LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id
|
||||
WHERE id > 0 AND ((planneddate < now() AND serial.status=1) OR serial.STATUS = 3 OR serial.STATUS = 4) ORDER BY name|;
|
||||
WHERE id > 0
|
||||
AND (
|
||||
(planneddate < now() AND serial.status=1)
|
||||
OR serial.STATUS = 3 OR serial.STATUS = 4
|
||||
)
|
||||
AND subscription.closed = 0
|
||||
ORDER BY name|;
|
||||
return $dbh->selectall_arrayref($query, { Slice => {} });
|
||||
}
|
||||
|
||||
|
|
@ -122,6 +128,7 @@ sub GetLateIssues {
|
|||
LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id
|
||||
WHERE ((planneddate < now() AND serial.STATUS =1) OR serial.STATUS = 3)
|
||||
AND subscription.aqbooksellerid=?
|
||||
AND subscription.closed = 0
|
||||
ORDER BY title
|
||||
|;
|
||||
$sth = $dbh->prepare($query);
|
||||
|
|
@ -134,6 +141,7 @@ sub GetLateIssues {
|
|||
LEFT JOIN biblio ON biblio.biblionumber = subscription.biblionumber
|
||||
LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id
|
||||
WHERE ((planneddate < now() AND serial.STATUS =1) OR serial.STATUS = 3)
|
||||
AND subscription.closed = 0
|
||||
ORDER BY title
|
||||
|;
|
||||
$sth = $dbh->prepare($query);
|
||||
|
|
@ -662,8 +670,16 @@ sub SearchSubscriptions {
|
|||
push @where_args, $args->{biblionumber};
|
||||
}
|
||||
if( $args->{title} ){
|
||||
push @where_strs, "biblio.title LIKE ?";
|
||||
push @where_args, "%$args->{title}%";
|
||||
my @words = split / /, $args->{title};
|
||||
my (@strs, @args);
|
||||
foreach my $word (@words) {
|
||||
push @strs, "biblio.title LIKE ?";
|
||||
push @args, "%$word%";
|
||||
}
|
||||
if (@strs) {
|
||||
push @where_strs, '(' . join (' AND ', @strs) . ')';
|
||||
push @where_args, @args;
|
||||
}
|
||||
}
|
||||
if( $args->{issn} ){
|
||||
push @where_strs, "biblioitems.issn LIKE ?";
|
||||
|
|
@ -685,7 +701,10 @@ sub SearchSubscriptions {
|
|||
push @where_strs, "subscription.branchcode = ?";
|
||||
push @where_args, "$args->{branch}";
|
||||
}
|
||||
|
||||
if( defined $args->{closed} ){
|
||||
push @where_strs, "subscription.closed = ?";
|
||||
push @where_args, "$args->{closed}";
|
||||
}
|
||||
if(@where_strs){
|
||||
$query .= " WHERE " . join(" AND ", @where_strs);
|
||||
}
|
||||
|
|
@ -2465,6 +2484,54 @@ sub is_barcode_in_use {
|
|||
return @{$occurences};
|
||||
}
|
||||
|
||||
=head2 CloseSubscription
|
||||
Close a subscription given a subscriptionid
|
||||
=cut
|
||||
sub CloseSubscription {
|
||||
my ( $subscriptionid ) = @_;
|
||||
return unless $subscriptionid;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $sth = $dbh->prepare( qq{
|
||||
UPDATE subscription
|
||||
SET closed = 1
|
||||
WHERE subscriptionid = ?
|
||||
} );
|
||||
$sth->execute( $subscriptionid );
|
||||
|
||||
# Set status = missing when status = stopped
|
||||
$sth = $dbh->prepare( qq{
|
||||
UPDATE serial
|
||||
SET status = 8
|
||||
WHERE subscriptionid = ?
|
||||
AND status = 1
|
||||
} );
|
||||
$sth->execute( $subscriptionid );
|
||||
}
|
||||
|
||||
=head2 ReopenSubscription
|
||||
Reopen a subscription given a subscriptionid
|
||||
=cut
|
||||
sub ReopenSubscription {
|
||||
my ( $subscriptionid ) = @_;
|
||||
return unless $subscriptionid;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $sth = $dbh->prepare( qq{
|
||||
UPDATE subscription
|
||||
SET closed = 0
|
||||
WHERE subscriptionid = ?
|
||||
} );
|
||||
$sth->execute( $subscriptionid );
|
||||
|
||||
# Set status = expected when status = stopped
|
||||
$sth = $dbh->prepare( qq{
|
||||
UPDATE serial
|
||||
SET status = 1
|
||||
WHERE subscriptionid = ?
|
||||
AND status = 8
|
||||
} );
|
||||
$sth->execute( $subscriptionid );
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
|
|
|
|||
|
|
@ -155,6 +155,8 @@ foreach my $subscription (@subscriptions) {
|
|||
$cell{branchcode} = $subscription->{branchcode};
|
||||
$cell{branchname} = GetBranchName($subscription->{branchcode});
|
||||
$cell{hasalert} = $subscription->{hasalert};
|
||||
$cell{callnumber} = $subscription->{callnumber};
|
||||
$cell{closed} = $subscription->{closed};
|
||||
#get the three latest serials.
|
||||
$serials_to_display = $subscription->{staffdisplaycount};
|
||||
$serials_to_display = C4::Context->preference('StaffSerialIssueDisplayCount') unless $serials_to_display;
|
||||
|
|
|
|||
|
|
@ -1920,6 +1920,7 @@ CREATE TABLE `subscription` (
|
|||
`opacdisplaycount` VARCHAR(10) NULL,
|
||||
`graceperiod` int(11) NOT NULL default '0',
|
||||
`enddate` date default NULL,
|
||||
`closed ` INT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`subscriptionid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
|
|
|||
|
|
@ -6012,7 +6012,6 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
|||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
|
||||
$DBversion = "3.09.00.062";
|
||||
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
||||
$dbh->do("UPDATE systempreferences SET value=0 WHERE variable='NoZebra'");
|
||||
|
|
@ -6104,6 +6103,16 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
|||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.11.00.XXX";
|
||||
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
||||
$dbh->do(qq{
|
||||
ALTER TABLE subscription ADD COLUMN closed INT(1) NOT NULL DEFAULT 0 AFTER enddate;
|
||||
});
|
||||
|
||||
print "Upgrade to $DBversion done (Bug 8782: Add field subscription.closed)\n";
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
=head2 TableExists($table)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
[% IF ( subscriptionid ) %]
|
||||
<ul>
|
||||
<li><a href="serials-collection.pl?subscriptionid=[% subscriptionid %]">Serial collection</a></li>
|
||||
[% UNLESS closed %]
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
[% IF ( hasRouting ) %]
|
||||
<li><a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscriptionid %]">Edit routing list</a></li>
|
||||
|
|
@ -8,6 +9,7 @@
|
|||
<li><a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscriptionid %]&op=new">Create routing list</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
</ul>
|
||||
[% END %]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,18 @@
|
|||
<div id="toolbar"><script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
function confirm_close() {
|
||||
var is_confirmed = confirm(_("Are you sure you want to close this subscription?"));
|
||||
if (is_confirmed) {
|
||||
window.location="subscription-detail.pl?subscriptionid=[% subscriptionid %]&op=close";
|
||||
}
|
||||
}
|
||||
function confirm_reopen() {
|
||||
var is_confirmed = confirm(_("Are you sure you want to reopen this subscription?"));
|
||||
if (is_confirmed) {
|
||||
window.location="subscription-detail.pl?subscriptionid=[% subscriptionid %]&op=reopen";
|
||||
}
|
||||
}
|
||||
// prepare DOM for YUI Toolbar
|
||||
|
||||
$(document).ready(function() {
|
||||
|
|
@ -50,6 +62,8 @@ onclick: {fn:function(){popup([% subscriptionid %])}}
|
|||
[% END %]
|
||||
new YAHOO.widget.Button("renew");
|
||||
new YAHOO.widget.Button("receive");
|
||||
new YAHOO.widget.Button("close");
|
||||
new YAHOO.widget.Button("reopen");
|
||||
[% END %]
|
||||
}
|
||||
|
||||
|
|
@ -57,38 +71,49 @@ onclick: {fn:function(){popup([% subscriptionid %])}}
|
|||
</script>
|
||||
<ul class="toolbar">
|
||||
[% IF ( CAN_user_serials_create_subscription ) %]
|
||||
[% IF ( biblionumber_for_new_subscription ) %]
|
||||
<li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber_for_new_subscription %]">New subscription</a></li>
|
||||
[% ELSE %]
|
||||
<li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New subscription</a></li>
|
||||
[% END %]
|
||||
[% IF ( biblionumber_for_new_subscription ) %]
|
||||
<li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=[% biblionumber_for_new_subscription %]">New subscription</a></li>
|
||||
[% ELSE %]
|
||||
<li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New subscription</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% IF ( subscriptionid ) %]
|
||||
[% IF ( subscriptionid ) %]
|
||||
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
<li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=modify&subscriptionid=[% subscriptionid %]">Edit</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription ) %]
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
<li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=modify&subscriptionid=[% subscriptionid %]">Edit</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF ( CAN_user_serials_create_subscription ) %]
|
||||
<li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=[% subscriptionid %]">Duplicate </a></li>
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_create_subscription ) %]
|
||||
<li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=[% subscriptionid %]">Duplicate </a></li>
|
||||
[% END %]
|
||||
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
[% IF ( CAN_user_serials_renew_subscription ) %]
|
||||
<li id="renewc"><a id="renew" href="#" onclick="popup([% subscriptionid %])">Renew </a></li>
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]
|
||||
<li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscriptionid %]&serstatus=1,3">Receive</a></li>
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_delete_subscription ) %]
|
||||
<li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% UNLESS ( cannotedit ) %]
|
||||
[% UNLESS closed %]
|
||||
[% IF ( CAN_user_serials_renew_subscription ) %]
|
||||
<li id="renewc"><a id="renew" href="#" onclick="popup([% subscriptionid %])">Renew </a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]
|
||||
[% UNLESS closed %]
|
||||
<li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscriptionid %]&serstatus=1,3">Receive</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF CAN_user_serials_edit_subscription %]
|
||||
[% IF closed %]
|
||||
<li><a id="reopen" href="javascript:confirm_reopen();">Reopen</a></li>
|
||||
[% ELSE %]
|
||||
<li><a id="close" href="javascript:confirm_close();">Close</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( CAN_user_serials_delete_subscription ) %]
|
||||
<li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -476,6 +476,8 @@ function verify_images() {
|
|||
[% FOREACH subscription IN subscriptions %]
|
||||
[% IF ( subscription.branchname ) %]<h3>At library: [% subscription.branchname %]</h3>[% ELSE %]
|
||||
[% IF ( subscription.branchcode ) %]<h3>At library: [% subscription.branchcode %]</h3>[% END %][% END %]
|
||||
[% IF ( subscription.closed ) %]<p>This subscription is closed.</p>[% END %]
|
||||
[% IF ( subscription.callnumber ) %]<p>Callnumber: [% subscription.callnumber %] </p>[% END %]
|
||||
[% IF ( subscription.subscriptionnotes ) %]<p>[% subscription.subscriptionnotes FILTER html_line_break %] </p>[% END %]
|
||||
[% IF ( subscription.missinglist ) %]<p>Missing issues: [% subscription.missinglist %] </p>[% END %]
|
||||
[% IF ( subscription.librariannote ) %]<p>([% subscription.librariannote %])</p>[% END %]
|
||||
|
|
@ -492,20 +494,16 @@ function verify_images() {
|
|||
<tr>
|
||||
<td>[% latestserial.serialseq %]</td>
|
||||
<td>[% latestserial.planneddate %]</td>
|
||||
<td>[% IF ( latestserial.status1 ) %]Expected
|
||||
[% ELSE %]
|
||||
[% IF ( latestserial.status2 ) %]Arrived
|
||||
[% ELSE %]
|
||||
[% IF ( latestserial.status3 ) %]Late
|
||||
[% ELSE %]
|
||||
[% IF ( latestserial.status4 ) %]Missing
|
||||
[% ELSE %]
|
||||
[% IF ( latestserial.status5 ) %]Not issued
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]</td>
|
||||
<td>
|
||||
[% IF ( latestserial.status1 ) %]Expected[% END %]
|
||||
[% IF ( latestserial.status2 ) %]Arrived[% END %]
|
||||
[% IF ( latestserial.status3 ) %]Late[% END %]
|
||||
[% IF ( latestserial.status4 ) %]Missing[% END %]
|
||||
[% IF ( latestserial.status5 ) %]Not issued[% END %]
|
||||
[% IF ( latestserial.status6 ) %]Delete[% END %]
|
||||
[% IF ( latestserial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( latestserial.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
<td>[% latestserial.notes %]</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
<th>Call number</th>
|
||||
<th>Subscription begin</th>
|
||||
<th>Subscription end</th>
|
||||
<th>Expired? / Closed?</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -50,6 +51,13 @@
|
|||
<td>[% data.callnumber %]</td>
|
||||
<td>[% data.startdate %]</td>
|
||||
<td>[% data.enddate %]</td>
|
||||
<td>
|
||||
[% IF data.closed %]
|
||||
Closed
|
||||
[% ELSIF data.expired %]
|
||||
Expired
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@
|
|||
<option>Late</option>
|
||||
<option>Missing</option>
|
||||
<option>Claimed</option>
|
||||
<option>Stopped</option>
|
||||
</select>
|
||||
</li>
|
||||
|
||||
|
|
@ -284,6 +285,7 @@
|
|||
[% IF ( missingissue.status3 ) %]Late[% END %]
|
||||
[% IF ( missingissue.status4 ) %]Missing[% END %]
|
||||
[% IF ( missingissue.status7 ) %]Claimed[% END %]
|
||||
[% IF ( missingissue.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
<td class="planneddate">
|
||||
[% missingissue.planneddate %]
|
||||
|
|
|
|||
|
|
@ -68,12 +68,14 @@ function active(numlayer)
|
|||
[% serial.serialseq %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( serial.status1 ) %]Arrived[% END %]
|
||||
[% IF ( serial.status2 ) %]Expected[% END %]
|
||||
[% IF ( serial.status3 ) %]Late[% END %]
|
||||
[% IF ( serial.status4 ) %]Missing[% END %]
|
||||
[% IF ( serial.status5 ) %]Not available[% END %]
|
||||
[% IF ( serial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( serial.status1 ) %]Expected[% END %]
|
||||
[% IF ( serial.status2 ) %]Arrived[% END %]
|
||||
[% IF ( serial.status3 ) %]Late[% END %]
|
||||
[% IF ( serial.status4 ) %]Missing[% END %]
|
||||
[% IF ( serial.status5 ) %]Not issued[% END %]
|
||||
[% IF ( serial.status6 ) %]Delete[% END %]
|
||||
[% IF ( serial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( serial.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
|
|
|||
|
|
@ -176,22 +176,33 @@ $(document).ready(function() {
|
|||
[% END %]</td>
|
||||
<td> [% subscription.branchcode %]</td>
|
||||
<td> [% subscription.callnumber %]</td>
|
||||
<td> [% subscription.notes %] [% IF ( subscription.subscriptionexpired ) %]<br /><span class="problem"> Subscription expired</span>
|
||||
[% END %]
|
||||
<td> [% subscription.notes %]
|
||||
[% UNLESS subscription.closed %]
|
||||
[% IF ( subscription.subscriptionexpired ) %]
|
||||
<br /><span class="problem"> Subscription expired</span>
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
<br /> Subscription closed
|
||||
[% END %]
|
||||
</td>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
|
||||
[% UNLESS subscription.closed %]
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
|
||||
[% END %]
|
||||
</td>
|
||||
[% END %]
|
||||
[% IF ( subscription.abouttoexpire ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
|
||||
[% UNLESS subscription.closed %]
|
||||
[% IF ( subscription.abouttoexpire ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
|
||||
[% ELSE %]
|
||||
[% IF ( subscription.subscriptionexpired ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
|
||||
[% ELSE %]
|
||||
<td> </td>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
[% IF ( subscription.subscriptionexpired ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
|
||||
[% ELSE %]
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
</tr>
|
||||
[% END %]
|
||||
[% IF ( subscr ) %]
|
||||
|
|
@ -219,8 +230,10 @@ $(document).ready(function() {
|
|||
[% IF ( CAN_user_serials_receive_serials ) %]
|
||||
<p>
|
||||
<input type="submit" value="Edit serials" />
|
||||
<input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
|
||||
[% IF ( subscriptions.size == 1 and !serialsadditems ) %] <input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
|
||||
[% UNLESS subscription.closed %]
|
||||
<input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
|
||||
[% IF ( subscriptions.size == 1 and !serialsadditems ) %] <input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
|
||||
[% END %]
|
||||
</p>
|
||||
[% END %]
|
||||
<span class="checkall">
|
||||
|
|
@ -284,7 +297,14 @@ $(document).ready(function() {
|
|||
[% serial.serialseq %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( serial.status1 ) %]Expected[% END %][% IF ( serial.status2 ) %]Arrived[% END %][% IF ( serial.status3 ) %]Late[% END %][% IF ( serial.status4 ) %]Missing[% END %][% IF ( serial.status5 ) %]Not Available[% END %][% IF ( serial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( latestserial.status1 ) %]Expected[% END %]
|
||||
[% IF ( latestserial.status2 ) %]Arrived[% END %]
|
||||
[% IF ( latestserial.status3 ) %]Late[% END %]
|
||||
[% IF ( latestserial.status4 ) %]Missing[% END %]
|
||||
[% IF ( latestserial.status5 ) %]Not issued[% END %]
|
||||
[% IF ( latestserial.status6 ) %]Delete[% END %]
|
||||
[% IF ( latestserial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( latestserial.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% serial.notes %]
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ $(document).ready(function() {
|
|||
</td>
|
||||
<td>
|
||||
[% IF ( serialslis.editdisable ) %]
|
||||
<input type="hidden" name="status" id="status[% serialslis.serialid %]" value="1">
|
||||
<input type="hidden" name="status" id="status[% serialslis.serialid %]" value="[% serialslis.serstatus %]">
|
||||
<select name="status" size="1" disabled="disabled">
|
||||
[% ELSE %]
|
||||
[% IF ( serialslis.serialsadditems ) %]
|
||||
|
|
@ -177,39 +177,42 @@ $(document).ready(function() {
|
|||
<select name="status" size="1" id="status[% serialslis.serialid %]" onchange="if (this.value==2 || this.value==7){changeDate(this, '[% serialslis.arriveddate %]')} else {changeDate(this, '[% serialslis.planneddate %]')}" >
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( serialslis.status1 ) %]
|
||||
<option value="1" selected="selected">Expected</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status2 ) %]
|
||||
<option value="2" selected="selected">Arrived</option>
|
||||
[% ELSE %]
|
||||
<option value="2">Arrived</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status3 ) %]
|
||||
<option value="3" selected="selected">Late</option>
|
||||
[% ELSE %]
|
||||
<option value="3">Late</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status4 ) %]
|
||||
<option value="4" selected="selected">Missing</option>
|
||||
[% ELSE %]
|
||||
<option value="4">Missing</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status7 ) %]
|
||||
<option value="7" selected="selected">Claimed</option>
|
||||
[% ELSE %]
|
||||
<option value="7">Claimed</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status5 ) %]
|
||||
<option value="5" selected="selected">Not available</option>
|
||||
[% ELSE %]
|
||||
<option value="5">Not available</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status6 ) %]
|
||||
<option value="6" selected="selected">Delete</option>
|
||||
[% ELSE %]
|
||||
<option value="6">Delete</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status1 ) %]
|
||||
<option value="1" selected="selected">Expected</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status2 ) %]
|
||||
<option value="2" selected="selected">Arrived</option>
|
||||
[% ELSE %]
|
||||
<option value="2">Arrived</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status3 ) %]
|
||||
<option value="3" selected="selected">Late</option>
|
||||
[% ELSE %]
|
||||
<option value="3">Late</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status4 ) %]
|
||||
<option value="4" selected="selected">Missing</option>
|
||||
[% ELSE %]
|
||||
<option value="4">Missing</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status7 ) %]
|
||||
<option value="7" selected="selected">Claimed</option>
|
||||
[% ELSE %]
|
||||
<option value="7">Claimed</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status5 ) %]
|
||||
<option value="5" selected="selected">Not available</option>
|
||||
[% ELSE %]
|
||||
<option value="5">Not available</option>
|
||||
[% END %]
|
||||
[% IF ( serialslis.status6 ) %]
|
||||
<option value="6" selected="selected">Delete</option>
|
||||
[% ELSE %]
|
||||
<option value="6">Delete</option>
|
||||
[% END %]
|
||||
[% IF serialslis.status8 %]
|
||||
<option value="8" selected="selected">Stopped</option>
|
||||
[% END %]
|
||||
</select>
|
||||
|
||||
</td>
|
||||
|
|
@ -284,39 +287,42 @@ $(document).ready(function() {
|
|||
<select name="status" size="1" id="addstatus[% newserialloo.serialid %]" onchange="if (this.value==2){unHideItems('items'+'[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]','[% newserialloo.serialid %]'); changeDate2('[% newserialloo.arriveddate %]')} else if (this.value==7){changeDate('[% newserialloo.arriveddate %]')} else { HideItems('items'+'[% newserialloo.subscriptionid %]'+[% newserialloo.serialid %],'label[% serialslis.subscriptionid %][% serialslis.serialid %]'); changeDate2('[% serialslis.planneddate %]')}" >
|
||||
|
||||
<option value="">----</option>
|
||||
[% IF ( newserialloo.status1 ) %]
|
||||
[% IF ( newserialloo.status1 ) %]
|
||||
<option value="1" selected="selected">Expected</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status2 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status2 ) %]
|
||||
<option value="2" selected="selected">Arrived</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="2">Arrived</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status3 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status3 ) %]
|
||||
<option value="3" selected="selected">Late</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="3">Late</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status4 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status4 ) %]
|
||||
<option value="4" selected="selected">Missing</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="4">Missing</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status7 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status7 ) %]
|
||||
<option value="7" selected="selected">Claimed</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="7">Claimed</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status5 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status5 ) %]
|
||||
<option value="5" selected="selected">Not available</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="5">Not available</option>
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status6 ) %]
|
||||
[% END %]
|
||||
[% IF ( newserialloo.status6 ) %]
|
||||
<option value="6" selected="selected">Delete</option>
|
||||
[% ELSE %]
|
||||
[% ELSE %]
|
||||
<option value="6">Delete</option>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF newserialloo.status8 %]
|
||||
<option value="8" selected="selected">Stopped</option>
|
||||
[% END %]
|
||||
</select>
|
||||
|
||||
</td>
|
||||
|
|
@ -387,7 +393,9 @@ $(document).ready(function() {
|
|||
<li><a href="serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]" title="serial collection for [% subscription.bibliotitle %]">Serial collection #[% subscription.subscriptionid %]</a></li>
|
||||
<li><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" title="detail of the subscription">Subscription #[% subscription.subscriptionid %]</a></li>
|
||||
[% IF ( subscription.abouttoexpire ) %]
|
||||
[% UNLESS subscription.closed %]
|
||||
<li><a href="#" onclick="javascript:popup([% subscription.subscriptionid %])">Renew #[% subscription.subscriptionid %]</a></li>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
<li><a href="/cgi-bin/koha/catalogue/[% default_bib_view %].pl?biblionumber=[% biblionumber %]" title="go to [% bibliotitle %]">Show biblio</a></li></ul>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,9 @@ function barcode_check(){
|
|||
[% ELSE %]
|
||||
<option value="6">Delete</option>
|
||||
[% END %]
|
||||
[% IF serialslis.status8 %]
|
||||
<option value="8" selected="selected">Stopped</option>
|
||||
[% END %]
|
||||
</select>
|
||||
[% IF ( serialslis.serialadditems ) %]
|
||||
<br /><br />
|
||||
|
|
|
|||
|
|
@ -9,14 +9,25 @@
|
|||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).ready(function() {
|
||||
var srlt = $("#srlt").dataTable($.extend(true, {}, dataTablesDefaults, {
|
||||
var osrlt = $("#osrlt").dataTable($.extend(true, {}, dataTablesDefaults, {
|
||||
"aoColumnDefs": [
|
||||
{ "aTargets": [ -1, -2, -3 ], "bSortable": false, "bSearchable": false },
|
||||
],
|
||||
"sPaginationType": "four_button"
|
||||
} ) );
|
||||
|
||||
srlt.fnAddFilters("filter", 750);
|
||||
var csrlt = $("#csrlt").dataTable($.extend(true, {}, dataTablesDefaults, {
|
||||
"aoColumnDefs": [
|
||||
{ "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
|
||||
],
|
||||
"sPaginationType": "four_button"
|
||||
} ) );
|
||||
|
||||
osrlt.fnAddFilters("filter", 750);
|
||||
csrlt.fnAddFilters("filter", 750);
|
||||
|
||||
$('#serialstabs').tabs();
|
||||
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
|
|
@ -33,9 +44,9 @@
|
|||
<div class="yui-b">
|
||||
[% INCLUDE 'serials-toolbar.inc' %]
|
||||
|
||||
<h2>Serials subscriptions</h2>
|
||||
<h2>Serials subscriptions ([% total %] found)</h2>
|
||||
[% UNLESS ( done_searched ) %]
|
||||
<div id="advsearch">
|
||||
<div id="advsearch" style="padding-bottom:3em;">
|
||||
<form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
|
||||
<fieldset class="rows">
|
||||
<legend>Search subscriptions</legend>
|
||||
|
|
@ -85,86 +96,160 @@
|
|||
</div>
|
||||
[% END %]
|
||||
[% IF ( done_searched ) %]
|
||||
[% IF ( subscriptions ) %]
|
||||
<table id="srlt">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ISSN</th>
|
||||
<th>Title</th>
|
||||
<th> Notes </th>
|
||||
<th>Library</th>
|
||||
<th>Call number</th>
|
||||
<th>Expiration date</th>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
<th>Routing list</th>
|
||||
[% END %]
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="4" placeholder="Search callnumber" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="5" placeholder="Search expiration date" /></td>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]<td></td>[% END %]
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
[% FOREACH subscription IN subscriptions %]
|
||||
<tr>
|
||||
<td>
|
||||
[% IF ( subscription.issn ) %][% subscription.issn %]
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
|
||||
</td>
|
||||
<td>[% IF ( subscription.notes ) %][% subscription.notes %][% END %]
|
||||
[% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.branchname ) %][% subscription.branchname %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.enddate ) %][% subscription.enddate | $KohaDates %][% END %]
|
||||
</td>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
<td>
|
||||
[% IF ( subscription.cannotedit ) %]
|
||||
|
||||
[% ELSE %]
|
||||
[% IF ( subscription.routingedit ) %]
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit</a>
|
||||
([% subscription.routingedit %])
|
||||
[% ELSE %]
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&op=new">New</a>
|
||||
[% END %]
|
||||
[% IF ( total ) %]
|
||||
<div id="serialstabs" class="toptabs" style="clear:both;">
|
||||
<ul class="ui-tabs-nav">
|
||||
<li><a href="#opened">Opened ([% openedsubscriptions.size || 0 %])</a></li>
|
||||
<li><a href="#closed">Closed ([% closedsubscriptions.size || 0 %])</a></li>
|
||||
</ul>
|
||||
<div id="opened">
|
||||
[% IF openedsubscriptions %]
|
||||
<table id="osrlt">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ISSN</th>
|
||||
<th>Title</th>
|
||||
<th> Notes </th>
|
||||
<th>Library</th>
|
||||
<th>Call number</th>
|
||||
<th>Expiration date</th>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
<th>Routing list</th>
|
||||
[% END %]
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="4" placeholder="Search callnumber" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="5" placeholder="Search expiration date" /></td>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]<td></td>[% END %]
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
[% FOREACH subscription IN openedsubscriptions %]
|
||||
<tr>
|
||||
<td>
|
||||
[% IF ( subscription.issn ) %][% subscription.issn %]
|
||||
[% END %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
|
||||
</td>
|
||||
<td>[% IF ( subscription.notes ) %][% subscription.notes %][% END %]
|
||||
[% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.branchname ) %][% subscription.branchname %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.enddate ) %][% subscription.enddate | $KohaDates %][% END %]
|
||||
</td>
|
||||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
<td>
|
||||
[% IF ( subscription.cannotedit ) %]
|
||||
|
||||
[% ELSE %]
|
||||
[% IF ( subscription.routingedit ) %]
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit</a>
|
||||
([% subscription.routingedit %])
|
||||
[% ELSE %]
|
||||
<a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&op=new">New</a>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
[% END %]
|
||||
<td><a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]">Issue history</a>
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.cannotedit ) %]
|
||||
|
||||
[% ELSE %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]<a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid %]&serstatus=1,3,7">Serial receive</a>[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
</td>
|
||||
[% END %]
|
||||
<td><a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]">Issue history</a>
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.cannotedit ) %]
|
||||
|
||||
[% ELSE %]
|
||||
[% IF ( CAN_user_serials_receive_serials ) %]<a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid %]&serstatus=1,3,7">Serial receive</a>[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
[% ELSE %]
|
||||
There is no opened subscription for your search.
|
||||
[% END %]
|
||||
</tbody>
|
||||
</table>
|
||||
[% ELSE %]
|
||||
There is no subscription for your search.
|
||||
</div>
|
||||
<div id="closed">
|
||||
[% IF closedsubscriptions %]
|
||||
<table id="csrlt">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ISSN</th>
|
||||
<th>Title</th>
|
||||
<th> Notes </th>
|
||||
<th>Library</th>
|
||||
<th>Call number</th>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
|
||||
<td><input type="text" class="filter" data-column_num="4" placeholder="Search callnumber" /></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
[% FOREACH subscription IN closedsubscriptions %]
|
||||
<tr>
|
||||
<td>
|
||||
[% IF ( subscription.issn ) %]
|
||||
[% subscription.issn %]
|
||||
[% END %]
|
||||
</td>
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.notes ) %][% subscription.notes %][% END %]
|
||||
[% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.branchname ) %][% subscription.branchname %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% UNLESS subscription.cannotedit %]
|
||||
<a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&searched=1&title_filter=[% title_filter %]&ISSN_filter=[% ISSN_filter %]&EAN_filter=[% EAN_filter %]&published_filter=[% publisher_filter %]&bookseller_filter=[% bookseller_filter %]&branch_filter=[% branch_filter %]" onclick="return confirm(_('Are you sure you want to reopen this subscription?'));">Reopen</a>
|
||||
[% ELSE %]
|
||||
Cannot edit
|
||||
[% END %]
|
||||
</td>
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]">Issue history</a>
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
</tbody>
|
||||
</table>
|
||||
[% ELSE %]
|
||||
There is no closed subscription for your search.
|
||||
[% END %]
|
||||
</div>
|
||||
</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -55,8 +55,12 @@ $(document).ready(function() {
|
|||
<div class="yui-b">
|
||||
[% INCLUDE 'serials-toolbar.inc' %]
|
||||
|
||||
<h1>Subscription for [% bibliotitle %] </h1>
|
||||
[% IF ( abouttoexpire ) %]<div class="dialog message">Subscription will expire [% enddate %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>[% END %]
|
||||
<h1>Subscription for [% bibliotitle%] [% IF closed %](closed)[% END %]</h1>
|
||||
[% IF ( abouttoexpire ) %]
|
||||
[% UNLESS closed %]
|
||||
<div class="dialog message">Subscription will expire [% enddate %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( NEEDSCONFIRMATION ) %]
|
||||
<div id="circ_needsconfirmation" class="dialog alert">
|
||||
<h3>Please Confirm Subscription deletion</h3>
|
||||
|
|
@ -374,27 +378,19 @@ $(document).ready(function() {
|
|||
[% serialslis.publisheddate %]
|
||||
</td>
|
||||
<td>
|
||||
[% IF ( serialslis.status1 ) %]
|
||||
Expected
|
||||
[% END %]
|
||||
[% IF ( serialslis.status2 ) %]
|
||||
Arrived
|
||||
[% END %]
|
||||
[% IF ( serialslis.status3 ) %]
|
||||
Late
|
||||
[% END %]
|
||||
[% IF ( serialslis.status4 ) %]
|
||||
Missing
|
||||
[% END %]
|
||||
[% IF ( serialslis.status5 ) %]
|
||||
Not available
|
||||
[% END %]
|
||||
[% IF ( serialslis.status7 ) %]
|
||||
Claimed
|
||||
[% IF ( serialslis.claimdate ) %]
|
||||
[% serialslis.claimdate %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( serialslis.status1 ) %]Expected[% END %]
|
||||
[% IF ( serialslis.status2 ) %]Arrived[% END %]
|
||||
[% IF ( serialslis.status3 ) %]Late[% END %]
|
||||
[% IF ( serialslis.status4 ) %]Missing[% END %]
|
||||
[% IF ( serialslis.status5 ) %]Not issued[% END %]
|
||||
[% IF ( serialslis.status6 ) %]Delete[% END %]
|
||||
[% IF ( serialslis.status7 ) %]
|
||||
Claimed
|
||||
[% IF ( serialslis.claimdate ) %]
|
||||
[% serialslis.claimdate %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( serialslis.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
|
|
|||
|
|
@ -988,6 +988,8 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
|
|||
[% FOREACH subscription IN subscriptions %]
|
||||
[% IF ( subscription.branchname ) %]<h3>At library: [% subscription.branchname %]</h3>[% ELSE %]
|
||||
[% IF ( subscription.branchcode ) %]<h3>At library: [% subscription.branchcode %]</h3>[% END %][% END %]
|
||||
[% IF ( subscription.closed ) %]<p>This subscription is closed.</p>[% END %]
|
||||
<span style="display:none;"> [% IF ( subscription.callnumber ) %]<p>Callnumber: [% subscription.callnumber %]</p>[% END %]</span>
|
||||
[% IF ( subscription.subscriptionnotes ) %]<p>[% subscription.subscriptionnotes FILTER html_line_break %] </p>[% END %]
|
||||
<p>Subscription from: [% subscription.histstartdate | $KohaDates %] to:[% IF ( subscription.histenddate ) %] [% subscription.histenddate | $KohaDates %] [% ELSE %] now (current)[% END %]</p>
|
||||
[% IF ( subscription.missinglist ) %]<p>Missing issues: [% subscription.missinglist %] </p>[% END %]
|
||||
|
|
|
|||
|
|
@ -200,12 +200,15 @@ function showlayer(numlayer){
|
|||
</td>
|
||||
<td> [% serial.serialseq %]
|
||||
</td>
|
||||
<td> [% IF ( serial.status1 ) %]Waiting[% END %]
|
||||
[% IF ( serial.status2 ) %]Arrived[% END %]
|
||||
[% IF ( serial.status3 ) %]Late[% END %]
|
||||
[% IF ( serial.status4 ) %]Missing[% END %]
|
||||
[% IF ( serial.status5 ) %]Not available[% END %]
|
||||
[% IF ( serial.status7 ) %]Claimed[% END %]
|
||||
<td>
|
||||
[% IF ( serial.status1 ) %]Expected[% END %]
|
||||
[% IF ( serial.status2 ) %]Arrived[% END %]
|
||||
[% IF ( serial.status3 ) %]Late[% END %]
|
||||
[% IF ( serial.status4 ) %]Missing[% END %]
|
||||
[% IF ( serial.status5 ) %]Not available[% END %]
|
||||
[% IF ( serial.status6 ) %]Delete[% END %]
|
||||
[% IF ( serial.status7 ) %]Claimed[% END %]
|
||||
[% IF ( serial.status8 ) %]Stopped[% END %]
|
||||
</td>
|
||||
<td class="subscriptionidfilterclass"> [% serial.subscriptionid %]
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ my $sth = $dbh->prepare("
|
|||
WHERE serial.status = 1
|
||||
AND periodicity <> 32
|
||||
AND DATE_ADD(planneddate, INTERVAL CAST(graceperiod AS SIGNED) DAY) < NOW()
|
||||
AND subscription.closed = 0
|
||||
");
|
||||
$sth->execute();
|
||||
|
||||
|
|
|
|||
|
|
@ -471,6 +471,8 @@ foreach my $subscription (@subscriptions) {
|
|||
$cell{branchcode} = $subscription->{branchcode};
|
||||
$cell{branchname} = GetBranchName($subscription->{branchcode});
|
||||
$cell{hasalert} = $subscription->{hasalert};
|
||||
$cell{callnumber} = $subscription->{callnumber};
|
||||
$cell{closed} = $subscription->{closed};
|
||||
#get the three latest serials.
|
||||
$serials_to_display = $subscription->{opacdisplaycount};
|
||||
$serials_to_display = C4::Context->preference('OPACSerialIssueDisplayCount') unless $serials_to_display;
|
||||
|
|
|
|||
|
|
@ -96,9 +96,19 @@ if($do_it){
|
|||
while(my $row = $sth->fetchrow_hashref){
|
||||
$row->{'enddate'} = format_date(GetExpirationDate($row->{'subscriptionid'}));
|
||||
$row->{'startdate'} = format_date($row->{'startdate'});
|
||||
push @datas, $row if ($expired || (not $expired && not HasSubscriptionExpired($row->{subscriptionid})) );
|
||||
$row->{expired} = HasSubscriptionExpired($row->{subscriptionid});
|
||||
push @datas, $row if (
|
||||
$expired
|
||||
or (
|
||||
not $expired
|
||||
and (
|
||||
not $row->{expired}
|
||||
and not $row->{closed}
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
if($output eq 'screen'){
|
||||
$template->param(datas => \@datas,
|
||||
do_it => 1);
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ if ($date) {
|
|||
|
||||
$subscription->{expirationdate} = $expirationdate;
|
||||
next if $expirationdate !~ /\d{4}-\d{2}-\d{2}/; # next if not in ISO format.
|
||||
next if $subscription->{closed};
|
||||
if ( Date_to_Days(split "-",$expirationdate) < Date_to_Days(split "-",$date) &&
|
||||
Date_to_Days(split "-",$expirationdate) > Date_to_Days(&Today) ) {
|
||||
$subscription->{expirationdate}=format_date($subscription->{expirationdate});
|
||||
|
|
|
|||
|
|
@ -101,8 +101,10 @@ my $subscriptioncount;
|
|||
my ($location, $callnumber);
|
||||
if (@subscriptionid){
|
||||
my @subscriptioninformation=();
|
||||
my $closed = 0;
|
||||
foreach my $subscriptionid (@subscriptionid){
|
||||
my $subs= GetSubscription($subscriptionid);
|
||||
$closed = 1 if $subs->{closed};
|
||||
$subs->{opacnote} =~ s/\n/\<br\/\>/g;
|
||||
$subs->{missinglist} =~ s/\n/\<br\/\>/g;
|
||||
$subs->{recievedlist} =~ s/\n/\<br\/\>/g;
|
||||
|
|
@ -127,6 +129,7 @@ if (@subscriptionid){
|
|||
my $tmpsubscription= GetFullSubscription($subscriptionid);
|
||||
@subscriptioninformation=(@$tmpsubscription,@subscriptioninformation);
|
||||
}
|
||||
$template->param(closed => $closed);
|
||||
$subscriptions=PrepareSerialsData(\@subscriptioninformation);
|
||||
$subscriptioncount = CountSubscriptionFromBiblionumber($subscriptiondescs->[0]{'biblionumber'});
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ foreach my $serialid (@serialids) {
|
|||
)
|
||||
|| $serinfo->{'cannotedit'}
|
||||
);
|
||||
$serinfo->{editdisable} ||= ($serinfo->{status8} and $serinfo->{closed});
|
||||
push @serialdatalist, $serinfo;
|
||||
$processedserialid{$serialid} = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ my $biblionumber = $query->param('biblionumber') || '';
|
|||
my $branch = $query->param('branch_filter') || '';
|
||||
my $routing = $query->param('routing') || C4::Context->preference("RoutingSerials");
|
||||
my $searched = $query->param('searched') || 0;
|
||||
my @subscriptionids = $query ->param('subscriptionid');
|
||||
my $op = $query->param('op');
|
||||
|
||||
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
||||
{
|
||||
|
|
@ -58,6 +60,16 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|||
}
|
||||
);
|
||||
|
||||
if ( $op and $op eq "close" ) {
|
||||
for my $subscriptionid ( @subscriptionids ) {
|
||||
C4::Serials::CloseSubscription( $subscriptionid );
|
||||
}
|
||||
} elsif ( $op and $op eq "reopen" ) {
|
||||
for my $subscriptionid ( @subscriptionids ) {
|
||||
C4::Serials::ReopenSubscription( $subscriptionid );
|
||||
}
|
||||
}
|
||||
|
||||
my @subscriptions;
|
||||
if ($searched){
|
||||
@subscriptions = SearchSubscriptions(
|
||||
|
|
@ -81,6 +93,15 @@ if ($routing) {
|
|||
}
|
||||
}
|
||||
|
||||
my (@openedsubscriptions, @closedsubscriptions);
|
||||
for my $sub ( @subscriptions ) {
|
||||
unless ( $sub->{closed} ) {
|
||||
push @openedsubscriptions, $sub;
|
||||
} else {
|
||||
push @closedsubscriptions, $sub;
|
||||
}
|
||||
}
|
||||
|
||||
my $branches = GetBranches();
|
||||
my @branches_loop;
|
||||
foreach (sort keys %$branches){
|
||||
|
|
@ -94,7 +115,9 @@ foreach (sort keys %$branches){
|
|||
}
|
||||
|
||||
$template->param(
|
||||
subscriptions => \@subscriptions,
|
||||
openedsubscriptions => \@openedsubscriptions,
|
||||
closedsubscriptions => \@closedsubscriptions,
|
||||
total => @openedsubscriptions + @closedsubscriptions,
|
||||
title_filter => $title,
|
||||
ISSN_filter => $ISSN,
|
||||
EAN_filter => $EAN,
|
||||
|
|
|
|||
|
|
@ -34,6 +34,13 @@ my $issueconfirmed = $query->param('issueconfirmed');
|
|||
my $dbh = C4::Context->dbh;
|
||||
my ($template, $loggedinuser, $cookie, $hemisphere);
|
||||
my $subscriptionid = $query->param('subscriptionid');
|
||||
|
||||
if ( $op and $op eq "close" ) {
|
||||
C4::Serials::CloseSubscription( $subscriptionid );
|
||||
} elsif ( $op and $op eq "reopen" ) {
|
||||
C4::Serials::ReopenSubscription( $subscriptionid );
|
||||
}
|
||||
|
||||
my $subs = GetSubscription($subscriptionid);
|
||||
|
||||
$subs->{enddate} = GetExpirationDate($subscriptionid);
|
||||
|
|
|
|||
Loading…
Reference in New Issue