YAOUS Disable Patron Credit is not respected
Bug #1810419 reported by
Blake GH
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
3.12 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The web staff client does not eliminate the menu item "Patron Credit" from the dropdown menu in the patron bills interface when the library has the library setting "Disable Patron Credit" = TRUE. In addition, the interface shows the patron's credit line. XUL removed those two UI elements when the setting is set.
Similar to:
bug 1775639
and
bug 1803765
The same code would probably fix all three.
tags: | added: webstaffclient |
tags: |
added: billing removed: webstaffclient |
tags: |
added: circ-billing orgunitsettings patron removed: billing |
tags: | added: pullrequest |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I just ran into something similar. The logic to turn off the Credit Card Payment option based on the default payment processor also isn't working on 3.11
Doing some javascript debugging in chrome, it seems like the only billing setting in bills.js line 529 that gets set is the first one for "ui.circ. billing. uncheck_ bills_and_ unfocus_ payment_ box". When I set breakpoints for the others they are never evaluated.
https:/ /git.evergreen- ils.org/ ?p=Evergreen. git;a=blob; f=Open- ILS/web/ js/ui/default/ staff/circ/ patron/ bills.js; hb=4c82f65319a1 04a0180235d5a9c b015b017727d6# l529
So these never get executed.
538 if (s['ui. circ.billing. amount_ warn']) { s['ui.circ. billing. amount_ warn']) ; circ.billing. amount_ limit'] ) { s['ui.circ. billing. amount_ limit'] ); staff_client. do_not_ auto_attempt_ print'] && angular. isArray( s['circ. staff_client. do_not_ auto_attempt_ print'] )) { disable_ auto_print = Boolean( staff_client. do_not_ auto_attempt_ print'] .indexOf( 'Bill Pay') > -1 disable_ patron_ credit' ]) { disablePatronCr edit = true; processor. default' ]) { disableCreditCa rdForm = true; disableCreditCa rdForm = (s['credit. processor. default' ] == 'Stripe');
539 $scope.warn_amount = Number(
540 }
541 if (s['ui.
542 $scope.max_amount = Number(
543 }
544 if (s['circ.
545 $scope.
546 s['circ.
547 );
548 }
549 if (s['circ.
550 $scope.
551 }
552 if (!s['credit.
553 // If we don't have a CC processor, we should disable the "internal" CC form
554 $scope.
555 } else {
556 // Stripe isn't supported in the staff client currently, so disable here too
557 $scope.
558 }
No idea why that is though. Some sort of optimization that is treating them like one control statement and only looking at the first one that matches?
Josh