Bug 12981 - Patron attribute type limit by patron category not working on patron entry form
To reproduce this bug: - Create a patron attribute type and limit it by patron category - Create a new patron with that category - Observe that there is no entry field for the patron attribute type you created for that patron category. Inspecting the source should show that the entry field has been hidden. The patron entry form tries to hide patron attribute type input fields based on the currently selected patron category. It does this based on the value of $("categorycode"). However, instead of pulling the data from the categorycode input in the body of the entry form, it pulls it from the patron search box at the top of the page. The value of that input is always empty because no category is preselected. This patch corrects the problem by changing the ID of the categorycode <select> in the body of the entry form and making corresponding changes to the JavaScript which depends on it. To test, apply the patch and load the patron entry form for a patron category to which a patron attribute type has been limited. That patron attribute entry field should appear correctly. Choose a different patron category from the "Category" dropdown. Confirm that the patron attribute entry field has been hidden. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
4766318eb6
commit
dcad4c38d2
1 changed files with 6 additions and 6 deletions
|
@ -33,8 +33,8 @@
|
|||
[% IF categorycode %]
|
||||
update_category_code( "[% categorycode %]" );
|
||||
[% ELSE %]
|
||||
if ( $("#categorycode").length > 0 ){
|
||||
var category_code = $("#categorycode").find("option:selected").val();
|
||||
if ( $("#categorycode_entry").length > 0 ){
|
||||
var category_code = $("#categorycode_entry").find("option:selected").val();
|
||||
update_category_code( category_code );
|
||||
}
|
||||
[% END %]
|
||||
|
@ -96,7 +96,7 @@
|
|||
|
||||
function update_category_code(category_code) {
|
||||
if ( $(category_code).is("select") ) {
|
||||
category_code = $("#categorycode").find("option:selected").val();
|
||||
category_code = $("#categorycode_entry").find("option:selected").val();
|
||||
}
|
||||
var mytables = $(".attributes_table");
|
||||
$(mytables).find("li").hide();
|
||||
|
@ -932,8 +932,8 @@
|
|||
</li>
|
||||
[% END %]
|
||||
<li>
|
||||
<label for="categorycode" class="required">Category: </label>
|
||||
<select id="categorycode" name="categorycode" onchange="update_category_code(this);">
|
||||
<label for="categorycode_entry" class="required">Category: </label>
|
||||
<select id="categorycode_entry" name="categorycode" onchange="update_category_code(this);">
|
||||
[% FOREACH typeloo IN typeloop %]
|
||||
[% FOREACH categoryloo IN typeloo.categoryloop %]
|
||||
[% IF ( loop.first ) %]
|
||||
|
@ -1341,7 +1341,7 @@
|
|||
$('#memberentry_messaging_prefs > *').change(function() {
|
||||
message_prefs_dirty = true;
|
||||
});
|
||||
$('#categorycode').change(function() {
|
||||
$('#categorycode_entry').change(function() {
|
||||
var categorycode = $(this).val();
|
||||
if (message_prefs_dirty) {
|
||||
if (!confirm('Change messaging preferences to default for this category?')) {
|
||||
|
|
Loading…
Reference in a new issue