Bug 1859 - Notice fields: can't select multiple fields at once

When selecting database fields to appear in a notice, selecting multiple
fields at once doesn't work correctly. The selected fields are grouped
together between << and >> instead of each being bracketed separately.

This patch corrects this problem. Also changed: Removal of 'onclick';
Conversion of 'insert' button to a Bootstrap buttons styled with a Font
Awesome icon; HTML validation error fixes.

To test, apply the patch and go to Tools -> Notices & Slips.

- Edit any notice.
- Select a notice version to edit (Email, Print, etc.).
- Confirm that the "Insert" button looks correct.
- Using ctrl+click, select multiple database fields to add to the
  notice. Confirm that clicking the "Insert" button adds the fields
  correctly.
- Confirm that there are no HTML validation errors.

Signed-off-by: Nicole C Engard <nengard@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 9b99d78101)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This commit is contained in:
Owen Leonard 2016-05-12 20:35:01 -04:00 committed by Julian Maurice
parent 83b1f1226e
commit 09a7c74306
1 changed files with 19 additions and 14 deletions

View File

@ -97,7 +97,11 @@ $(document).ready(function() {
}
});
$( "#transport-types" ).accordion({ collapsible: true, active:false, animate: 200 });
});
$(".insert").on("click",function(){
var containerid = $(this).data("containerid");
insertValueQuery( containerid );
})
});
[% IF add_form or copy_form %]
function cancel(f) {
@ -129,17 +133,11 @@ $(document).ready(function() {
var myListBox = $(fieldset).find('select[name="SQLfieldname"]');
if($(myListBox).find('option').length > 0) {
var chaineAj = "";
var NbSelect = 0;
$(myListBox).find('option').each( function (){
if ( $(this).attr('selected') ) {
NbSelect++;
if (NbSelect > 1)
chaineAj += ", ";
chaineAj += $(this).val();
$(myQuery).insertAtCaret("<<" + $(this).val() + ">>");
}
} );
$(myQuery).insertAtCaret("<<" + chaineAj + ">>");
});
}
}
[% END %]
@ -277,8 +275,8 @@ $(document).ready(function() {
[% ELSE %]
<li>
<label for="branch">Library:</label>
[% IF adding %]
<label for="branch">Library:</label>
<select name="branchcode" id="branch" style="width:20em;">
<option value="">All libraries</option>
[% FOREACH branchloo IN branchloop %]
@ -286,8 +284,13 @@ $(document).ready(function() {
[% END %]
</select>
[% ELSE %]
<span class="label">Library:</span>
<input type="hidden" id="branch" name="branchcode" value="[% branchcode %]" />
[% Branches.GetName( branchcode ) %]
[% IF ( branchcode ) %]
[% Branches.GetName( branchcode ) %]
[% ELSE %]
All libraries
[% END %]
[% END %]
</li>
[% END %]
@ -352,8 +355,8 @@ $(document).ready(function() {
<input type="text" id="code" name="code" size="20" maxlength="20" value="" required="required"/>
<span class="required">Required</span>
[% ELSE %]
<label for="code">Code:</label>
<input type="hidden" id="code" name="code" size="20" maxlength="20" value="[% code %]" required="required"/>
<span class="label">Code:</span>
<input type="hidden" id="code" name="code" value="[% code %]" />
[% code %]
[% END %]
</li>
@ -418,7 +421,9 @@ $(document).ready(function() {
[% END %]
</select>
</td>
<td><input type="button" name="insert" value="&gt;&gt;" onclick="insertValueQuery('[% letter.message_transport_type %]')" title="Insert" /></td>
<td class="actions">
<button type="button" data-containerid="[% letter.message_transport_type %]" class="btn btn-small insert">Insert <i class="fa fa-long-arrow-right"></i></button>
</td>
<td><textarea name="content" id="content_[% letter.message_transport_type %]" cols="80" rows="15">[% letter.content %]</textarea></td>
</tr>
</table>