Bug 11534: fix bug that made it impossible to remove instructors from a course
In some cases clicking the "remove" link to remove a course instructor when editing a course reserves course doesn't work. I suspect this is caused by leading zeroes in the card number. This patch refactors the relevant function to fix the problem and to remove inline JavaScript from generated markup. Other changes: - Make the "Remove" text translatable - Re-order the first name and last name when added by JavaScript to match the template's "surname, firstname" order. To test: 1. If necessary, create or modify a patron to have a card number with leading zeroes. 2. Go to Course reserves and add or edit a course. 3. If you are editing a course and there are existing instructors, click the "remove" link. Nothing will happen. 4. Perform a patron search and choose one of the results. The name should be added to the list of instructors in the format "surname, firstname." 5. Click the "remove" link next to the patron name which was just added. Nothing will happen. 6. Apply the patch and repeat step 4. The "remove" link should work. 7. Add an instructor and save the course reserve. Repeat steps 2 and 3. The "remove" link should now work. To test the translation fix, after applying the patch run "translate update [language code]" and confirm that the "Remove" string is listed in the updated po file for course_reserves/course.tt. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
1a5da08342
commit
d567733f23
1 changed files with 20 additions and 11 deletions
|
@ -43,7 +43,7 @@
|
|||
source: "/cgi-bin/koha/circ/ysearch.pl",
|
||||
minLength: 3,
|
||||
select: function( event, ui ) {
|
||||
AddInstructor( ui.item.firstname + " " + ui.item.surname, ui.item.cardnumber );
|
||||
AddInstructor( ui.item.surname + ", " + ui.item.firstname, ui.item.cardnumber );
|
||||
return false;
|
||||
}
|
||||
})
|
||||
|
@ -54,17 +54,32 @@
|
|||
.appendTo( ul );
|
||||
};
|
||||
|
||||
if ( ! $('#instructors').html() ) {
|
||||
$('#course_instructors').hide();
|
||||
}
|
||||
|
||||
$("body").on("click",".removeInstructor",function(e){
|
||||
e.preventDefault();
|
||||
var divid = $(this).parent().attr("id");
|
||||
var cardnumber = divid.replace("borrower_","");
|
||||
RemoveInstructor(cardnumber);
|
||||
});
|
||||
});
|
||||
|
||||
function AddInstructor( name, cardnumber ) {
|
||||
div = "<div id='borrower_" + cardnumber + "'>" + name + " ( <a href='#' onclick='RemoveInstructor(" + cardnumber + ");return false;'> Remove </a> ) <input type='hidden' name='instructors' value='" + cardnumber + "' /></div>";
|
||||
div = "<div id='borrower_" + cardnumber + "'>" + name + " ( <a href='#' class='removeInstructor'> " + _("Remove")+ " </a> ) <input type='hidden' name='instructors' value='" + cardnumber + "' /></div>";
|
||||
$('#instructors').append( div );
|
||||
|
||||
$('#find_instructor').val('').focus();
|
||||
$('#course_instructors').show();
|
||||
}
|
||||
|
||||
function RemoveInstructor( cardnumber ) {
|
||||
$( '#borrower_' + cardnumber ).remove();
|
||||
|
||||
if ( ! $('#instructors').html() ) {
|
||||
$('#course_instructors').hide( 800 );
|
||||
}
|
||||
}
|
||||
|
||||
//]]>
|
||||
|
@ -143,15 +158,9 @@
|
|||
<li>
|
||||
<span class="label">Instructors:</span>
|
||||
|
||||
<fieldset>
|
||||
<div id="instructors">
|
||||
[% FOREACH i IN instructors %]
|
||||
<div id="borrower_[% i.cardnumber %]">
|
||||
[% i.surname %], [% i.firstname %] ( <a href='#' onclick='RemoveInstructor( [% i.cardnumber %] );'> Remove </a> )
|
||||
<input type='hidden' name='instructors' value='[% i.cardnumber %]' />
|
||||
</div>
|
||||
[% END %]
|
||||
</div>
|
||||
<fieldset id="course_instructors">
|
||||
<div id="instructors">[% FOREACH i IN instructors %]<div id="borrower_[% i.cardnumber %]">[% i.surname %], [% i.firstname %] ( <a href="#" class="removeInstructor"> Remove </a> )
|
||||
<input type='hidden' name='instructors' value='[% i.cardnumber %]' /></div>[% END %]</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
|
|
Loading…
Reference in a new issue