lp1373203: Allow users to escape metarecord holds (backport version)
authorKathy Lussier <klussier@masslnc.org>
Wed, 25 Feb 2015 20:20:51 +0000 (15:20 -0500)
committerDan Scott <dscott@laurentian.ca>
Thu, 5 Mar 2015 17:43:13 +0000 (12:43 -0500)
Provides a means for users to escape a metarecord hold if they accidentally
clicked the Advanced Hold Options link. A "Go Back" link will be
provided to allow the user to return to a title hold. If the hold starts as a
metarecord hold, this link won't display since we don't know which bib the
patron wants.

Also fixes an issue where the hold cancel button always returned the user to
the previous screen.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Open-ILS/src/templates/opac/parts/place_hold.tt2

index 8c70ca5..a4feaca 100644 (file)
                     [% END %]
                     [% IF NOT metarecords.disabled %]
                         [% IF CGI.param('hold_type') == 'T' AND hdata.record.metarecord %]
+                        <!-- Grab the bre_id so that we can restore it if user accidentally clicks advanced options -->
+                            [% bre_id = hdata.target.id %]
                             <a  id='advanced_hold_link'
-                                href="[% mkurl('', {hold_type => 'M', hold_target => hdata.record.metarecord.id}) %]">
+                                href="[% mkurl('', {hold_type => 'M', hold_target => hdata.record.metarecord.id, bre_id => bre_id}) %]">
                                 [% l('Advanced Hold Options') %]</a>
                         [% END %]
+                        [% IF CGI.param('hold_type') == 'M' AND CGI.param('bre_id') %]
+                            <input type="hidden" name="bre_id" value="[% CGI.param('bre_id') %]" />
+                            <a id='basic_hold_link'
+                               href="[% mkurl('', {hold_target => CGI.param('bre_id'), hold_type => 'T'}) %]">
+                                [% l('Go Back') %]</a>
+                        [% END %]
                         [% IF hdata.metarecord_filters.formats.size OR # should this be size > 1
                             (hdata.metarecord_filters.langs.size && hdata.metarecord_filters.langs.size > 1);
                             PROCESS metarecord_hold_filters_selector hold_data=hdata;
             value="[% l('Submit') %]" title="[% l('Submit') %]"
             alt="[% l('Submit') %]" class="opac-button" />
         [% END # some_holds_allowed %]
-        <input type="reset" name="cancel" onclick="javascript:history.go(-1);"
-            value="[% l('Cancel') %]" id="holds_cancel" class="opac-button" />
+        <input type="reset" name="cancel" onclick="window.location='[% redirect | html %]'" value="[% l('Cancel') %]" id="holds_cancel" class="opac-button" />
     </form>
 </div>