e05b55f2ef03b982b00111cf090f4c0b72058f95
[koha-equinox.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / additem.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE KohaDates %]
5 [% USE TablesSettings %]
6 [% INCLUDE 'doc-head-open.inc' %]
7 <title>Koha &rsaquo; Cataloging &rsaquo; [% title | html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber | html %]) &rsaquo; Items</title>
8 [% INCLUDE 'doc-head-close.inc' %]
9 [% Asset.css("css/addbiblio.css") | $raw %]
10 [% INCLUDE 'datatables.inc' %]
11 <script>
12     var CAN_user_parameters_manage_auth_values = "[% CAN_user_parameters_manage_auth_values | html %]";
13 </script>
14 [% INCLUDE 'select2.inc' %]
15 [% Asset.js("js/cataloging.js") | $raw %]
16 [% INCLUDE 'columns_settings.inc' %]
17 [% INCLUDE 'strings.inc' %]
18 [% Asset.js("js/browser.js") | $raw %]
19 [% INCLUDE 'calendar.inc' %]
20 [% INCLUDE 'str/cataloging_additem.inc' %]
21 [% Asset.js("js/cataloging_additem.js") | $raw %]
22 </head>
23
24 <body id="cat_additem" class="cat">
25 [% INCLUDE 'header.inc' %]
26 [% INCLUDE 'cataloging-search.inc' %]
27
28 <div id="breadcrumbs">
29           <a href="/cgi-bin/koha/mainpage.pl">Home</a>
30  &rsaquo; <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>
31  &rsaquo; Edit <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber | uri %]">[% title | html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber | html %])</a>
32  &rsaquo; <a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber | uri %]">Items</a>
33 </div>
34
35 <div class="main container-fluid">
36     <div class="row">
37         <div class="col-sm-12">
38             <main>
39                 [% INCLUDE 'blocking_errors.inc' %]
40 <h1>Items for [% title | html %] [% IF ( author ) %] by [% author | html %][% END %] (Record #[% biblionumber | html %])</h1>
41
42 [% IF ( barcode_not_unique ) %]<div class="dialog alert"><strong>Error saving item</strong>: Barcode must be unique.</div>[% END %]
43 [% IF ( no_next_barcode ) %]<div class="dialog alert"><strong>Error saving items</strong>: Unable to automatically determine values for barcodes. No item has been inserted.</div>[% END %]
44 [% IF ( book_on_loan ) %]<div class="dialog alert"><strong>Cannot delete</strong>: item is checked out.</div>[% END %]
45 [% IF ( book_reserved ) %]<div class="dialogalert"><strong>Cannot delete</strong>: item has a waiting hold.</div>[% END %]
46 [% IF ( not_same_branch ) %]<div class="dialog alert"><strong>Cannot delete</strong>: The items do not belong to your library.</div>[% END %]
47 [% IF ( linked_analytics ) %]<div class="dialog alert"><strong>Cannot delete</strong>: item has linked <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]&amp;analyze=1">analytics.</a>.</div>[% END %]
48 [% IF last_item_for_hold %]<div class="dialog alert"><strong>Cannot delete</strong>: Last item for bibliographic record with biblio-level hold on it.</div>[% END %]
49
50 <div id="cataloguing_additem_itemlist">
51     [% IF ( item_loop ) %]
52         [% SET date_fields = [ 'dateaccessioned', 'onloan', 'datelastseen', 'datelastborrowed', 'replacementpricedate' ] %]
53         <div>
54         <table id="itemst">
55           <thead>
56             <tr>
57                 <th class="NoSort">&nbsp;</th>
58                 [% FOREACH item_header IN item_header_loop %]
59                     [% IF item_header.column_name %]
60                         [% IF date_fields.grep(item_header.column_name).size %]
61                             <th class="title-string" data-colname="[% item_header.column_name | html %]">
62                         [% ELSE %]
63                             <th data-colname="[% item_header.column_name | html %]">
64                         [% END %]
65                     [% ELSE %]
66                         <th>
67                     [% END %]
68                         [% item_header.header_value | html %]
69                     </th>
70                 [% END %]
71             </tr>
72           </thead>
73           <tbody>
74                 [% FOREACH item_loo IN item_loop %]
75                     [% IF ( item_loo.itemnumber == itemnumber) %]
76                         [% IF item_loo.nomod %]
77                            <tr id="row[% item_loo.itemnumber | html %]" class="active">
78                         [% ELSE %]
79                             <tr id="row[% item_loo.itemnumber | html %]" class="active editable">
80                         [% END %]
81                     [% ELSE %]
82                         [% IF item_loo.nomod %]
83                            <tr id="row[% item_loo.itemnumber | html %]">
84                         [% ELSE %]
85                             <tr id="row[% item_loo.itemnumber | html %]" class="editable">
86                         [% END %]
87                     [% END %]
88                     [% IF ( item_loo.nomod ) %]
89                       <td>&nbsp;</td>
90                     [% ELSE %]
91                       <td>
92                           <div class="btn-group dropup">
93                           <a class="btn btn-default btn-xs dropdown-toggle" id="itemactions[% item_loo.itemnumber | html %]" role="button" data-toggle="dropdown" href="#">
94                               Actions <b class="caret"></b>
95                           </a>
96                           <ul class="dropdown-menu" role="menu" aria-labelledby="itemactions[% item_loo.itemnumber | html %]">
97
98                         [% IF ( item_loo.hostitemflag ) %]
99                               <li><a href="additem.pl?op=edititem&amp;biblionumber=[% item_loo.hostbiblionumber | uri %]&amp;itemnumber=[% item_loo.itemnumber | uri %]#edititem">Edit in host</a> &nbsp; <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblionumber | html %]&amp;hostitemnumber=[% item_loo.itemnumber | html %]&amp;searchid=[% searchid | html %]">Delink</a></li>
100                         [% ELSE %]
101                               <li><a href="additem.pl?op=edititem&amp;biblionumber=[% biblionumber | uri %]&amp;itemnumber=[% item_loo.itemnumber | uri %]&amp;searchid=[% searchid | uri %]#edititem">Edit</a></li>
102                               <li><a href="additem.pl?op=dupeitem&amp;biblionumber=[% biblionumber | uri %]&amp;itemnumber=[% item_loo.itemnumber | uri %]&amp;searchid=[% searchid | uri %]#additema">Duplicate</a></li>
103                               <li class="print_label"><a href="/cgi-bin/koha/labels/label-edit-batch.pl?op=add&amp;number_type=itemnumber&amp;number_list=[% item_loo.itemnumber | uri %]" target="_blank" >Print label</a></li>
104                           [% IF ( item_loo.countanalytics ) %]
105                               <li><a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&amp;q=% item_loo.itemnumber %]">View analytics</a></li>
106                           [% ELSE %]
107                               <li><a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% biblionumber | html %]&amp;itemnumber=[% item_loo.itemnumber | html %]&amp;searchid=[% searchid | html %]" onclick="return confirm_deletion();">Delete</a></li>
108                           [% END %]
109                         [% END %]
110                             [% IF ( OPACBaseURL ) %]
111                                 <li class="view-in-opac"><a target="_blank" href="[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber | uri %]">OPAC view</a></li>
112                             [% END %]
113                           </ul>
114                           </div>
115                       </td>
116                     [% END %]
117                 [% FOREACH item_valu IN item_loo.item_value %]
118                     [% IF item_valu.datatype == 'date' %]
119                         <td><span title="[% item_valu.field | html %]">[% item_valu.field | $KohaDates %]</span></td>
120                     [% ELSE %]
121                         <td>[% item_valu.field | html %]</td>
122                     [% END %]
123                 [% END %]
124                 </tr>
125                 [% END %]
126           </tbody>
127         </table>
128         </div>
129     [% END %]
130
131 <div class="row">
132     <div class="col-sm-2">
133         [% INCLUDE 'biblio-view-menu.inc' %]
134     </div>
135     <div class="col-sm-10">
136
137 <div id="cataloguing_additem_newitem">
138     <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber | html %]" name="f">
139     <input type="hidden" name="op" value="[% op | html %]" />
140     [% IF (popup) %]
141         <input type="hidden" name="popup" value="1" />
142     [% END %]
143     <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
144     [% IF op != 'saveitem' %]
145         <h2 id="additema">Add item [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]</h2>
146     [% ELSE %]
147         <h2 id="edititem">Edit Item #[% itemnumber | html %][% IF ( barcode ) %] / Barcode [% barcode | html %][% END %]</h2>
148     [% END %]
149         <fieldset class="rows">
150         <ol>
151         [% FOREACH ite IN item %]
152                <li><div class="subfield_line" style="[% ite.visibility | html %]" id="subfield[% ite.tag | html %][% ite.subfield | html %][% ite.random | html %]">
153                 [% IF ( ite.mandatory ) %]
154                <label class="required">[% ite.subfield | html %] - [% ite.marc_lib | $raw %]</label>
155                [% ELSE %]
156                <label>[% ite.subfield | html %] - [% ite.marc_lib | $raw %]</label>
157                [% END %]
158
159                 [% SET mv = ite.marc_value %]
160                 [% IF ( mv.type == 'hidden' ) %]
161                     <input type="hidden" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]">
162                 [% ELSIF ( mv.type == 'select' ) %]
163                     [% IF ( mv.readonly || ite.IS_RETURN_CLAIM ) %]
164                         <select name="field_value" id="[%- mv.id | html -%]" size="1" class="input_marceditor select2" readonly="readonly" disabled="disabled">
165                     [% ELSE %]
166                         [% IF mv.category AND CAN_user_parameters_manage_auth_values %]
167                             <select name="field_value" id="[%- mv.id | html -%]" size="1" class="input_marceditor" data-category="[% mv.category | html %]">
168                         [% ELSE %]
169                             <select name="field_value" id="[%- mv.id | html -%]" size="1" class="input_marceditor select2">
170                         [% END %]
171                     [% END %]
172                     [% FOREACH aval IN mv.values %]
173                         [% IF aval == mv.default %]
174                         <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
175                         [% ELSE %]
176                             [% IF ite.IS_LOST_AV && Koha.Preference("ClaimReturnedLostValue") && aval == Koha.Preference("ClaimReturnedLostValue") %]
177                                 <option disabled="disabled" value="[%- aval | html -%]" title="Return claims must be processed from the patron details page">[%- mv.labels.$aval | html -%]</option>
178                             [%  ELSE %]
179                                 <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
180                             [% END %]
181                         [% END %]
182                     [% END %]
183                     </select>
184                 [% ELSIF ( mv.type == 'text_auth' ) %]
185                     [% IF mv.readonly %]
186                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" readonly="readonly" />
187                     [% ELSE %]
188                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
189                         [% SET dopop = "Dopop('/cgi-bin/koha/authorities/auth_finder.pl?authtypecode=\"${mv.authtypecode}\"&index=${mv.id}','${mv.id}')" %]
190                         <a href="#" class="buttonDot"  onclick="[%- dopop | html -%]; return false;" title="Tag editor">...</a>
191                     [% END %]
192                 [% ELSIF ( mv.type == 'text_plugin' ) %]
193                     [% IF mv.readonly %]
194                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" readonly="readonly" />
195                     [% ELSE %]
196                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
197                         [% IF ( mv.nopopup ) %]
198                             <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="No popup">...</a>
199                         [% ELSE  %]
200                             <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="Tag editor">...</a>
201                         [% END %]
202                         [%- mv.javascript | $raw -%]
203                     [% END %]
204                 [% ELSIF ( mv.type == 'text' ) %]
205                     [% IF mv.readonly %]
206                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" readonly="readonly" />
207                     [% ELSE %]
208                         <input type="text" id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" size="50" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
209                     [% END %]
210                 [% ELSIF ( mv.type == 'textarea' ) %]
211                     [% IF mv.readonly %]
212                         <textarea id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" rows="5" cols="64" readonly="readonly" >[% mv.value | html %]</textarea>
213                     [% ELSE %]
214                         <textarea id="[%- mv.id | html -%]" name="field_value" class="input_marceditor" rows="5" cols="64" >[% mv.value | html %]</textarea>
215                     [% END %]
216                 [% END %]
217
218                 <input type="hidden" name="tag"       value="[% ite.tag | html %]" />
219                 <input type="hidden" name="subfield"  value="[% ite.subfield | html %]" />
220                 <input type="hidden" name="mandatory" value="[% ite.mandatory | html %]" />
221                 <input type="hidden" name="important" value="[% ite.important | html %]" />
222                 [% IF ( ite.repeatable ) %]
223                     <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode.parentNode); return false;">
224                         <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
225                     </a>
226                 [% END %]
227                 [% IF ( ite.mandatory ) %] <span class="required">Required</span>
228                 [% ELSIF ( ite.important ) %] <span class="important">Important</span>
229                 [% END %]
230             </div></li>
231         [% END %]
232     </ol>
233     </fieldset>
234     <input type="hidden" name="indicator" value=" " />
235     <input type="hidden" name="indicator" value=" " />
236     <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
237
238 <fieldset class="action">    [% IF op != 'saveitem' %]
239     <input type="submit" name="phony_submit" value="phony_submit" id="phony_submit" style="display:none;" onclick="return false;" />
240     <!-- 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
241                 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.
242                 It is a bit tricky, but necessary in the sake of UI correctness.
243     -->
244     <span id="addsingle">
245         <input type="submit" name="add_submit" value="Add item" onclick="return Check(this.form)" />
246         <input type="submit" name="add_duplicate_submit" value="Add &amp; duplicate" onclick="return Check(this.form)" />
247     </span>
248     <span id="addmultiple">
249         <input type="button" name="add_multiple_copies" id="add_multiple_copies" value="Add multiple copies of this item" />
250     </span>
251     <fieldset id="add_multiple_copies_span">
252         <label for="number_of_copies">Number of copies of this item to add: </label>
253         <input type="text" id="number_of_copies" name="number_of_copies" value="" size="2" />
254         <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>
255         <div class="hint"><p>The barcode you enter will be incremented for each additional item.</p></div>
256     </fieldset>
257
258     [% ELSE %]
259     <input type="hidden" name="tag" value="[% itemtagfield | html %]" />
260     <input type="hidden" name="subfield" value="[% itemtagsubfield | html %]" />
261     <input type="hidden" name="field_value" value="[% itemnumber | html %]" />
262     <input type="submit" value="Save changes" onclick="return Check(this.form)">
263     <input type="button" id="addnewitem" value="Add a new item">
264     <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]">Cancel</a>
265     [% END %]</fieldset>
266
267     [%# Fields for fast cataloging %]
268     <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
269     <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
270     <input type="hidden" name="barcode" value="[% barcode | html %]" />
271     <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
272     [%# End fields for fast cataloging %]
273
274
275     </form>
276
277     [% INCLUDE 'modals/cataloguing_create_av.inc' %]
278
279                             </div> <!-- /#cataloguing_additem_newitem -->
280                         </div> <!-- /.col-sm-10 -->
281                     </div> <!-- /.row -->
282                 </div> <!-- /#cataloguing_additem_itemlist -->
283             </main>
284         </div> <!-- /.col-sm-12 -->
285     </div> <!-- /.row -->
286
287 [% INCLUDE 'intranet-bottom.inc' %]