[Koha-patches] [PATCH] Bug 8660: Tag status does not show on multiple tag add
Fridolyn SOMERS
fridolyn.somers at biblibre.com
Wed Aug 22 16:15:15 CEST 2012
---
koha-tmpl/opac-tmpl/prog/en/css/opac.css | 25 +++-
.../opac-tmpl/prog/en/includes/doc-head-close.inc | 7 +-
koha-tmpl/opac-tmpl/prog/en/js/tags.js | 20 +--
koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt | 110 +++++++---------
koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 76 ++++++-----
.../opac-tmpl/prog/en/modules/opac-results.tt | 95 +++++++-------
.../opac-tmpl/prog/en/modules/opac-shelves.tt | 137 ++++++++++++--------
.../opac-tmpl/prog/en/modules/opac-suggestions.tt | 4 +-
8 files changed, 259 insertions(+), 215 deletions(-)
diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index 1e259fb..437c464 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -725,7 +725,7 @@ input.deleteshelf:active {
#tagslist li { display : inline; }
-a.tag_results_add {
+a.tag_add {
background-image: url(../../images/tag-small.png);
background-position : -1px center;
background-repeat : no-repeat;
@@ -744,7 +744,6 @@ a.tag_results_add {
.tag_results_input {
background-color: #EEE;
- display: none;
margin-left: 1em;
padding: 0.3em;
}
@@ -1446,9 +1445,19 @@ padding-left : .4em;
padding-left:20px
}
-.searchresults .tagstatus {
- display: block;
- color: #707070;
+.tagstatus {
+ color: #707070;
+ padding: 0 4px 0 4px;
+ margin-left: 5px;
+ border: 1px solid #bcbcbc;
+ background-color: #ffffcc;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.results_summary.tagstatus {
+ display: inline;
}
.results_summary .label {
@@ -1459,7 +1468,11 @@ padding-left : .4em;
font-weight: normal;
}
-.actions a {
+.actions a.hold,
+.actions a.addtocart,
+.actions a.addtoshelf,
+.actions a.addtolist,
+.actions a.tag_add {
margin-left : 1em;
text-decoration : none;
}
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
index 3ce49ce..4f76364 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
@@ -65,7 +65,8 @@
var MSG_ITEM_NOT_IN_CART = _("Add to your cart");
$("#cartDetails").ready(function(){ $("#cmspan").html("<a href=\"#\" id=\"cartmenulink\" class=\"\"><i><\/i><span><i><\/i><span><\/span><span id=\"carticon\"></span> "+_("Cart")+"<span id=\"basketcount\"><\/span><\/span><\/a>"); }); [% ELSE %][% IF ( virtualshelves ) %]
var MSG_NO_RECORD_SELECTED = _("No item was selected");[% END %][% END %]
- [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
+ [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]
+ var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code. It was NOT added. Please try again with plain text.");
var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
@@ -77,7 +78,9 @@
var MSG_TAGS_ADDED = _("Tags added: ");
var MSG_TAGS_DELETED = _("Tags added: ");
var MSG_TAGS_ERRORS = _("Errors: ");
- var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");[% END %][% END %]
+ var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");
+ var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
+ [% END %][% END %]
[% IF ( OPACAmazonCoverImages ) %]$(window).load(function() {
verify_images();
});[% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/tags.js b/koha-tmpl/opac-tmpl/prog/en/js/tags.js
index cd85b18..9305906 100644
--- a/koha-tmpl/opac-tmpl/prog/en/js/tags.js
+++ b/koha-tmpl/opac-tmpl/prog/en/js/tags.js
@@ -26,12 +26,11 @@ if (typeof(readCookie) == "undefined") {
}
}
KOHA.Tags = {
- add_tag_button: function(){
- var mybibnum = $(this).attr("title");
- var mynewtag = "newtag" + mybibnum;
+ add_tag_button: function(bibnum, tag){
+ var mynewtag = "newtag" + bibnum;
var mytagid = "#" + mynewtag;
var mydata = {CGISESSID: readCookie('CGISESSID')}; // Someday this should be OPACSESSID
- mydata[mynewtag] = $(mytagid).val(); // need [bracket] for variable property id
+ mydata[mynewtag] = tag; // need [bracket] for variable property id
var response; // AJAX from server will assign value to response.
$.post(
"/cgi-bin/koha/opac-tags.pl",
@@ -61,20 +60,23 @@ KOHA.Tags = {
},
set_tag_status : function(tagid, newstatus) {
$(tagid).html(newstatus);
- $(tagid).css({display:"inline"});
+ $(tagid).show();
},
append_tag_status : function(tagid, newstatus) {
$(tagid).append(newstatus);
- $(tagid).css({display:"inline"});
+ $(tagid).show();
},
+ clear_all_tag_status : function() {
+ $(".tagstatus").empty();
+ },
tag_message: {
tagsdisabled : function(arg) {return (MSG_TAGS_DISABLED);},
scrubbed_all_bad : function(arg) {return (MSG_TAG_ALL_BAD);},
badparam : function(arg) {return (MSG_ILLEGAL_PARAMETER+" "+arg);},
scrubbed : function(arg) {return (MSG_TAG_SCRUBBED+" "+arg);},
- failed_add_tag : function(arg) {return (MSG_ADD_TAG_FAILED+ " "+arg+" "+MSG_ADD_TAG_FAILED_NOTE);},
- failed_delete : function(arg) {return (MSG_DELETE_TAG_FAILED+ " "+arg+" "+MSG_DELETE_TAG_FAILED_NOTE);},
+ failed_add_tag : function(arg) {return (MSG_ADD_TAG_FAILED+ " '"+arg+"'. \n"+MSG_ADD_TAG_FAILED_NOTE);},
+ failed_delete : function(arg) {return (MSG_DELETE_TAG_FAILED+ " '"+arg+"'. \n"+MSG_DELETE_TAG_FAILED_NOTE);},
login : function(arg) {return (MSG_LOGIN_REQUIRED);}
},
@@ -92,7 +94,7 @@ KOHA.Tags = {
mydata,
function(data){
eval(data);
- $(".tagstatus").empty();
+ KOHA.Tags.clear_all_tag_status();
var bibErrors = false;
// Display the status for each tagged bib
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
index 2ea6d94..1e8eb4f 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
@@ -1,3 +1,5 @@
+[% SET TagsInputEnabled = ( opacuserlogin && TagsEnabled && TagsInputOnList ) %]
+
[% INCLUDE 'doc-head-open.inc' %]
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Your cart
[% IF ( print_basket ) %]</title>
@@ -22,21 +24,17 @@
<script type="text/javascript">
//<![CDATA[
-var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
-$(document).ready(function()
- {
+$(document).ready(function(){
$("#itemst").tablesorter({
headers: { 0: { sorter: false },4:{sorter:false}}
});
$(".cb").click(function(){
enableCheckboxActions();
});
- }
-);
-
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
+ enableCheckboxActions();
+});
+[% IF ( TagsInputEnabled && loggedinusername ) %]
function tagSelected() {
var bibs = document.getElementById('records').value;
if (bibs) {
@@ -52,6 +50,8 @@ function tagCanceled() {
$("#tagsel_form").hide();
$("#tagsel_tag").show();
$("#tag_hides").show();
+ $("#tagsel_new").val("");
+ $(".tagstatus").empty().hide();
}
function tagAdded() {
@@ -76,7 +76,8 @@ function tagAdded() {
KOHA.Tags.add_multitags_button(bibs, tag);
return false;
}
-[% END %][% END %][% END %]
+[% END %]
+
$(document).ready(function(){
$("#CheckAll").click(function(){
var checked = [];
@@ -99,12 +100,6 @@ function tagAdded() {
return false;
});
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- $("#tagsel_button").click(function(){
- tagAdded();
- return false;
- });
-[% END %][% END %][% END %]
});
[% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
function holdSel() {
@@ -148,31 +143,39 @@ function enableCheckboxActions(){
<li><a class="hide close" href="opac-basket.pl">Hide window</a></li>
</ul>
</div>
+[% END %]
+
+[% UNLESS ( print_basket ) %]
+<div id="selections-toolbar">
+ <a id="CheckAll" href="#">Select all</a>
+ <a id="CheckNone" href="#">Clear all</a>
+ <span class="sep">|</span>
+ <span class="links" id="tag_hides">
+ <span id="selections">Select titles to: </span>
+ <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
+ [% IF ( opacuserlogin ) %]
+ [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
+ <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
+ [% END %][% END %]
+ [% IF ( RequestOnOpac ) %]<a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
+ [% IF ( TagsInputEnabled && loggedinusername ) %]
+ <a href="#" id="tagsel_tag" class="disabled" onclick="tagSelected(); return false;">Tag</a>
+ [% END %]
[% END %]
+ </span>
+ [% IF ( TagsInputEnabled && loggedinusername ) %]
+ <span id="tagsel_form" style="display:none">
+ <label for="tagsel_new">New tag:</label>
+ <input name="tagsel_new" id="tagsel_new" maxlength="100" />
+ <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="Add" type="submit" value="Add" onclick="tagAdded(); return false;" />
+ <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;">Cancel</a>
+ </span>
+ [% END %]
+</div>
+[% END %]
[% IF ( verbose ) %]
- [% UNLESS ( print_basket ) %]<div id="selections-toolbar"><a id="CheckAll" href="#">Select all</a> <a id="CheckNone" href="#">Clear all</a> <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
-<span id="tag_hides">
-<a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
-[% IF ( opacuserlogin ) %]
- [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
- | <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
- [% END %][% END %]
- [% IF ( RequestOnOpac ) %]| <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
- [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- | <a href="#" id="tagsel_tag" class="disabled" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
-[% END %]
-</span>
- <span id="tagsel_form" style="display:none">
- <label for="tagsel_new" style="display:inline">New tag:</label>
- <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
- <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button"
- type="submit" value="Add" style="display:inline" />
- <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
- </span>
- </span>
-</div>[% END %]
- <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
+<form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
<h3>
[% IF ( print_basket ) %]
@@ -321,33 +324,9 @@ function enableCheckboxActions(){
</tr>
</table>
[% END %]
- </form>
-
+</form>
[% ELSE %]
-[% UNLESS ( print_basket ) %]
<form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
-<div id="selections-toolbar">
- <a id="CheckAll" href="#">Select all</a>
- <a id="CheckNone" href="#">Clear all</a>
- <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
- <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
- [% IF ( opacuserlogin ) %]
- [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
- <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
- [% END %][% END %]
- [% IF ( RequestOnOpac ) %] <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
- [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- <a href="#" class="disabled" id="tagsel_tag" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
- [% END %]
- </span>
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<span id="tagsel_form" style="display:none">
- <label for="tagsel_new" style="display:inline">New tag:</label>
- <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
- <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" style="display:inline"/>
- <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
- </span>[% END %][% END %][% END %]</span>
-</div>
-[% END %]
<table id="itemst">
<thead><tr>
[% UNLESS ( print_basket ) %]<th> </th>[% END %]
@@ -373,7 +352,9 @@ function enableCheckboxActions(){
</a>
<!-- COinS / Openurl -->
<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.au=[% BIBLIO_RESULT.author %]&rft.btitle=[% BIBLIO_RESULT.title |url %]&rft.date=[% BIBLIO_RESULT.publicationyear %]&rft.tpages=[% BIBLIO_RESULT.size %]&rft.isbn=[% BIBLIO_RESULT.isbn |url %]&rft.aucorp=&rft.place=[% BIBLIO_RESULT.place %]&rft.pub=[% BIBLIO_RESULT.publisher |url %]&rft.edition=[% BIBLIO_RESULT.edition %]&rft.series=[% BIBLIO_RESULT.series %]&rft.genre="></span>
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<div id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</div>[% END %][% END %][% END %]
+ [% IF ( TagsInputEnabled && loggedinusername ) %]
+ <span id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</span>
+ [% END %]
</td>
<td>[% BIBLIO_RESULT.author %]</td>
<td>
@@ -394,7 +375,8 @@ function enableCheckboxActions(){
[% END %]</ul>[% ELSE %]This record has no items.[% END %]</td>
</tr>
[% END %]
- </table></form>
+ </table>
+</form>
[% END %]
[% UNLESS ( print_basket ) %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt
index 54ed48e..4e0077e 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt
@@ -1,4 +1,6 @@
[% USE KohaDates %]
+[% SET TagsShowEnabled = ( TagsEnabled && TagsShowOnDetail ) %]
+[% SET TagsInputEnabled = ( opacuserlogin && TagsEnabled && TagsInputOnDetail ) %]
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Details for: [% title |html %][% FOREACH subtitl IN subtitle %], [% subtitl.subfield |html %][% END %]
[% INCLUDE 'doc-head-close.inc' %]
@@ -28,18 +30,38 @@
$(document).ready(function() {
$('#bibliodescriptions').tabs();
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]$("#tagform").hide();
- $("#addtagl").show();
- $("#addtagl a").click(function(){
- $("#addtagl").hide();
- $("#tagform, #tagform a").show();
+
+[% IF ( TagsInputEnabled && loggedinusername ) %]
+ $(".tag_add").click(function(){
+ var thisid = $(this).attr("id");
+ thisid = thisid.replace("tag_add","");
+ $(this).hide();
+ $("#tagform"+thisid).show();
+ $("#newtag"+thisid).focus();
+ $("#newtag"+thisid+"_status").empty().hide();
+ return false;
+ });
+ $(".cancel_tag_add").click(function(){
+ var thisid = $(this).attr("id");
+ thisid = thisid.replace("cancel","");
+ $("#tagform"+thisid).hide();
+ $("#tag_add"+thisid).show();
+ $("#newtag"+thisid).val("");
+ $("#newtag"+thisid+"_status").empty().hide();
return false;
});
- $("#tagform a").click(function(){
- $("#addtagl").show();
- $("#tagform").hide();
+ $(".tagbutton").click(function(){
+ var thisid = $(this).attr("title");
+ var tag = $("#newtag"+thisid).val();
+ if (!tag || (tag == "")) {
+ alert(MSG_NO_TAG_SPECIFIED);
+ return false;
+ }
+ KOHA.Tags.add_tag_button(thisid, tag);
return false;
- });[% END %][% END %][% END %]
+ });
+[% END %]
+
$("#holdingst").tablesorter({[% IF ( dateformat == 'metric' ) %]
dateFormat: 'uk',[% END %]
widgets : ['zebra'],
@@ -57,9 +79,6 @@
[% IF ( NovelistSelectProfile ) %]
novSelect.loadContentForISBN('[% normalized_isbn %]','[% NovelistSelectProfile %]', '[% NovelistSelectPassword %]', function(d){});
[% END %]
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- $(".tagbutton").click(KOHA.Tags.add_tag_button);[% END %][% END %][% END %]
-
[% IF ( OpacBrowseResults && busc ) %]
if (arrPagination.length > 0) {
@@ -269,9 +288,6 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
});
//]]>
</script>
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<style type="text/css">
- #addtagl { display: none; }
-</style>[% END %][% END %][% END %]
<style type="text/css">
.branch-info-tooltip {
display: none;
@@ -465,9 +481,8 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
</span>
[% END %]
-[% IF ( TagsEnabled ) %]
- [% IF ( TagsShowOnDetail ) %]
- <div class="results_summary">
+[% IF ( TagsShowEnabled ) %]
+ <div class="results_summary">
[% IF ( TagLoop ) %]
<span class="label">Tags from this library:</span>
<ul id="tagslist">[% FOREACH TagLoo IN TagLoop %]
@@ -477,28 +492,23 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
[% END %]
</div>
[% END %]
-[% IF ( opacuserlogin ) %]
- [% IF ( loggedinusername ) %]
- [% IF ( TagsEnabled ) %]
- [% IF ( TagsInputOnDetail ) %]
+[% IF ( TagsInputEnabled ) %]
<div class="results_summary">
- <span class="label" id="addtagl"><a href="#">Add</a></span>
- <form name="tagform[% biblionumber %]" method="post" action="/cgi-bin/koha/opac-tags.pl" id="tagform">
- <label for="newtag[% biblionumber %]">New:</label><input name="newtag[% biblionumber %]" id="newtag[% biblionumber %]" maxlength="100" />
+ [% IF ( loggedinusername ) %]
+ <a class="tag_add" id="tag_add[% biblionumber %]" href="#">Add</a>
+ <form id="tagform[% biblionumber %]" method="post" action="/cgi-bin/koha/opac-tags.pl" style="display:none;">
+ <label for="newtag[% biblionumber %]">New tag(s):</label>
+ <input name="newtag[% biblionumber %]" id="newtag[% biblionumber %]" maxlength="100" type="text"/>
<input name="tagbutton" class="input tagbutton" title="[% biblionumber %]" type="submit" value="Add" />
- <a href="#">Cancel</a>
+ <a class="cancel_tag_add" id="cancel[% biblionumber %]" href="#">(done)</a>
</form>
<span id="newtag[% biblionumber %]_status" class="tagstatus" style="display:none;">
Tag status here.
</span>
- <br />
- [% ELSE %]
- <span id="login4tags" class="tagstatus">Log in to add tags.</span>
- [% END %]
+ [% ELSE %]
+ <span id="login4tags">Log in to add tags.</span>
[% END %]
- </div>
- [% END %]
- [% END %]
+ </div>
[% END %]
[% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsSeries ) %][% IF ( SyndeticsSERIES1Exists ) %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
index 67b1686..7d00068 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
@@ -1,3 +1,6 @@
+[% SET TagsShowEnabled = ( TagsEnabled && TagsShowOnList ) %]
+[% SET TagsInputEnabled = ( opacuserlogin && TagsEnabled && TagsInputOnList ) %]
+
[% INCLUDE 'doc-head-open.inc' %]
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog ›
[% IF ( searchdesc ) %]
@@ -38,9 +41,10 @@ function holdBiblioNums(numList) {
// numList: biblio numbers separated by "/"
$("#hold_form_biblios").attr("value", numList);
$("#hold_form").submit();
-}[% END %]
+}
+[% END %][% END %]
-[% IF ( TagsEnabled ) %]
+[% IF ( TagsInputEnabled && loggedinusername ) %]
function tagSelected() {
var checkedBoxes = $(".searchresults :checkbox:checked");
if ($(checkedBoxes).size() == 0) {
@@ -56,6 +60,8 @@ function tagCanceled() {
$("#tagsel_form").hide();
$("#tagsel_tag").show();
$("#sort_by").show();
+ $("#tagsel_new").val("");
+ $("#tagsel_status, .tagstatus").empty().hide();
}
function tagAdded() {
@@ -67,6 +73,7 @@ function tagAdded() {
var tag = $("#tagsel_new").val();
if (!tag || (tag == "")) {
+ alert(MSG_NO_TAG_SPECIFIED);
return false;
}
@@ -78,7 +85,9 @@ function tagAdded() {
KOHA.Tags.add_multitags_button(bibs, tag);
return false;
-}[% END %][% END %]
+}
+[% END %]
+
[% IF ( OpacHighlightedWords ) %]
var q_array = new Array(); // holds search terms if available
@@ -155,7 +164,6 @@ $(document).ready(function(){
});
[% END %]
[% END %]
- [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]$("#tagsel_span").html("<input id=\"tagsel_tag\" class=\"submit\" type=\"submit\" value=\"Tag\"/>");[% END %][% END %]
function cartList(){
if($("#addto").find("option:selected").attr("value") == "addtolist"){
@@ -207,10 +215,7 @@ $(document).ready(function(){
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
$("#highlight_toggle_off").show().click(function() {highlightOff();});[% END %][% END %]
-[% IF ( opacuserlogin ) %] [% IF ( TagsEnabled ) %]
- $(".tagbutton").click(KOHA.Tags.add_tag_button);
- [% IF ( TagsInputOnList ) %]
- [% IF ( loggedinusername ) %]
+[% IF ( TagsInputEnabled && loggedinusername ) %]
$("#tagsel_tag").click(function(){
tagSelected();
return false;
@@ -224,31 +229,35 @@ $(document).ready(function(){
return false;
});
- $(".tag_results_add").click(function(){
+ $(".tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("tag_add","");
$(this).hide();
$("#tagform"+thisid).show();
$("#newtag"+thisid).focus();
+ $("#newtag"+thisid+"_status").empty().hide();
return false;
- })
-
+ });
$(".cancel_tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("cancel","");
- $(this).parent().hide();
+ $("#tagform"+thisid).hide();
$("#tag_add"+thisid).show();
+ $("#newtag"+thisid).val("");
+ $("#newtag"+thisid+"_status").empty().hide();
return false;
- })
-
- [% ELSE %]
- $("#tagsel_tag").click(function(){
- window.location = "/cgi-bin/koha/opac-user.pl";
+ });
+ $(".tagbutton").click(function(){
+ var thisid = $(this).attr("title");
+ var tag = $("#newtag"+thisid).val();
+ if (!tag || (tag == "")) {
+ alert(MSG_NO_TAG_SPECIFIED);
+ return false;
+ }
+ KOHA.Tags.add_tag_button(thisid, tag);
return false;
});
- [% END %]
- [% END %]
- [% END %][% END %]
+[% END %]
[% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
[% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
@@ -373,22 +382,20 @@ $(document).ready(function(){
<span id="placehold"><!-- input class="submit" type="submit" value="Place Hold"/ --></span>
<div id="holdDetails"></div>
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- [% IF ( TagsInputOnList ) %]
- <span id="tagsel_span"></span>
- [% IF ( loggedinusername ) %]
+ [% IF ( TagsInputEnabled && loggedinusername ) %]
+ <span id="tagsel_span">
+ <input id="tagsel_tag" class="submit" type="submit" value="Tag"/>
+ </span>
<span id="tagsel_form" style="display:none">
<label for="tagsel_new">New tag:</label>
<input name="tagsel_new" id="tagsel_new" maxlength="100" />
- <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" />
- <a href="#" id="tagsel_cancel">Cancel</a>
+ <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="Add" type="submit" value="Add" />
+ <a href="#" id="tagsel_cancel">(done)</a>
</span>
<span id="tagsel_status" class="tagsel_tatus" style="display:none;">
Tag status here.
</span>
- [% END %]
- [% END %]
- [% END %][% END %][% END %]
+ [% END %]
</div>
</td></tr>
@@ -522,23 +529,19 @@ $(document).ready(function(){
[% END %]
[% IF ( LibraryThingForLibrariesID ) %]<div class="ltfl_reviews"></div>[% END %]
- [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]
- [% IF ( TagsShowOnList ) %]
+
+ [% IF ( TagsShowEnabled ) %]
[% IF ( SEARCH_RESULT.TagLoop.size ) %]
<div class="results_summary"><span class="label">Tags:</span>
<ul style="display: inline; list-style: none;">[% FOREACH TagLoo IN SEARCH_RESULT.TagLoop %]<li style="display: inline; list-style: none;"><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&q=[% TagLoo.term |url %]">[% TagLoo.term %]</a> <span class="weight">([% TagLoo.weight_total %])</span></li>
[% END %]
</ul>
- [% END %]
- [% IF ( SEARCH_RESULT.TagLoop.size ) %]
- </div>[% END %]
+ </div>
[% END %]
- [% END %][% END %]
+ [% END %]
+
[% IF ( SEARCH_RESULT.searchhighlightblob ) %]<span class="results_summary"><span class="label">Match:</span> [% SEARCH_RESULT.searchhighlightblob %]</span>[% END %]
-
-
-
[% IF ( OpacStarRatings == 'all' ) %]
<div class="results_summary">
@@ -578,14 +581,18 @@ $(document).ready(function(){
[% END %]
[% END %]
- [% IF ( TagsInputOnList ) %]
+ [% IF ( TagsInputEnabled ) %]
[% IF ( loggedinusername ) %]
- <a class="tag_results_add" id="tag_add[% SEARCH_RESULT.biblionumber %]" href="#">Add tag</a>
- <span id="tagform[% SEARCH_RESULT.biblionumber %]" class="tag_results_input"><label for="newtag[% SEARCH_RESULT.biblionumber %]">New tag(s):</label><input name="newtag[% SEARCH_RESULT.biblionumber %]" id="newtag[% SEARCH_RESULT.biblionumber %]" maxlength="100" />
- <input name="tagbutton" class="tagbutton" title="[% SEARCH_RESULT.biblionumber %]" type="submit" value="Add" /> <a class="cancel_tag_add" id="cancel[% SEARCH_RESULT.biblionumber %]" href="#">Cancel</a>
+ <a class="tag_add" id="tag_add[% SEARCH_RESULT.biblionumber %]" href="#">Add tag</a>
+ <span id="tagform[% SEARCH_RESULT.biblionumber %]" class="tag_results_input" style="display:none;">
+ <label for="newtag[% SEARCH_RESULT.biblionumber %]">New tag(s):</label>
+ <input name="newtag[% SEARCH_RESULT.biblionumber %]" id="newtag[% SEARCH_RESULT.biblionumber %]" maxlength="100" />
+ <input name="tagbutton" class="tagbutton" title="[% SEARCH_RESULT.biblionumber %]" type="submit" value="Add" />
+ <a class="cancel_tag_add" id="cancel[% SEARCH_RESULT.biblionumber %]" href="#">(done)</a>
+ </span>
<span id="newtag[% SEARCH_RESULT.biblionumber %]_status" class="tagstatus" style="display:none;">
- Tag status here.
- </span></span>
+ Tag status here.
+ </span>
[% ELSIF ( loop.first ) %]<span id="login4tags">Log in to add tags.</span>
[% END %]
[% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
index 716f2e1..3683585 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
@@ -1,12 +1,13 @@
+[% SET TagsShowEnabled = ( TagsEnabled && TagsShowOnList ) %]
+[% SET TagsInputEnabled = ( opacuserlogin && TagsEnabled && TagsInputOnList ) %]
+
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › [% IF ( viewshelf ) %]Contents of [% shelfname |html %][% ELSE %]Your lists[% END %][% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript">
//<![CDATA[
-var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to delete this list?");
-var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
[% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
function holdSelections() {
@@ -24,7 +25,9 @@ function holdSelections() {
}
}
[% END %][% END %]
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]function tagSelected() {
+
+[% IF ( TagsInputEnabled && loggedinusername ) %]
+function tagSelected() {
var checkedBoxes = $("input:checkbox:checked");
if ($(checkedBoxes).size()) {
$("#tagsel_tag").hide();
@@ -39,6 +42,8 @@ function tagCanceled() {
$("#tagsel_form").hide();
$("#tagsel_tag").show();
$(".tag_hides").show();
+ $("#tagsel_new").val("");
+ $(".tagstatus").empty().hide();
}
function tagAdded() {
@@ -62,7 +67,8 @@ function tagAdded() {
KOHA.Tags.add_multitags_button(bibs, tag);
return false;
-}[% END %][% END %][% END %]
+}
+[% END %]
function enableCheckboxActions(){
// Enable/disable controls if checkboxes are checked
@@ -102,35 +108,52 @@ $(function() {
$(".cb").click(function(){
enableCheckboxActions();
});
+ enableCheckboxActions();
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
- $("#addtags").click(function(){
+[% IF ( TagsInputEnabled && loggedinusername ) %]
+ $("#tagsel_tag").click(function(){
tagSelected();
return false;
- });
- $("#addtags").html("<a id=\"tagsel_tag\" href=\"#\" class=\"disabled\">"+_("Tag")+"<\/a> ");
-
- $(".tagbutton").click(KOHA.Tags.add_tag_button);
- [% IF ( loggedinusername ) %]
- $("#tagsel_tag").click(function(){
- tagSelected();
- return false;
- });
- $("#tagsel_cancel").click(function(){
- tagCanceled();
- return false;
- });
- $("#tagsel_button").click(function(){
- tagAdded();
- return false;
- });
- [% ELSE %]
- $("#tagsel_tag").click(function(){
- window.location = "/cgi-bin/koha/opac-user.pl";
- return false;
- });
- [% END %]
- [% END %][% END %][% END %]
+ });
+ $("#tagsel_cancel").click(function(){
+ tagCanceled();
+ return false;
+ });
+ $("#tagsel_button").click(function(){
+ tagAdded();
+ return false;
+ });
+
+ $(".tag_add").click(function(){
+ var thisid = $(this).attr("id");
+ thisid = thisid.replace("tag_add","");
+ $(this).hide();
+ $("#tagform"+thisid).show();
+ $("#newtag"+thisid).focus();
+ $("#newtag"+thisid+"_status").empty().hide();
+ return false;
+ });
+ $(".cancel_tag_add").click(function(){
+ var thisid = $(this).attr("id");
+ thisid = thisid.replace("cancel","");
+ $("#tagform"+thisid).hide();
+ $("#tag_add"+thisid).show();
+ $("#newtag"+thisid).val("");
+ $("#newtag"+thisid+"_status").empty().hide();
+ return false;
+ });
+ $(".tagbutton").click(function(){
+ var thisid = $(this).attr("title");
+ var tag = $("#newtag"+thisid).val();
+ if (!tag || (tag == "")) {
+ alert(MSG_NO_TAG_SPECIFIED);
+ return false;
+ }
+ KOHA.Tags.add_tag_button(thisid, tag);
+ return false;
+ });
+[% END %]
+
[% IF ( loggedinusername && allowremovingitems ) %]
$("#myform").submit(function(){
var checkedBoxes = $(".checkboxed input:checkbox:checked");
@@ -283,16 +306,16 @@ $(function() {
[% IF ( RequestOnOpac ) %]
<span id="placehold"></span>
[% END %]
- [% IF ( loggedinusername ) %]
- [% IF ( TagsEnabled ) %]
- <span id="addtags"></span>
- <span id="tagsel_form" style="display:none">
- <label for="tagsel_new" style="display:inline">New tag:</label>
- <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
- <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" style="display:inline" />
- <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
- </span>
- [% END %]
+ [% IF ( TagsInputEnabled && loggedinusername ) %]
+ <span id="addtags">
+ <a id="tagsel_tag" href="#" class="disabled">Tag</a>
+ </span>
+ <span id="tagsel_form" style="display:none">
+ <label for="tagsel_new">New tag:</label>
+ <input name="tagsel_new" id="tagsel_new" maxlength="100" />
+ <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add" />
+ <a href="#" id="tagsel_cancel">Cancel</a>
+ </span>
[% END %]
[% IF ( loggedinusername && allowremovingitems ) %]<span id="removeitems"></span>[% END %]</span>
</div>
@@ -350,8 +373,7 @@ $(function() {
[% END %]
[% END %][% ELSE %]This record has no items.[% END %]</span>
[% END %]
- [% IF ( TagsEnabled ) %]
- [% IF ( TagsShowOnList ) %]
+ [% IF ( TagsShowEnabled ) %]
[% IF ( itemsloo.TagLoop.size ) %]
<div class="results_summary">
<span class="label">Tags:</span>
@@ -361,24 +383,27 @@ $(function() {
</div>
[% END %]
[% END %]
- [% IF ( TagsInputOnList ) %]
- [% IF ( loggedinusername ) %]
- <label for="newtag[% itemsloo.biblionumber %]">New tag:</label>
+
+ <span class="results_summary actions">
+ <span class="label">Actions:</span>
+
+ [% IF ( TagsInputEnabled ) %]
+ [% IF ( loggedinusername ) %]
+ <a class="tag_add" id="tag_add[% itemsloo.biblionumber %]" href="#">Add tag</a>
+ <span id="tagform[% itemsloo.biblionumber %]" class="tag_results_input" style="display:none;">
+ <label for="newtag[% itemsloo.biblionumber %]">New tag(s):</label>
<input name="newtag[% itemsloo.biblionumber %]" id="newtag[% itemsloo.biblionumber %]" maxlength="100" />
<input name="tagbutton" class="tagbutton" title="[% itemsloo.biblionumber %]" type="submit" value="Add" />
+ <a class="cancel_tag_add" id="cancel[% itemsloo.biblionumber %]" href="#">(done)</a>
+ </span>
<span id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus" style="display:none;">
Tag status here.
</span>
- [% ELSIF ( loop.first ) %]<span class="tagstatus" id="login4tags">Log in to add tags.</span>
- [% END %]
- [% ELSE %]
- [% IF ( loggedinusername ) %]
- <span id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus results_summary" style="display:none;">Tag status here.</span>
- [% END %]
- [% END %]
- [% END %]
-
-<span class="results_summary actions"><span class="label">Actions:</span>
+ [% ELSIF ( loop.first ) %]
+ <span class="tagstatus" id="login4tags">Log in to add tags.</span>
+ [% END %]
+ [% END %]
+
[% IF ( RequestOnOpac ) %]
[% UNLESS ( itemsloo.norequests ) %]
[% IF ( opacuserlogin ) %]
@@ -393,7 +418,7 @@ $(function() {
[% END %]
[% END %]
- [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( virtualshelves ) %]<a class="addtolist" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]'); return false;">Save to another list</a>
+ [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( virtualshelves ) %]<a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]'); return false;">Save to another list</a>
[% END %][% END %][% END %]
[% IF ( opacbookbag ) %]
[% IF ( itemsloo.incart ) %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-suggestions.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-suggestions.tt
index b0d5972..28432e0 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-suggestions.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-suggestions.tt
@@ -63,7 +63,9 @@ $.tablesorter.addParser({
.click(function(){
$("#myform").submit();
return false;
- });[% END %]
+ });
+ enableCheckboxActions();
+ [% END %]
});
function Check(f) {
--
1.7.9.5
More information about the Koha-patches
mailing list