Bug 24857: Add ability to set item group when adding a new item
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / additem.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE Branches %]
5 [% USE KohaDates %]
6 [% USE TablesSettings %]
7 [% INCLUDE 'doc-head-open.inc' %]
8 <title>Items &rsaquo; [% biblio.title | html %] [% IF ( biblio.author ) %] by [% biblio.author | html %][% END %] (Record #[% biblio.biblionumber | html %]) &rsaquo; Cataloging &rsaquo; Koha</title>
9 [% INCLUDE 'doc-head-close.inc' %]
10 [% Asset.css("css/addbiblio.css") | $raw %]
11 [% INCLUDE 'datatables.inc' %]
12 <script>
13     [% IF Koha.Preference('CreateAVFromCataloguing') && CAN_user_parameters_manage_auth_values %]
14         var auth_values_creation = 1;
15     [% ELSE %]
16         var auth_values_creation = 0;
17     [% END %]
18 </script>
19 [% INCLUDE 'select2.inc' %]
20 [% Asset.js("js/cataloging.js") | $raw %]
21 [% INCLUDE 'columns_settings.inc' %]
22 [% Asset.js("js/browser.js") | $raw %]
23 [% INCLUDE 'calendar.inc' %]
24 [% INCLUDE 'str/cataloging_additem.inc' %]
25 [% Asset.js("js/cataloging_additem.js") | $raw %]
26     <script>
27       var has_item_groups = "[% item_groups.size | html %]";
28     </script>
29 </head>
30
31 <body id="cat_additem" class="cat">
32 [% INCLUDE 'header.inc' %]
33 [% INCLUDE 'cataloging-search.inc' %]
34
35 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
36     <ol>
37         <li>
38           <a href="/cgi-bin/koha/mainpage.pl">Home</a>
39         </li>
40         <li>
41             <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>
42         </li>
43         <li>
44             <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblio.biblionumber | uri %]">Edit <em>[% biblio.title | html %] [% IF ( biblio.author ) %] by [% biblio.author | html %][% END %] (Record #[% biblio.biblionumber | html %])</em></a>
45         </li>
46         <li>
47             <a href="#" aria-current="page">
48                 Items
49             </a>
50         </li>
51     </ol>
52 </nav>
53
54 <div class="main container-fluid">
55     <div class="row">
56         <div class="col-sm-12">
57             <main>
58                 [% INCLUDE 'blocking_errors.inc' %]
59 <h1>Items for [% biblio.title | html %] [% IF ( biblio.author ) %] by [% biblio.author | html %][% END %] (Record #[% biblio.biblionumber | html %])</h1>
60
61 [% IF ( barcode_not_unique ) %]<div class="dialog alert"><strong>Error saving item</strong>: Barcode must be unique.</div>[% END %]
62 [% 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 %]
63 [% IF ( book_on_loan ) %]<div class="dialog alert"><strong>Cannot delete</strong>: item is checked out.</div>[% END %]
64 [% IF ( book_reserved ) %]<div class="dialogalert"><strong>Cannot delete</strong>: item has a waiting hold.</div>[% END %]
65 [% IF ( not_same_branch ) %]<div class="dialog alert"><strong>Cannot delete</strong>: The items do not belong to your library.</div>[% END %]
66 [% IF ( linked_analytics ) %]<div class="dialog alert"><strong>Cannot delete</strong>: item has linked <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;analyze=1">analytics.</a>.</div>[% END %]
67 [% 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 %]
68
69 <div id="cataloguing_additem_itemlist">
70     [% IF items %]
71         [% SET date_fields = [ 'dateaccessioned', 'onloan', 'datelastseen', 'datelastborrowed', 'replacementpricedate' ] %]
72         <div>
73         <table id="itemst">
74           <thead>
75             <tr>
76                 <th class="NoSort">&nbsp;</th>
77                 [% FOREACH item_header IN item_header_loop %]
78                     <th data-colname="[% item_header.attribute | html %]">
79                         [% item_header.header_value | html %]
80                     </th>
81                 [% END %]
82             </tr>
83           </thead>
84           <tbody>
85                 [% FOREACH item IN items %]
86                     [% SET can_be_edited = ! ( Koha.Preference('IndependentBranches') && ! logged_in_user.is_superlibrarian && item.homebranch != Branches.GetLoggedInBranchname() ) %]
87                     [% IF item.itemnumber == itemnumber%]
88                         [% UNLESS can_be_edited %]
89                            <tr id="row[% item.itemnumber | html %]" class="active">
90                         [% ELSE %]
91                             <tr id="row[% item.itemnumber | html %]" class="active editable">
92                         [% END %]
93                     [% ELSE %]
94                         [% UNLESS can_be_edited %]
95                            <tr id="row[% item.itemnumber | html %]">
96                         [% ELSE %]
97                             <tr id="row[% item.itemnumber | html %]" class="editable">
98                         [% END %]
99                     [% END %]
100                     [% UNLESS can_be_edited %]
101                       <td>&nbsp;</td>
102                     [% ELSE %]
103                       <td>
104                           <div class="btn-group dropup">
105                           <a class="btn btn-default btn-xs dropdown-toggle" id="itemactions[% item.itemnumber | html %]" role="button" data-toggle="dropdown" href="#">
106                               Actions <b class="caret"></b>
107                           </a>
108                           <ul class="dropdown-menu" role="menu" aria-labelledby="itemactions[% item.itemnumber | html %]">
109
110                         [% IF item.biblionumber != biblio.biblionumber %] [%# Host item %]
111                               <li><a href="additem.pl?op=edititem&amp;biblionumber=[% item.biblionumber | uri %]&amp;itemnumber=[% item.itemnumber | uri %]#edititem">Edit in host</a> &nbsp; <a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblio.biblionumber | html %]&amp;hostitemnumber=[% item.itemnumber | html %]&amp;searchid=[% searchid | html %]">Delink</a></li>
112                         [% ELSE %]
113                               <li><a href="additem.pl?op=edititem&amp;biblionumber=[% biblio.biblionumber | uri %]&amp;itemnumber=[% item.itemnumber | uri %]&amp;searchid=[% searchid | uri %]#edititem">Edit</a></li>
114                               <li><a href="additem.pl?op=dupeitem&amp;biblionumber=[% biblio.biblionumber | uri %]&amp;itemnumber=[% item.itemnumber | uri %]&amp;searchid=[% searchid | uri %]#additema">Duplicate</a></li>
115                               <li class="print_label"><a href="/cgi-bin/koha/labels/label-edit-batch.pl?op=add&amp;number_type=itemnumber&amp;number_list=[% item.itemnumber | uri %]" target="_blank" >Print label</a></li>
116                               <li><a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% item.biblionumber | html %]&amp;itemnumber=[% item.itemnumber | html %]&amp;searchid=[% searchid | html %]" onclick="return confirm_deletion();">Delete</a></li>
117                         [% END %]
118                             [% IF ( OPACBaseURL ) %]
119                                 <li class="view-in-opac"><a target="_blank" href="[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% item.biblionumber | uri %]">OPAC view</a></li>
120                             [% END %]
121                           </ul>
122                           </div>
123                       </td>
124                     [% END %]
125                 [% FOREACH header IN item_header_loop %]
126                     [% SET attribute = header.attribute %]
127                     [% IF header.attribute AND date_fields.grep('^' _ attribute _ '$').size %]
128                         <td data-order="[% item.$attribute | html %]">[% item.$attribute | $KohaDates %]</td>
129                     [% ELSE %]
130                         <td>[% item.$attribute | html %]</td>
131                     [% END %]
132                 [% END %]
133                 </tr>
134                 [% END %]
135           </tbody>
136         </table>
137         </div>
138     [% END %]
139
140 <div class="row">
141     <div class="col-sm-2">
142         [% INCLUDE 'biblio-view-menu.inc' %]
143     </div>
144     <div class="col-sm-10">
145
146 <div id="cataloguing_additem_newitem">
147     <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblio.biblionumber | html %]" name="f">
148     <input type="hidden" name="op" value="[% op | html %]" />
149     [% IF (popup) %]
150         <input type="hidden" name="popup" value="1" />
151     [% END %]
152     <input type="hidden" name="biblionumber" value="[% biblio.biblionumber | html %]" />
153     [% IF op != 'saveitem' %]
154         <h2 id="additema">Add item [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]</h2>
155     [% ELSE %]
156         <h2 id="edititem">Edit item #[% itemnumber | html %][% IF ( barcode ) %] / Barcode [% barcode | html %][% END %]</h2>
157     [% END %]
158         <fieldset class="rows">
159         [% PROCESS subfields_for_item subfields => subfields %]
160     </fieldset>
161     [% IF op != 'add_item' %]
162         <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
163     [% END %]
164
165 [% IF item_groups.size && op != 'saveitem' && CAN_user_editcatalogue_manage_item_groups %]
166     <fieldset class="rows">
167         <legend><i class="fa fa-plus"></i> Add to item group</legend>
168         [% FOREACH ig IN item_groups %]
169             <input type="hidden" id="item-group-[% ig.id | html %]" value="[% ig.description | html %]" />
170         [% END %]
171         <p>
172             <label for="select_item_group">Options: </label>
173             <select name="item_group" id="item-group-add-or-create-form-select">
174                 <optgroup label="Use existing item group">
175                     [% FOREACH ig IN item_groups %]
176                         <option value="[% ig.id | html %]">Use: [% ig.description | html %]</option>
177                     [% END %]
178                 </optgroup>
179                 <optgroup label="Other options">
180                     <option id="item-group-add-or-create-form-no-add" value="">Do not add to item group</option>
181                     <option value="create">Create new item group</option>
182                 </optgroup>
183             </select>
184         </p>
185
186         <p id="item-group-add-or-create-form-description-block">
187             <label for="item_group_description" class="required">Name: </label>
188             <input name="item_group_description" id="item-group-add-or-create-form-description" type="text" size="30" class="required" />
189             <span class="required">Required</span>
190         </p>
191     </fieldset>
192 [% END %]
193
194 <fieldset class="action">    [% IF op != 'saveitem' %]
195     <input type="submit" name="phony_submit" value="phony_submit" id="phony_submit" style="display:none;" onclick="return false;" />
196     <!-- 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
197                 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.
198                 It is a bit tricky, but necessary in the sake of UI correctness.
199     -->
200     <span id="addsingle">
201         <input type="submit" name="add_submit" value="Add item" onclick="return Check(this.form)" />
202         <input type="submit" name="add_duplicate_submit" value="Add &amp; duplicate" onclick="return Check(this.form)" />
203     </span>
204     <span id="addmultiple">
205         <input type="button" name="add_multiple_copies" id="add_multiple_copies" value="Add multiple copies of this item" />
206     </span>
207     <fieldset id="add_multiple_copies_span">
208         <label for="number_of_copies">Number of copies of this item to add: </label>
209         <input type="text" id="number_of_copies" name="number_of_copies" value="" size="2" />
210         <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>
211         <div class="hint"><p>The barcode you enter will be incremented for each additional item.</p></div>
212     </fieldset>
213
214     [% ELSE %]
215     [% IF op != 'add_item' %]
216         <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
217     [% END %]
218     <input type="submit" value="Save changes" onclick="return Check(this.form)">
219     <input type="button" id="addnewitem" value="Add a new item">
220     <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.biblionumber | uri %]">Cancel</a>
221     [% END %]</fieldset>
222
223     [%# Fields for fast cataloging %]
224     <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
225     <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
226     <input type="hidden" name="barcode" value="[% barcode | html %]" />
227     <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
228     [%# End fields for fast cataloging %]
229
230
231     </form>
232
233     [% INCLUDE 'modals/cataloguing_create_av.inc' %]
234
235                             </div> <!-- /#cataloguing_additem_newitem -->
236                         </div> <!-- /.col-sm-10 -->
237                     </div> <!-- /.row -->
238                 </div> <!-- /#cataloguing_additem_itemlist -->
239             </main>
240         </div> <!-- /.col-sm-12 -->
241     </div> <!-- /.row -->
242
243 [% MACRO jsinclude BLOCK %]
244 [% END %]
245
246 [% INCLUDE 'intranet-bottom.inc' %]