Allow staff to send an email receipt on demand, if patron has a valid email address
authorMike Rylander <mrylander@gmail.com>
Fri, 5 Aug 2016 16:16:27 +0000 (12:16 -0400)
committerMike Rylander <mrylander@gmail.com>
Fri, 5 Aug 2016 16:16:27 +0000 (12:16 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/templates/staff/circ/patron/t_checkout.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/checkout.js

index e1125c3..6492621 100644 (file)
         <span class="sr-only">[% l('receipt option') %]</span>
       </button>
       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="quick-button">
-        <li role="menuitem" ng-class="{disabled : !may_email_receipt()}"><a ng-click="email_receipt()" a-disabled="!may_email_receipt()" href="#">[% l('Email Receipt') %]</a></li>
+        <li role="menuitem" ng-class="{disabled : !has_email_address()}"><a ng-click="email_receipt()" a-disabled="!has_email_address()" href="#">[% l('Email Receipt') %]</a></li>
         <li role="menuitem"><a ng-click="print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
       </ul>
     </div>
       </button>
       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="done-button">
         <li role="menuitem"><a ng-click="done_no_receipt()" href="#">[% l('No Receipt') %]</a></li>
-        <li role="menuitem" ng-class="{disabled : !may_email_receipt()}"><a ng-click="done_email_receipt()" a-disabled="!may_email_receipt()" href="#">[% l('Email Receipt') %]</a></li>
+        <li role="menuitem" ng-class="{disabled : !has_email_address()}"><a ng-click="done_email_receipt()" a-disabled="!has_email_address()" href="#">[% l('Email Receipt') %]</a></li>
         <li role="menuitem"><a ng-click="done_print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
       </ul>
   </div>
index 8fbd14c..765f25f 100644 (file)
@@ -44,6 +44,13 @@ function($scope , $q , $routeParams , egCore , egUser , patronSvc ,
         }
     }
 
+    $scope.has_email_address = function() {
+        return (
+            patronSvc.current.email() &&
+            patronSvc.current.email().match(/.*@.*/).length
+        );
+    }
+
     $scope.may_email_receipt = function() {
         return setting_value(
             patronSvc.current,