2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Koha › Tools › Patron card creator › Layout › [% IF ( layout_id ) %]Edit ([% layout_id %])[% ELSE %]New[% END %]</title>
4 [% INCLUDE 'doc-head-close.inc' %]
7 <body id="pcard_edit-layout" class="tools pcard">
8 [% INCLUDE 'header.inc' %]
9 [% INCLUDE 'cat-search.inc' %]
10 <div id="breadcrumbs">
11 <a href="/cgi-bin/koha/mainpage.pl">Home</a> ›
12 <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> ›
13 <a href="/cgi-bin/koha/patroncards/home.pl">Patron card creator</a> ›
14 <a href="/cgi-bin/koha/patroncards/manage.pl?card_element=layout">Layouts</a> ›
15 [% IF ( layout_id ) %]Edit ([% layout_id %])[% ELSE %]New[% END %]
17 <div id="doc3" class="yui-t2">
22 [% INCLUDE 'patroncards-toolbar.inc' %]
23 <div class="yui-u first">
28 <!-- NOTE: The order of the elements on this form is crictical to correct processing. You've been warned... -->
29 <form name="input" action="/cgi-bin/koha/patroncards/edit-layout.pl" method="get">
31 <div class="yui-g first">
32 <fieldset class="rows">
33 <legend>[% IF ( layout_id ) %]Edit[% ELSE %]Create[% END %] patron card text layout</legend>
37 <legend>General settings</legend>
40 <label for="layout_name">Layout name: </label>
41 <input type="text" name="layout_name" id="layout_name" size="20" value="[% layout_name %]" />
44 <label for="units">Units: </label>
45 <select id="units" name="units">
46 [% FOREACH unit IN units %]
47 [% IF ( unit.selected ) %]
48 <option value="[% unit.type %]" selected="selected">
50 <option value="[% unit.type %]">
58 <label for="page_side">Page side: </label>
59 [% IF ( page_side ) %]
60 <input type="radio" name="page_side" id="page_side" value="F" />Front
61 <input type="radio" name="page_side" id="page_side" value="B" checked="checked" />Back
63 <input type="radio" name="page_side" id="page_side" value="F" checked="checked" />Front
64 <input type="radio" name="page_side" id="page_side" value="B" />Back
68 <label for="guide_box">Guide box:</label>
69 [% IF ( guide_box ) %]
70 <input type="radio" name="guide_box" id="guide_box" value="1" checked="checked" />On
71 <input type="radio" name="guide_box" id="guide_box" value="0" />Off
73 <input type="radio" name="guide_box" id="guide_box" value="1" />On
74 <input type="radio" name="guide_box" id="guide_box" value="0" checked="checked" />Off
78 <label for="guide_grid">Guide grid:</label>
79 [% IF ( guide_grid ) %]
80 <input type="radio" name="guide_grid" id="guide_grid" value="1" checked="checked" />On
81 <input type="radio" name="guide_grid" id="guide_grid" value="0" />Off
83 <input type="radio" name="guide_grid" id="guide_grid" value="1" />On
84 <input type="radio" name="guide_grid" id="guide_grid" value="0" checked="checked" />Off
92 <legend>Text fields</legend>
97 <legend><input type="checkbox" name="field_1_enable" id="field_1_enable" value="1" checked="checked" /> Field 1</legend>
99 <legend><input type="checkbox" name="field_1_enable" id="field_1_enable" value="1" /> Field 1</legend>
101 <div id="field_1_select" style="display: none;">
104 <label for="field_1_text">Text: </label>
105 <input type="text" name="field_1_text" id="field_1_text" size="60" value="[% field_1_text |html %]" />
108 <label for="field_1_font">Font: </label>
109 <select name="field_1_font" id="field_1_font">
110 [% FOREACH field_1_fon IN field_1_font %]
111 [% IF ( field_1_fon.selected ) %]
112 <option value="[% field_1_fon.type %]" selected="selected">[% field_1_fon.name %]</option>
114 <option value="[% field_1_fon.type %]">[% field_1_fon.name %]</option>
120 <label for="field_1_font_size">Font size: </label>
121 <input type="text" name="field_1_font_size" id="field_1_font_size" size="2" value="[% field_1_font_size |html %]" />
122 <span class="font_unit"> pt</span>
125 <label for="field_1_text_alignment">Text alignment: </label>
126 <select name="field_1_text_alignment" id="field_1_text_alignment">
127 [% FOREACH field_1_text_alignmen IN field_1_text_alignment %]
128 [% IF ( field_1_text_alignmen.selected ) %]
129 <option value="[% field_1_text_alignmen.type %]" selected="selected">[% field_1_text_alignmen.name %]</option>
131 <option value="[% field_1_text_alignmen.type %]">[% field_1_text_alignmen.name %]</option>
137 <label for="field_1_llx">Lower left X coordinate: </label>
138 <input type="text" name="field_1_llx" id="field_1_llx" size="2" value="[% field_1_llx |html %]" />
141 <label for="field_1_lly">Lower left Y coordinate: </label>
142 <input type="text" name="field_1_lly" id="field_1_lly" size="2" value="[% field_1_lly |html %]" />
151 <legend><input type="checkbox" name="field_2_enable" id="field_2_enable" value="1" checked="checked"/> Field 2</legend>
153 <legend><input type="checkbox" name="field_2_enable" id="field_2_enable" value="1" /> Field 2</legend>
155 <div id="field_2_select" style="display: none;">
158 <label for="field_2_text">Text: </label>
159 <input type="text" name="field_2_text" id="field_2_text" size="60" value="[% field_2_text |html %]" />
162 <label for="field_2_font">Font: </label>
163 <select name="field_2_font" id="field_2_font">
164 [% FOREACH field_2_fon IN field_2_font %]
165 [% IF ( field_2_fon.selected ) %]
166 <option value="[% field_2_fon.type %]" selected="selected">[% field_2_fon.name %]</option>
168 <option value="[% field_2_fon.type %]">[% field_2_fon.name %]</option>
174 <label for="field_2_font_size">Font size: </label>
175 <input type="text" name="field_2_font_size" id="field_2_font_size" size="2" value="[% field_2_font_size |html %]" />
176 <span class="font_unit"> pt</span>
179 <label for="field_2_text_alignment">Text alignment: </label>
180 <select name="field_2_text_alignment" id="field_2_text_alignment">
181 [% FOREACH field_2_text_alignmen IN field_2_text_alignment %]
182 [% IF ( field_2_text_alignmen.selected ) %]
183 <option value="[% field_2_text_alignmen.type %]" selected="selected">[% field_2_text_alignmen.name %]</option>
185 <option value="[% field_2_text_alignmen.type %]">[% field_2_text_alignmen.name %]</option>
191 <label for="field_2_llx">Lower left X coordinate: </label>
192 <input type="text" name="field_2_llx" id="field_2_llx" size="2" value="[% field_2_llx |html %]" />
195 <label for="field_2_lly">Lower left Y coordinate: </label>
196 <input type="text" name="field_2_lly" id="field_2_lly" size="2" value="[% field_2_lly |html %]" />
205 <legend><input type="checkbox" name="field_3_enable" id="field_3_enable" value="1" checked="checked"/> Field 3</legend>
207 <legend><input type="checkbox" name="field_3_enable" id="field_3_enable" value="0" /> Field 3</legend>
209 <div id="field_3_select" style="display: none;">
212 <label for="field_3_text">Text: </label>
213 <input type="text" name="field_3_text" id="field_3_text" size="60" value="[% field_3_text |html %]" />
216 <label for="field_3_font">Font: </label>
217 <select name="field_3_font" id="field_3_font">
218 [% FOREACH field_3_fon IN field_3_font %]
219 [% IF ( field_3_fon.selected ) %]
220 <option value="[% field_3_fon.type %]" selected="selected">[% field_3_fon.name %]</option>
222 <option value="[% field_3_fon.type %]">[% field_3_fon.name %]</option>
228 <label for="field_3_font_size">Font size: </label>
229 <input type="text" name="field_3_font_size" id="field_3_font_size" size="2" value="[% field_3_font_size |html %]" />
230 <span class="font_unit"> pt</span>
233 <label for="field_3_text_alignment">Text alignment: </label>
234 <select name="field_3_text_alignment" id="field_3_text_alignment">
235 [% FOREACH field_3_text_alignmen IN field_3_text_alignment %]
236 [% IF ( field_3_text_alignmen.selected ) %]
237 <option value="[% field_3_text_alignmen.type %]" selected="selected">[% field_3_text_alignmen.name %]</option>
239 <option value="[% field_3_text_alignmen.type %]">[% field_3_text_alignmen.name %]</option>
245 <label for="field_3_llx">Lower left X coordinate: </label>
246 <input type="text" name="field_3_llx" id="field_3_llx" size="2" value="[% field_3_llx |html %]" />
249 <label for="field_3_lly">Lower left Y coordinate: </label>
250 <input type="text" name="field_3_lly" id="field_3_lly" size="2" value="[% field_3_lly |html %]" />
263 <fieldset class="rows">
264 <legend>[% IF ( layout_id ) %]Edit[% ELSE %]Create[% END %] patron card graphic layout</legend>
269 <label for="guidebox">Draw guide boxes: </label>
270 [% IF ( guidebox ) %]
271 <input type="checkbox" name="guidebox" id="guidebox" value="1" checked="checked" />
273 <input type="checkbox" name="guidebox" id="guidebox" value="1" />
280 <legend>Barcode</legend>
283 <label for="barcode_print">Print card number as barcode: </label>
284 [% IF ( barcode_print ) %]
285 <input type="checkbox" name="barcode_print" id="barcode_print" value="1" checked="checked" />
287 <input type="checkbox" name="barcode_print" id="barcode_print" value="1" />
291 <div id="barcode_param" style="display: none;">
294 <label for="barcode_llx">Lower left X coordinate: </label>
295 <input type="text" name="barcode_llx" id="barcode_llx" size="2" value="[% barcode_llx |html %]" />
298 <label for="barcode_lly">Lower left Y coordinate: </label>
299 <input type="text" name="barcode_lly" id="barcode_lly" size="2" value="[% barcode_lly |html %]" />
302 <label for="barcode_height_scale">Scale height (relative to card): </label>
303 <input type="text" name="barcode_height_scale" id="barcode_height_scale" size="2" value="[% barcode_height_scale |html %]" />
306 <label for="barcode_width_scale">Scale width (relative to card): </label>
307 <input type="text" name="barcode_width_scale" id="barcode_width_scale" size="2" value="[% barcode_width_scale |html %]" />
310 <label for="barcode_type">Barcode type: </label>
311 <select name="barcode_type" id="barcode_type">
312 [% FOREACH barcode_typ IN barcode_type %]
313 [% IF ( barcode_typ.selected ) %]
314 <option value="[% barcode_typ.type %]" selected="selected">[% barcode_typ.name %]</option>
316 <option value="[% barcode_typ.type %]">[% barcode_typ.name %]</option>
322 <label for="barcode_text_print">Print card number as text under barcode: </label>
323 [% IF ( barcode_text_print ) %]
324 <input type="checkbox" name="barcode_text_print" id="barcode_text_print" value="1" checked="checked" />
326 <input type="checkbox" name="barcode_text_print" id="barcode_text_print" value="1" />
335 <legend>Images</legend>
339 <legend>Image 1</legend>
342 <label for="image_1_image_source">Image source: </label>
343 <select name="image_1_image_source" id="image_1_image_source">
344 [% FOREACH image_1_image_sourc IN image_1_image_source %]
345 [% IF ( image_1_image_sourc.selected ) %]
346 <option value="[% image_1_image_sourc.type %]" selected="selected">[% image_1_image_sourc.name %]</option>
348 <option value="[% image_1_image_sourc.type %]">[% image_1_image_sourc.name %]</option>
354 <div id="image_1_image_name" style="display: none;">
357 <label for="image_1_image_name">Image: </label>
358 <select name="image_1_image_name" id="image_1_image_name">
359 [% FOREACH image_1_image_nam IN image_1_image_name %]
360 [% IF ( image_1_image_nam.selected ) %]
361 <option value="[% image_1_image_nam.type %]" selected="selected">[% image_1_image_nam.name %]</option>
363 <option value="[% image_1_image_nam.type %]">[% image_1_image_nam.name %]</option>
370 <div id="image_1_image_metrics" style="display: none;">
373 <label for="image_1_Dx">Display height: </label>
374 <input type="text" name="image_1_Dx" id="image_1_Dx" size="2" value="[% image_1_Dx |html %]" />
377 <label for="image_1_Tx">Lower left X coordinate: </label>
378 <input type="text" name="image_1_Tx" id="image_1_Tx" size="2" value="[% image_1_Tx |html %]" />
381 <label for="image_1_Ty">Lower left Y coordinate: </label>
382 <input type="text" name="image_1_Ty" id="image_1_Ty" size="2" value="[% image_1_Ty |html %]" />
386 <!-- These pdf image parameters are currently unused, but implemented and need to default to zero -->
387 <input type="hidden" name="image_1_Ox" value="0" /><!-- Ox,Oy should be set to 0 unless you want special effects see http://www.adobe.com/devnet/pdf/pdf_reference.html ISO 32000-1 -->
388 <input type="hidden" name="image_1_Oy" value="0" />
389 <input type="hidden" name="image_1_Sx" value="0" /><!-- Sx,Sy allow scaling of the image -->
390 <input type="hidden" name="image_1_Sy" value="0" />
395 <legend>Image 2</legend>
398 <label for="image_2_image_source">Image source: </label>
399 <select name="image_2_image_source" id="image_2_image_source">
400 [% FOREACH image_2_image_sourc IN image_2_image_source %]
401 [% IF ( image_2_image_sourc.selected ) %]
402 <option value="[% image_2_image_sourc.type %]" selected="selected">[% image_2_image_sourc.name %]</option>
404 <option value="[% image_2_image_sourc.type %]">[% image_2_image_sourc.name %]</option>
410 <div id="image_2_image_name" style="display: none;">
413 <label for="image_2_image_name">Image: </label>
414 <select name="image_2_image_name" id="image_2_image_name">
415 [% FOREACH image_2_image_nam IN image_2_image_name %]
416 [% IF ( image_2_image_nam.selected ) %]
417 <option value="[% image_2_image_nam.type %]" selected="selected">[% image_2_image_nam.name %]</option>
419 <option value="[% image_2_image_nam.type %]">[% image_2_image_nam.name %]</option>
426 <div id="image_2_image_metrics" style="display: none;">
429 <label for="image_2_Dx">Display height: </label>
430 <input type="text" name="image_2_Dx" id="image_2_Dx" size="2" value="[% image_2_Dx |html %]" />
433 <label for="image_2_Tx">Lower left X coordinate: </label>
434 <input type="text" name="image_2_Tx" id="image_2_Tx" size="2" value="[% image_2_Tx |html %]" />
437 <label for="image_2_Ty">Lower left Y coordinate: </label>
438 <input type="text" name="image_2_Ty" id="image_2_Ty" size="2" value="[% image_2_Ty |html %]" />
442 <!-- These pdf image parameters are currently unused, but implemented and need to default to zero -->
443 <input type="hidden" name="image_2_Ox" value="0" /><!-- Ox,Oy should be set to 0 unless you want special effects see http://www.adobe.com/devnet/pdf/pdf_reference.html ISO 32000-1 -->
444 <input type="hidden" name="image_2_Oy" value="0" /><!-- Sx,Sy allow scaling of the image -->
445 <input type="hidden" name="image_2_Sx" value="0" />
446 <input type="hidden" name="image_2_Sy" value="0" />
456 <fieldset class="action">
457 <input class="btn btn-default btn-default" type="submit" value="Save" />
458 <a class="cancel" href="/cgi-bin/koha/patroncards/manage.pl?card_element=layout">Cancel</a>
459 <input type="hidden" name="op" value="save" />
460 <input type="hidden" name="layout_id" value="[% layout_id %]" />
466 [% INCLUDE 'tools-menu.inc' %]
470 [% MACRO jsinclude BLOCK %]
472 $(document).ready(function() {
473 var selectedUnit = $("#units option:selected").attr("value");
474 var unitfields = $("#font_size,#field_1_llx,#field_1_lly,#field_2_llx,#field_2_lly,#field_3_llx,#field_3_lly,#barcode_Tx,#barcode_Ty,#image_1_Dx,#image_1_Tx,#image_1_Ty,#image_2_Dx,#image_2_Tx,#image_2_Ty");
475 $(unitfields).after("<span class=\"unit\">"+getUnit(selectedUnit)+"</span>");
476 $("#units").change(function(){
477 $(".unit").html(getUnit($(this).val()));
479 Go($("#image_1_image_source").val(), 'image_1_image_name');
480 Go($("#image_1_image_source").val(), 'image_1_image_metrics');
481 $("#image_1_image_source").change(function(){
482 $(".image_1_image_source").html(Go($(this).val(), 'image_1_image_name'));
483 $(".image_1_image_source").html(Go($(this).val(), 'image_1_image_metrics'));
485 Go($("#image_2_image_source").val(), 'image_2_image_name');
486 Go($("#image_2_image_source").val(), 'image_2_image_metrics');
487 $("#image_2_image_source").change(function(){
488 $(".image_2_image_source").html(Go($(this).val(), 'image_2_image_name'));
489 $(".image_2_image_source").html(Go($(this).val(), 'image_2_image_metrics'));
491 var selectFieldNames = ["field_1","field_2","field_3"];
492 for (var i=0; i < selectFieldNames.length; i++) {
493 Go($("#"+selectFieldNames[i]+"_enable").prop("checked"), selectFieldNames[i]+"_select");
495 $("#field_1_enable").change(function(){
496 $(".field_1_enable").html(Go($(this).prop("checked"), 'field_1_select'));
498 $("#field_2_enable").change(function(){
499 $(".field_2_enable").html(Go($(this).prop("checked"), 'field_2_select'));
501 $("#field_3_enable").change(function(){
502 $(".field_3_enable").html(Go($(this).prop("checked"), 'field_3_select'));
504 $("#barcode_print").load(barcode_text('barcode_param'));
505 $("#barcode_print").change(function(){
506 barcode_text('barcode_param');
508 function barcode_text(division) {
509 var eBarcode = document.getElementById(division);
510 if( $("input[name=barcode_print]:checked").prop("checked") ) {
511 eBarcode.style.display = 'block';
513 eBarcode.style.display = 'none';
514 $('input[name=barcode_text_print]').prop('checked', false);
517 function getUnit(unit){
539 function Go(oSelect, oElement){
540 var element = document.getElementById(oElement);
542 case /^.*_name/.test(oElement):
543 if ((oSelect == 'patronimages') || (oSelect == 'none')) {
544 element.style.display = 'none';
546 element.style.display = 'block';
549 case /^.*_metrics/.test(oElement):
550 if ((oSelect == 'none') || (oSelect == '')) {
551 element.style.display = 'none';
553 element.style.display = 'block';
556 case /^.*_select/.test(oElement):
558 element.style.display = 'none';
560 element.style.display = 'block';
572 [% INCLUDE 'intranet-bottom.inc' %]