add print cart action
authorGalen Charlton <gmc@equinoxinitiative.org>
Wed, 23 May 2018 20:16:32 +0000 (16:16 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 23 May 2018 20:16:32 +0000 (16:16 -0400)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Container.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
Open-ILS/src/templates/opac/mylist/print.tt2 [new file with mode: 0644]
Open-ILS/src/templates/opac/parts/cart.tt2
Open-ILS/src/templates/opac/record/print.tt2

index b92fa47..f69a0e6 100644 (file)
@@ -150,6 +150,7 @@ sub load {
     return $self->load_mylist_add if $path =~ m|opac/mylist/add|;
     return $self->load_mylist_delete if $path =~ m|opac/mylist/delete|;
     return $self->load_mylist_move if $path =~ m|opac/mylist/move|;
+    return $self->load_mylist_print if $path =~ m|opac/mylist/doprint|;
     return $self->load_mylist if $path =~ m|opac/mylist|;
     return $self->load_cache_clear if $path =~ m|opac/cache/clear|;
     return $self->load_temp_warn_post if $path =~ m|opac/temp_warn/post|;
index 7309b61..c692b94 100644 (file)
@@ -167,6 +167,32 @@ sub _do_mylist_delete {
     return ($cache_key, $list);
 }
 
+sub load_mylist_print {
+    my $self = shift;
+
+    my $cache_key = $self->cgi->cookie((ref $self)->COOKIE_ANON_CACHE);
+
+    if (!$cache_key) {
+        return $self->generic_redirect;
+    }
+
+    my $url = sprintf(
+        "%s://%s%s/record/print/%s",
+        $self->ctx->{proto},
+        $self->ctx->{hostname},
+        $self->ctx->{opac_root},
+        $cache_key,
+    );
+
+    my $redirect = $self->cgi->param('redirect_to');
+    $url .= '?redirect_to=' . uri_escape_utf8($redirect);
+    my $clear_cart = $self->cgi->param('clear_cart');
+    $url .= '&is_list=1';
+    $url .= '&clear_cart=1' if $clear_cart;
+
+    return $self->generic_redirect($url);
+}
+
 sub load_mylist_move {
     my $self = shift;
     my @rec_ids = $self->cgi->param('record');
index f7d4882..a30f64a 100644 (file)
@@ -539,6 +539,11 @@ sub load_print_record {
         'open-ils.search',
         'open-ils.search.biblio.record.print', $list);
 
+    if ($self->cgi->param('clear_cart')) {
+        $self->clear_anon_cache;
+    }
+    $self->ctx->{'redirect_to'} = $self->cgi->param('redirect_to');
+
     return Apache2::Const::OK;
 }
 
diff --git a/Open-ILS/src/templates/opac/mylist/print.tt2 b/Open-ILS/src/templates/opac/mylist/print.tt2
new file mode 100644 (file)
index 0000000..118c7d9
--- /dev/null
@@ -0,0 +1,24 @@
+[%- PROCESS "opac/parts/header.tt2";
+    PROCESS "opac/parts/misc_util.tt2";
+    WRAPPER "opac/parts/base.tt2";
+    INCLUDE "opac/parts/topnav.tt2";
+    ctx.page_title = l("Confirm Cart Printing") %]
+    <h2 class="sr-only">[% l('Confirm Cart Printing') %]</h2>
+    [% INCLUDE "opac/parts/searchbar.tt2" %]
+    <div id="content-wrapper">
+        <div id="main-content">
+             <p class="big-strong">[% l('Please confirm that you want to print the [_1] titles in the cart.', ctx.mylist.size) %]
+             <form method="post" action="[% mkurl(ctx.opac_root _ '/mylist/doprint', {}, 1) %]">
+             <input type="hidden" name="redirect_to" value="[% ctx.referer %]" />
+             <input type="checkbox" name="clear_cart" value="on" />
+             <label for="clear_cart">[% l('Clear cart after printing it.') %]</label>
+             <br />
+             <input id="print_cart_submit" type="submit" name="submit"
+               value="[% l('Confirm') %]" title="[% l('Confirm') %]"
+               alt="[% l('Confirm') %]" class="opac-button" />
+             <input type="reset" name="cancel" onclick="window.location='[% ctx.referer | html %]'" value="[% l('Cancel') %]" id="clear_cart_cancel" class="opac-button" />
+             </form>
+            <div class="common-full-pad"></div>        
+        </div>
+    </div>
+[%- END %]
index daaa617..2fcbb62 100644 (file)
@@ -3,9 +3,9 @@
     <li><a href="#" class="no-dec">[% l('Cart Actions') %]</a>
       <ul>
         <li><a href="#">[% l('Place Holds') %]</a></li>
-        <li><a href="#">[% l('Print Title Details') %]</a></li>
+        <li><a href="[% mkurl(ctx.opac_root _ '/mylist/print', {}) %]">[% l('Print Title Details') %]</a></li>
         <li><a href="#">[% l('Email Title Details') %]</a></li>
-        <li><a href="#">[% l('Add to Saved List') %]</a></li>
+        <li><a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {}) %]">[% l('Add Cart to Saved List') %]</a></li>
         <li><a href="#">[% l('Clear Cart') %]</a></li>
       </ul>
     </li>
index 24cb94e..26c3543 100644 (file)
         [% END %]
         <div class='noprint'>
             <hr />
+            [% IF ctx.redirect_to %]
+            <p>[ <a href="[% ctx.redirect_to | html %]">[% l("Return") %]</a> ] </p>
+            [% ELSE %]
             <p>[ <a href="[% mkurl(ctx.opac_root  _ '/record/' _ ctx.bre_id) %]">[% l("Back to Record") %]</a> ]</p>
+            [% END %]
         </div>
     </body>
 </html>