Owen Leonard
ea8151da56
This patch removes the definition of translatable strings out of templates and into the corresponding JavaScript file, using the new JS i81n function. Note: I was unable to trigger the confirmation message in the check_form_borrowers function. I think the form is now structured in a way that it is never triggered, thus a candidate for removal. To test: - Apply the patch and go to Patrons. - Add or edit a patron. - Select a date of birth at least one month in the past and confirm that the patron's age is displayed in the hint below. - Test multiple variations to confirm that the singular and plural of 'year' and 'month' display correctly. (e.g. 1 year 9 months, 2 years, etc). - Set some patron messaging preferences for the patron. - Change the patron category. - You should get a confirmation: "Change messaging preferences to default for this category?" TESTING TRANSLATABILITY - Update a translation, e.g. fr-FR: > cd misc/translator > perl translate update fr-FR - Open the corresponding .po file for JavaScript strings, e.g. misc/translator/po/fr-FR-messages-js.po - Locate strings pulled from koha-tmpl/intranet-tmpl/prog/js/members.js for translation, e.g.: msgid "%s years" msgstr "" - Edit the "msgstr" string however you want (it's just for testing). - Install the updated translation: > perl translate install fr-FR - Switch to your newly translated language in the staff client and repeat the test plan above. The translated strings should appear. Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
79 lines
3.4 KiB
JavaScript
79 lines
3.4 KiB
JavaScript
$(document).ready(function(){
|
|
$("#info_digests").tooltip();
|
|
|
|
var message_prefs_dirty = false;
|
|
$('#memberentry_messaging_prefs > *').change(function() {
|
|
message_prefs_dirty = true;
|
|
});
|
|
|
|
if ( window.location.href.indexOf("op=add") === -1 ) {
|
|
message_prefs_dirty = true; // unless op=add consider the message prefs dirty
|
|
}
|
|
|
|
if( $("#messaging_prefs_loading").length ){ // This element only appears in the template if op=add
|
|
$('#categorycode_entry').change(function() {
|
|
var messaging_prefs_loading = $("#messaging_prefs_loading");
|
|
// Upon selecting a new patron category, show "Loading" message for messaging defaults
|
|
messaging_prefs_loading.show();
|
|
var categorycode = $(this).val();
|
|
if (message_prefs_dirty) {
|
|
if (!confirm( __("Change messaging preferences to default for this category?") )) {
|
|
// Not loading messaging defaults. Hide loading indicator
|
|
messaging_prefs_loading.hide();
|
|
return;
|
|
}
|
|
}
|
|
var jqxhr = $.getJSON('/cgi-bin/koha/members/default_messageprefs.pl?categorycode=' + categorycode, function(data) {
|
|
$.each(data.messaging_preferences, function(i, item) {
|
|
var attrid = item.message_attribute_id;
|
|
var transports = ['email', 'rss', 'sms'];
|
|
$.each(transports, function(j, transport) {
|
|
if (item['transports_' + transport] == 1) {
|
|
$('#' + transport + attrid).prop('checked', true);
|
|
toggle_digest(attrid);
|
|
} else {
|
|
$('#' + transport + attrid).prop('checked', false);
|
|
toggle_digest(attrid);
|
|
}
|
|
});
|
|
if (item.digest && item.digest != ' ') {
|
|
$('#digest' + attrid).prop('checked', true);
|
|
} else {
|
|
$('#digest' + attrid).prop('checked', false);
|
|
}
|
|
if (item.takes_days == '1') {
|
|
$('[name=' + attrid + '-DAYS]').val('' + item.days_in_advance);
|
|
}
|
|
});
|
|
message_prefs_dirty = false;
|
|
})
|
|
.always(function() {
|
|
// Loaded messaging defaults. Hide loading indicator
|
|
messaging_prefs_loading.hide();
|
|
});
|
|
});
|
|
}
|
|
|
|
function toggle_digest(id){
|
|
if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) {
|
|
$("#digest"+id).attr("disabled", false).tooltip('disable');
|
|
} else {
|
|
$("#digest"+id).attr("disabled", true).prop("checked",false).tooltip('enable');
|
|
}
|
|
|
|
}
|
|
// At load time, we want digest disabled if no digest using transport is enabled
|
|
$(".pmp_email").each(function(){
|
|
toggle_digest(Number($(this).attr("id").replace("email", "")));
|
|
});
|
|
|
|
// If user clears all digest using transports for a notice, disable digest checkbox
|
|
$(".pmp_email").click(function(){
|
|
toggle_digest(Number($(this).attr("id").replace("email", "")));
|
|
});
|
|
$(".pmp_sms").click(function(){
|
|
toggle_digest(Number($(this).attr("id").replace("sms", "")));
|
|
});
|
|
|
|
// $('#memberentry_messaging_prefs [data-toggle="tooltip"][disabled]').tooltip();
|
|
});
|