Bug 12559: Wrong message if all cover images deleted

If a record contains a (one or more) local cover image and it is deleted, a wrong message is presented in the UI.

To reproduce:
 - Have LocalCoverImages set to "Display" and AllowMultipleCovers set to "Allow".
 - Go to the detail page of a record that has no images attached.
 - The 'Images' tab conveniently shows the following message:
   "No images have been uploaded..."
 - Use the "upload" link to add a local cover to the record
 - Complete the process, and "view final record".
 - The 'Images' tab shows the added cover.
 - Delete the cover image using the link below the cover.
=> FAIL: 'Click on an image...' message still shows instead of 'No images have been...'

To test:
 - Apply the patch
 - Repeat the previous steps
=> SUCCESS : 'No images have been...'

Bonus points: previous code didn't show a message at all if the user didn't have
permissions to upload local cover images. I've split the message  in two:
 - 'No images have been...' (for everyone)
 - 'Please upload (link)...' (for those with the right permissions :-D

Regards
To+

Edit: I used JavaScript to inject the 'No images...' message to aid localization.
It can be improved once we fix some stuff in the translation scripts to better support
placeholders/variables in the templates.

Sponsored-by: Universidad Nacional de Cordoba

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Tomás Cohen Arazi 2014-07-11 15:35:27 -03:00
parent 62a08be95b
commit d020e0a5a1

View file

@ -63,6 +63,9 @@ function verify_images() {
if ( this.deleted == 1 ) {
$('#imagenumber-' + this.imagenumber).remove();
}
if ( $('ul.thumbnails > li').length == 0 ) {
showNoImageMessage();
}
});
},
error: function(data) {
@ -72,6 +75,20 @@ function verify_images() {
}
function showNoImageMessage() {
var no_images_msg = _("No images have been uploaded for this bibliographic record yet.");
no_images_msg = '<p>' + no_images_msg + '</p>';
[% IF ( CAN_user_tools_upload_local_cover_images ) %]
var please_upload = _("Please %supload%s one.").format(
"<a href='/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&amp;filetype=image'>",
"</a>");
no_images_msg += "<p>" + please_upload + '</p>';
[% END %]
$('#images').html(no_images_msg);
}
[% IF StaffDetailItemSelection %]
function selectAllItems(div) {
$("input[name='itemnumber'][type='checkbox']", div).attr('checked', 'checked');
@ -141,7 +158,7 @@ function verify_images() {
});
[% END %]
$(document).ready(function() {
$(document).ready(function() {
$('#bibliodetails').tabs();
$('#search-form').focus();
$('.thumbnails > li > a > span.remove').click(function() {
@ -154,6 +171,10 @@ function verify_images() {
return false;
});
[%# inject no images message %]
[% IF ( LocalCoverImages && ! localimages.0 ) %]
showNoImageMessage();
[% END %]
});
[% IF ( AmazonCoverImages ) %]$(window).load(function() {
@ -940,10 +961,7 @@ function verify_images() {
[% END %]
[% END %]
</ul>
[% ELSE %]
[% IF ( CAN_user_tools_upload_local_cover_images ) %]
<p>No images have been uploaded for this bibliographic record yet. Please <a href='/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&amp;filetype=image'>upload</a> one.</p>
[% END %]
[%# ELSE - No image passed JavaScript takes care %]
[% END %]
</div>
[% END %]