View | Details | Raw Unified | Return to bug 13680
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/css/staff-global.css (+6 lines)
Lines 2721-2726 button.closebtn{padding:0;cursor:pointer;background:transparent;border:0;-webkit Link Here
2721
    width: 80%;
2721
    width: 80%;
2722
}
2722
}
2723
2723
2724
.modal fieldset.rows {
2725
    border: 0;
2726
    background-color: transparent;
2727
    margin: 0;
2728
}
2729
2724
.btn-group label,
2730
.btn-group label,
2725
.btn-group select {
2731
.btn-group select {
2726
    font-size: 13px;
2732
    font-size: 13px;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/item-add-form.inc (+149 lines)
Line 0 Link Here
1
<div id="cataloguing_additem_newitem">
2
3
    <!-- Modal -->
4
    <div class="modal" id="addItemModal" tabindex="-1" role="dialog" aria-labelledby="addItemModalLabel">
5
        <div class="modal-dialog modal-wide" role="document">
6
            <div class="modal-content">
7
                <div class="modal-header">
8
                    <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
9
                    [% IF ( opisadd ) %]
10
                        <h2 id="additema">Add item [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]</h2>
11
                    [% ELSE %]
12
                        <h2 id="edititem">Edit Item #[% itemnumber %][% IF ( barcode ) %] / Barcode [% barcode %][% END %]</h2>
13
                    [% END %]
14
                </div>
15
                <div class="modal-body">
16
17
                    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
18
                        <input type="hidden" name="op" value="[% op %]" />
19
                        [% IF (popup) %]
20
                            <input type="hidden" name="popup" value="1" />
21
                        [% END %]
22
                        <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
23
                        <fieldset class="rows">
24
                            <ol>
25
                                [% FOREACH ite IN item %]
26
                                    <li>
27
                                        <div class="subfield_line" style="[% ite.visibility %]" id="subfield[% ite.tag %][% ite.subfield %][% ite.random %]">
28
                                            [% IF ( ite.mandatory ) %]
29
                                                <label class="required">[% ite.subfield %] - [% ite.marc_lib %]</label>
30
                                            [% ELSE %]
31
                                                <label>[% ite.subfield %] - [% ite.marc_lib %]</label>
32
                                            [% END %]
33
34
                                            [% SET mv = ite.marc_value %]
35
                                            [% IF ( mv.type == 'hidden' ) %]
36
                                                <input type="hidden" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]">
37
                                            [% ELSIF ( mv.type == 'select' ) %]
38
                                                [% IF ( mv.readonly ) %]
39
                                                    <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor" readonly="readonly" disabled="disabled">
40
                                                [% ELSE %]
41
                                                    <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor">
42
                                                [% END %]
43
                                                [% FOREACH aval IN mv.values %]
44
                                                    [% IF aval == mv.default %]
45
                                                        <option value="[%- aval -%]" selected="selected">[%- mv.labels.$aval -%]</option>
46
                                                    [% ELSE %]
47
                                                        <option value="[%- aval -%]">[%- mv.labels.$aval -%]</option>
48
                                                    [% END %]
49
                                                [% END %]
50
                                                </select>
51
                                            [% ELSIF ( mv.type == 'text_auth' ) %]
52
                                                [% IF mv.readonly %]
53
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
54
                                                [% ELSE %]
55
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
56
                                                    [% SET dopop = "Dopop('/cgi-bin/koha/authorities/auth_finder.pl?authtypecode=\"${mv.authtypecode}\"&index=${mv.id}','${mv.id}')" %]
57
                                                    <a href="#" class="buttonDot"  onclick="[%- dopop -%]; return false;" title="Tag editor">...</a>
58
                                                [% END %]
59
                                            [% ELSIF ( mv.type == 'text_plugin' ) %]
60
                                                [% IF mv.readonly %]
61
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
62
                                                [% ELSE %]
63
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
64
                                                    [% IF ( mv.nopopup ) %]
65
                                                        <a href="#" id="buttonDot_[%- mv.id -%]" class="[%- mv.class -%]" title="No popup">...</a>
66
                                                    [% ELSE  %]
67
                                                        <a href="#" id="buttonDot_[%- mv.id -%]" class="[%- mv.class -%]" title="Tag editor">...</a>
68
                                                    [% END %]
69
                                                    [%- mv.javascript -%]
70
                                                [% END %]
71
                                            [% ELSIF ( mv.type == 'text' ) %]
72
                                                [% IF mv.readonly %]
73
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
74
                                                [% ELSE %]
75
                                                    <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
76
                                                [% END %]
77
                                            [% ELSIF ( mv.type == 'textarea' ) %]
78
                                                [% IF mv.readonly %]
79
                                                    <textarea id="[%- mv.id -%]" name="field_value" class="input_marceditor" rows="5" cols="64" readonly="readonly" >[% mv.value %]</textarea>
80
                                                [% ELSE %]
81
                                                    <textarea id="[%- mv.id -%]" name="field_value" class="input_marceditor" rows="5" cols="64" >[% mv.value %]</textarea>
82
                                                [% END %]
83
                                            [% END # /IF mv.type %]
84
85
                                            <input type="hidden" name="tag"       value="[% ite.tag %]" />
86
                                            <input type="hidden" name="subfield"  value="[% ite.subfield %]" />
87
                                            <input type="hidden" name="mandatory" value="[% ite.mandatory %]" />
88
                                            [% IF ( ite.repeatable ) %]
89
                                                <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
90
                                                    <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
91
                                                </a>
92
                                            [% END %]
93
                                            [% IF ( ite.mandatory ) %] <span class="required">Required</span>[% END %]
94
                                        </div> [%# /.subfield_line %]
95
                                    </li>
96
                                [% END # /foreach ite %]
97
                            </ol>
98
                        </fieldset>
99
                        <input type="hidden" name="indicator" value=" " />
100
                        <input type="hidden" name="indicator" value=" " />
101
                        <input type="hidden" name="itemnumber" value="[% itemnumber %]" />
102
103
                        [%# Fields for fast cataloging %]
104
                        <input type="hidden" name="circborrowernumber" value="[% circborrowernumber %]" />
105
                        <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
106
                        <input type="hidden" name="barcode" value="[% barcode %]" />
107
                        <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
108
                        [%# End fields for fast cataloging %]
109
110
                    </form>
111
112
                </div> [%# /.modal-body  %]
113
                <div class="modal-footer">
114
                    [% IF ( opisadd ) %]
115
                        <input type="submit" name="phony_submit" value="phony_submit" id="phony_submit" style="display:none;" onclick="return false;" />
116
                        [%# Note : We use here a false submit button because we have several submit buttons and we don't want the user to believe they validated the adding of multiple items when pressing the enter key, while in fact it is the first submit button that is validated, in our case the "add (single) item" button. It is a bit tricky, but necessary in the sake of UI correctness. %]
117
                        <span id="addsingle">
118
                            <button type="submit" class="btn btn-default btn-sm" name="add_submit" onclick="return Check(this.form)">
119
                                Add item
120
                            </button>
121
                            <button type="submit" class="btn btn-default btn-sm" name="add_duplicate_submit" onclick="return Check(this.form)">
122
                                Add &amp; duplicate
123
                            </button>
124
                        </span>
125
                        <span id="addmultiple">
126
                            <button type="button" class="btn btn-default btn-sm" name="add_multiple_copies" id="add_multiple_copies">
127
                                Add multiple copies of this item
128
                            </button>
129
                        </span>
130
                        <fieldset id="add_multiple_copies_span">
131
                            <label for="number_of_copies">Number of copies of this item to add: </label>
132
                            <input type="text" id="number_of_copies" name="number_of_copies" value="" size="2" />
133
                            <input type="submit" id="add_multiple_copies_submit" name="add_multiple_copies_submit" value="Add" onclick="javascript:return Check(this.form) && CheckMultipleAdd(this.form.number_of_copies.value);" />
134
                            <a href="#" id="cancel_add_multiple" class="cancel">Cancel</a>
135
                            <div class="hint"><p>The barcode you enter will be incremented for each additional item.</p></div>
136
                        </fieldset>
137
                    [% ELSE %]
138
                        <input type="hidden" name="tag" value="[% itemtagfield %]" />
139
                        <input type="hidden" name="subfield" value="[% itemtagsubfield %]" />
140
                        <input type="hidden" name="field_value" value="[% itemnumber %]" />
141
                        <input type="submit" value="Save changes" onclick="return Check(this.form)">
142
                        <input type="button" id="addnewitem" value="Add a new item">
143
                        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]">Cancel</a>
144
                    [% END %]
145
                </div>
146
            </div>
147
        </div>
148
    </div>
149
</div> [%# /#cataloguing_additem_newitem %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-132 / +24 lines)
Lines 17-22 Link Here
17
    browser.show();
17
    browser.show();
18
18
19
$(document).ready(function(){
19
$(document).ready(function(){
20
    var view_menu = $("#menu");
21
    view_menu.hide();
22
    var menu_html = view_menu.find("ul").html();
23
    $("#item_edit_view_menu").append( menu_html );
20
24
21
    // Remove the onclick event defined in browser.js,
25
    // Remove the onclick event defined in browser.js,
22
    // otherwise the deletion confirmation will not work correctly
26
    // otherwise the deletion confirmation will not work correctly
Lines 133-142 function confirm_deletion() { Link Here
133
[% Asset.css("css/addbiblio.css") %]
137
[% Asset.css("css/addbiblio.css") %]
134
138
135
[% INCLUDE 'select2.inc' %]
139
[% INCLUDE 'select2.inc' %]
136
<script type="text/javascript">
140
<script>
137
  $(document).ready(function() {
141
    $(document).ready(function() {
138
    $('.subfield_line select').select2();
142
        $("#addItemModal").on("shown.bs.modal", function(e){
139
  });
143
            $('.subfield_line select').select2();
144
        });
145
    });
140
</script>
146
</script>
141
147
142
[% IF ( bidi ) %]
148
[% IF ( bidi ) %]
Lines 159-164 function confirm_deletion() { Link Here
159
   <div id="bd">
165
   <div id="bd">
160
	<div id="yui-main">
166
	<div id="yui-main">
161
167
168
        <div id="toolbar">
169
            <div class="btn-group">
170
                <button type="button" class="btn btn-default btn-sm" data-toggle="modal" data-target="#addItemModal"><i class="fa fa-plus"></i> Add items</button>
171
            </div>
172
            <div class="btn-group">
173
                <button class="btn btn-default btn-sm dropdown-toggle" id="item_edit_view" data-toggle="dropdown">
174
                    <i class="fa fa-eye"></i> View <span class="caret"></span>
175
                </button>
176
                <ul class="dropdown-menu" id="item_edit_view_menu">
177
                </ul>
178
            </div>
179
        </div>
180
162
<h1>Items for [% title |html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber %])</h1>
181
<h1>Items for [% title |html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber %])</h1>
163
182
164
[% IF ( barcode_not_unique ) %]<div class="dialog alert"><strong>Error saving item</strong>: Barcode must be unique.</div>[% END %]
183
[% IF ( barcode_not_unique ) %]<div class="dialog alert"><strong>Error saving item</strong>: Barcode must be unique.</div>[% END %]
Lines 245-379 function confirm_deletion() { Link Here
245
[% INCLUDE 'biblio-view-menu.inc' %]
264
[% INCLUDE 'biblio-view-menu.inc' %]
246
</div>
265
</div>
247
<div class="yui-u">
266
<div class="yui-u">
248
<div id="cataloguing_additem_newitem">
249
    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
250
    <input type="hidden" name="op" value="[% op %]" />
251
    [% IF (popup) %]
252
        <input type="hidden" name="popup" value="1" />
253
    [% END %]
254
    <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
255
    [% IF ( opisadd ) %]
256
        <h2 id="additema">Add item [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]</h2>
257
    [% ELSE %]
258
        <h2 id="edititem">Edit Item #[% itemnumber %][% IF ( barcode ) %] / Barcode [% barcode %][% END %]</h2>
259
    [% END %]
260
	<fieldset class="rows">
261
	<ol>
262
        [% FOREACH ite IN item %]
263
               <li><div class="subfield_line" style="[% ite.visibility %]" id="subfield[% ite.tag %][% ite.subfield %][% ite.random %]">
264
                [% IF ( ite.mandatory ) %]
265
               <label class="required">[% ite.subfield %] - [% ite.marc_lib %]</label>
266
               [% ELSE %]
267
               <label>[% ite.subfield %] - [% ite.marc_lib %]</label>
268
               [% END %]
269
267
270
                [% SET mv = ite.marc_value %]
268
    [% INCLUDE 'item-add-form.inc' %]
271
                [% IF ( mv.type == 'hidden' ) %]
272
                    <input type="hidden" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]">
273
                [% ELSIF ( mv.type == 'select' ) %]
274
                    [% IF ( mv.readonly ) %]
275
                        <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor" readonly="readonly" disabled="disabled">
276
                    [% ELSE %]
277
                        <select name="field_value" id="[%- mv.id -%]" size="1" class="input_marceditor">
278
                    [% END %]
279
                    [% FOREACH aval IN mv.values %]
280
                        [% IF aval == mv.default %]
281
                        <option value="[%- aval -%]" selected="selected">[%- mv.labels.$aval -%]</option>
282
                        [% ELSE %]
283
                        <option value="[%- aval -%]">[%- mv.labels.$aval -%]</option>
284
                        [% END %]
285
                    [% END %]
286
                    </select>
287
                [% ELSIF ( mv.type == 'text_auth' ) %]
288
                    [% IF mv.readonly %]
289
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
290
                    [% ELSE %]
291
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
292
                        [% SET dopop = "Dopop('/cgi-bin/koha/authorities/auth_finder.pl?authtypecode=\"${mv.authtypecode}\"&index=${mv.id}','${mv.id}')" %]
293
                        <a href="#" class="buttonDot"  onclick="[%- dopop -%]; return false;" title="Tag editor">...</a>
294
                    [% END %]
295
                [% ELSIF ( mv.type == 'text_plugin' ) %]
296
                    [% IF mv.readonly %]
297
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
298
                    [% ELSE %]
299
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
300
                        [% IF ( mv.nopopup ) %]
301
                            <a href="#" id="buttonDot_[%- mv.id -%]" class="[%- mv.class -%]" title="No popup">...</a>
302
                        [% ELSE  %]
303
                            <a href="#" id="buttonDot_[%- mv.id -%]" class="[%- mv.class -%]" title="Tag editor">...</a>
304
                        [% END %]
305
                        [%- mv.javascript -%]
306
                    [% END %]
307
                [% ELSIF ( mv.type == 'text' ) %]
308
                    [% IF mv.readonly %]
309
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" readonly="readonly" />
310
                    [% ELSE %]
311
                        <input type="text" id="[%- mv.id -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
312
                    [% END %]
313
                [% ELSIF ( mv.type == 'textarea' ) %]
314
                    [% IF mv.readonly %]
315
                        <textarea id="[%- mv.id -%]" name="field_value" class="input_marceditor" rows="5" cols="64" readonly="readonly" >[% mv.value %]</textarea>
316
                    [% ELSE %]
317
                        <textarea id="[%- mv.id -%]" name="field_value" class="input_marceditor" rows="5" cols="64" >[% mv.value %]</textarea>
318
                    [% END %]
319
                [% END %]
320
269
321
                <input type="hidden" name="tag"       value="[% ite.tag %]" />
322
                <input type="hidden" name="subfield"  value="[% ite.subfield %]" />
323
                <input type="hidden" name="mandatory" value="[% ite.mandatory %]" />
324
                [% IF ( ite.repeatable ) %]
325
                    <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
326
                        <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
327
                    </a>
328
                [% END %]
329
                [% IF ( ite.mandatory ) %] <span class="required">Required</span>[% END %]
330
            </div></li>
331
        [% END %]
332
    </ol>
333
    </fieldset>
334
    <input type="hidden" name="indicator" value=" " />
335
    <input type="hidden" name="indicator" value=" " />
336
    <input type="hidden" name="itemnumber" value="[% itemnumber %]" />
337
338
<fieldset class="action">    [% IF ( opisadd ) %]
339
    <input type="submit" name="phony_submit" value="phony_submit" id="phony_submit" style="display:none;" onclick="return false;" />
340
    <!-- Note : We use here a false submit button because we have several submit buttons and we don't want the user to believe they validated the adding of multiple items
341
		when pressing the enter key, while in fact it is the first submit button that is validated, in our case the "add (single) item" button.
342
		It is a bit tricky, but necessary in the sake of UI correctness.
343
    -->
344
    <span id="addsingle">
345
        <input type="submit" name="add_submit" value="Add item" onclick="return Check(this.form)" />
346
        <input type="submit" name="add_duplicate_submit" value="Add &amp; duplicate" onclick="return Check(this.form)" />
347
    </span>
348
    <span id="addmultiple">
349
        <input type="button" name="add_multiple_copies" id="add_multiple_copies" value="Add multiple copies of this item" />
350
    </span>
351
    <fieldset id="add_multiple_copies_span">
352
        <label for="number_of_copies">Number of copies of this item to add: </label>
353
        <input type="text" id="number_of_copies" name="number_of_copies" value="" size="2" />
354
        <input type="submit" id="add_multiple_copies_submit" name="add_multiple_copies_submit" value="Add" onclick="javascript:return Check(this.form) && CheckMultipleAdd(this.form.number_of_copies.value);" /> <a href="#" id="cancel_add_multiple" class="cancel">Cancel</a>
355
        <div class="hint"><p>The barcode you enter will be incremented for each additional item.</p></div>
356
    </fieldset>
357
358
    [% ELSE %]
359
    <input type="hidden" name="tag" value="[% itemtagfield %]" />
360
    <input type="hidden" name="subfield" value="[% itemtagsubfield %]" />
361
    <input type="hidden" name="field_value" value="[% itemnumber %]" />
362
    <input type="submit" value="Save changes" onclick="return Check(this.form)">
363
    <input type="button" id="addnewitem" value="Add a new item">
364
    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]">Cancel</a>
365
    [% END %]</fieldset>
366
    
367
    [%# Fields for fast cataloging %]
368
    <input type="hidden" name="circborrowernumber" value="[% circborrowernumber %]" />
369
    <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
370
    <input type="hidden" name="barcode" value="[% barcode %]" />
371
    <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
372
    [%# End fields for fast cataloging %]
373
374
375
    </form>
376
</div>
377
</div><!-- /yui-u -->
270
</div><!-- /yui-u -->
378
</div><!-- /yui-gf -->
271
</div><!-- /yui-gf -->
379
272
380
- 

Return to bug 13680