Looks like it is caused by bug 20226, however I am pretty sure it works when I wrote the patch.
[% IF Categories.scalar.all(category_type => 'A').count > 0 %]
is always wrong.
It must be, either:
[% IF Categories.all(category_type => 'A').size > 0 %]
or
[% SET adult_categories = Categories.scalar.all(category_type => 'A') %]
[% IF adult_categories.count > 0 %]
In the first case we are getting an array whereas in the later, a
Koha::Patrons which is preferable.
Test plan (from 20226):
- Remove all your adult categories (categories.category_type='A')
- Create a patron with a child category
- Try to update to adult category
=> The entry does no longer appears! (This is a change in the behaviour)
- Create one adult category
- Update to adult category
=> There is a JS confirmation message, if you accept the patron will
be updated to the adult category
- Create (at least) another adult category
- Create another child
- Update to adult category
=> No more confirmation message but a popup to select the adult category
- Pick one
=> The patron has been updated to the adult category
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
[% ELSE %]
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to delete patrons" id="deletepatron" href="#">Delete</a></li>
[% END %]
- [% IF Categories.scalar.all(category_type => 'A').count > 0 %]
+ [% SET adult_categories = Categories.scalar.all(category_type => 'A') %]
+ [% IF adult_categories.count > 0 %]
[% IF patron.is_child %]
<li><a id="updatechild" href="#">Update child to adult patron</a></li>
[% ELSE %]