In the checkout history page, a new column and action selector is provided to allow
the paton to indicate items they would just as soon not want to see again in the
history list for whatever reason. NOTE: This is not a PURGE function; it simply
suppresses display of items in the history list (and exported history files).
Internally, the circulations are kept by Evergreen for several reasons which are
not affected by this functionality.
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
my $ctx = $self->ctx;
my $limit = $self->cgi->param('limit') || 15;
my $offset = $self->cgi->param('offset') || 0;
+ my $action = $self->cgi->param('action') || '';
+
+ my $circ_handle_result;
+ $circ_handle_result = $self->handle_circ_update($action) if $action;
$ctx->{circ_history_limit} = $limit;
$ctx->{circ_history_offset} = $offset;
return \@circs;
}
+sub handle_circ_update {
+ my $self = shift;
+ my $action = shift;
+ my $circ_ids = shift;
+ my $e = $self->editor;
+ my $url;
+
+ my @circ_ids = ($circ_ids) ? @$circ_ids : $self->cgi->param('circ_id'); # for non-_all actions
+
+ my $cstore_ses = OpenSRF::AppSession->create('open-ils.cstore');
+ $cstore_ses->connect();
+ $cstore_ses->request('open-ils.cstore.transaction.begin')->gather(1);
+
+ if($action =~ /delete/) {
+ for my $circ_id (@circ_ids) {
+ my $circ = $cstore_ses->request(
+ 'open-ils.cstore.direct.action.circulation.retrieve', $circ_id)->gather(1);
+ $circ->hide_from_usr_history(1);
+ my $resp = $cstore_ses->request(
+ 'open-ils.cstore.direct.action.circulation.update', $circ)->gather(1);
+ }
+ }
+
+ $cstore_ses->request('open-ils.cstore.transaction.commit')->gather(1);
+ $cstore_ses->disconnect();
+ return undef;
+}
+
# TODO: action.usr_visible_holds does not return cancelled holds. Should it?
sub load_myopac_hold_history {
my $self = shift;
<div class="warning_box">[% l('There are no items in your circulation history.') %]</div>
[% ELSE %]
+ <form method="post" id="circ-form"
+ onsubmit="return confirm('[% l("Are you sure you wish to delete the selected item(s)?") %]');">
+ <table cellpadding='0' cellspacing='0' class="item_list_padding">
+ <tr>
+ <td>
+ <select name="action">
+ <option value="delete">[% l('Delete Selected Titles') %]</option>
+ </select>
+ </td>
+ <td style="padding-left:9px;">
+ <input type="submit"
+ value="[% l('Go') %]"
+ alt="[% l('Go') %]" title="[% l('Go') %]"
+ class="opac-button" />
+ </td>
+ <!--
+ <td style="padding-left:5px;">
+ <a href="#"><img alt="[% l('Deleting Help') %]"
+ src="[% ctx.media_prefix %]/images/question-mark.png" /></a>
+ </td>
+ -->
+ </tr>
+ </table>
<div id='checked_main'>
<table id="acct_checked_main_header"
title="[% l('History of Items Checked Out') %]">
<thead>
<tr>
+ <th align="center">
+ <input type="checkbox" onclick="var inputs=document.getElementsByTagName('input'); for (i = 0; i < inputs.length; i++) { if (inputs[i].name == 'circ_id' && !inputs[i].disabled) inputs[i].checked = this.checked;}"/>
+ </th>
<th>[% sort_head("sort_title", l("Title")) %]</th>
<th>[% sort_head("author", l("Author")) %]</th>
<th>[% sort_head("checkout", l("Checkout Date")) %]</th>
FOR circ IN circ_items; %]
<tr>
+ <td align="center" style="text-align:center;">
+ <input type="checkbox" name="circ_id" value="[% circ.circ.id %]" />
+ </td>
<td>
<a href="[% mkurl(ctx.opac_root _ '/record/' _
circ.circ.target_copy.call_number.record.id, {}, 1) %]"
</td>
<td>[% circ.circ.target_copy.barcode | html %]</td>
<td>[% circ.circ.target_copy.call_number.label | html %]</td>
+ </form>
</tr>
[% END %]
</tbody>
--- /dev/null
+Editable Borrowing History
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can delete titles that you do not wish to appear in your Check Out History.
+
+ * In "My Account", click on the "Items Checked Out" tab, then the "Check Out History" sub-tab.
+ * Check off the items you wish to conceal.
+ * Click the Go button next to the "Delete Selected Titles" drop-down box.
+ * Click OK in the pop-up to confirm your deletion. Choose carefully, as there is no "undo".
+
+Deleted titles will also not appear in the downloaded CSV file.