d8f3f0d0704e30824b553ee901b1f2b86f8035a3
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / additional-fields.tt
1 [% USE AuthorisedValues %]
2 [% SET footerjs = 1 %]
3 [% INCLUDE 'doc-head-open.inc' %]
4 <title>Koha &rsaquo; Administration &rsaquo;
5     [% SWITCH op %]
6         [% CASE 'add_form' %][% IF field %]Modify additional field '[% field.name | html %]'[% ELSE %]Add additional field[% END %]
7         [% CASE %]Manage additional fields
8     [% END %]
9 </title>
10 [% INCLUDE 'doc-head-close.inc' %]
11 </head>
12
13 [% marcfield_tables = ['subscription'] %]
14 [% show_marcfield = marcfield_tables.grep('^' _ tablename _ '$').size ? 1 : 0 %]
15
16 <body id="ser_add_fields" class="ser">
17     [% INCLUDE 'header.inc' %]
18     [% INCLUDE 'cat-search.inc' %]
19
20     <div id="breadcrumbs">
21         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo;
22         [% SWITCH op %]
23             [% CASE 'add_form' %]<a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a> &rsaquo; [% IF field %]Modify field '[% field.name | html %]'[% ELSE %]Add field[% END %]
24             [% CASE 'list' %]<a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a> &rsaquo; Modify fields for '[% tablename | html %]'
25             [% CASE %]Manage additional fields
26         [% END %]
27     </div>
28
29     <div id="doc3" class="yui-t2">
30     <div id="bd">
31     <div id="yui-main">
32     <div class="yui-b">
33     [% IF op == 'list' %]
34         <div id="toolbar" class="btn-toolbar">
35             <a class="btn btn-default" id="newfields" href="?op=add_form&amp;tablename=[% tablename | uri %]"><i class="fa fa-plus"></i> Create field</a>
36         </div>
37     [% END %]
38
39     [% IF messages %]
40         [% FOR message IN messages %]
41             [% IF message.code == 'insert' %]
42                 [% IF message.number > 0 %]
43                     <div class="dialog message">The field has been inserted</div>
44                 [% ELSE %]
45                     <div class="dialog alert">The field could not be inserted. Perhaps the name already exists?</div>
46                 [% END %]
47             [% ELSIF message.code == 'update' %]
48                 [% IF message.number > 0 %]
49                     <div class="dialog message">The field has been updated</div>
50                 [% ELSE %]
51                     <div class="dialog alert">The field could not be updated. Perhaps the name already exists?</div>
52                 [% END %]
53             [% ELSIF message.code == 'delete' %]
54                 [% IF message.number > 0 %]
55                     <div class="dialog message">The field has been deleted</div>
56                 [% ELSE %]
57                     <div class="dialog alert">The field could not be deleted. Check the log for errors.</div>
58                 [% END %]
59             [% END %]
60         [% END %]
61     [% END %]
62
63     [% IF op == 'list_tables' %]
64         [% IF CAN_user_acquisitions_order_manage || CAN_user_serials_edit_subscription %]
65         <h3>Additional fields</h3>
66         <p>Select a table:</p>
67         [% BLOCK table_option %]
68             <li><a href="?tablename=[% value | uri %]">[% content | html %] (<tt>[% value | html %]</tt>)</a></li>
69         [% END %]
70         <ul>
71             [% IF CAN_user_acquisition_order_manage %]
72                 [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
73             [% END %]
74             [% IF CAN_user_serials_edit_subscription %]
75                 [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
76             [% END %]
77         </ul>
78         [% ELSE %]
79             Additional permissions in the acquisitions or serials modules are required for editing additional fields
80         [% END %]
81     [% ELSIF op == 'list' %]
82         <h3>Additional fields for '[% tablename | html %]'</h3>
83         [% IF fields %]
84             <table id="fieldst">
85                 <thead>
86                     <tr>
87                         <th>Name</th>
88                         <th>Authorised value category</th>
89                         [% IF show_marcfield %]
90                             <th>MARC field</th>
91                         [% END %]
92                         <th>Searchable</th>
93                         <th>Actions</th>
94                     </tr>
95                 </thead>
96                 <tbody>
97                     [% FOR field IN fields %]
98                         <tr>
99                             <td>[% field.name | html %]</td>
100                             <td>[% field.authorised_value_category | html %]</td>
101                             [% IF show_marcfield %]
102                                 <td>[% field.marcfield | html %]</td>
103                             [% END %]
104                             <td>
105                                 [% IF field.searchable %]Yes[% ELSE %]No[% END %]
106                             </td>
107                             <td class="actions">
108                                 <a class="btn btn-default btn-xs" href="?op=add_form&amp;field_id=[% field.id | html %]"><i class="fa fa-pencil"></i> Edit</a>
109                                 <a class="confirmdelete btn btn-default btn-xs" href="?op=delete&amp;field_id=[% field.id | uri %]&amp;tablename=[% tablename | uri %]"><i class="fa fa-trash"></i> Delete</a>
110                             </td>
111                         </tr>
112                     [% END %]
113                 </tbody>
114             </table>
115         [% ELSE %]
116             [% IF tablename %]There are no additional fields defined for this table.[% END %]
117         [% END %]
118     [% ELSIF op == 'add_form' %]
119         [% IF field %]
120             <h3>Modify field</h3>
121         [% ELSE %]
122             <h3>Add field</h3>
123         [% END %]
124         <form action="" name="add_form" id="add_field" method="post">
125             <fieldset class="rows">
126                 <ol>
127                     <li>
128                         <label for="name" class="required">Name: </label>
129                         <input type="text" name="name" id="name" value="[% field.name | html %]" class="required" required="required" />
130                         <span class="required">Required</span>
131                     </li>
132                     <li>
133                         <label for="av">Authorised value category: </label>
134                         <select name="authorised_value_category">
135                             <option value="">None</option>
136                             [% PROCESS options_for_authorised_value_categories authorised_value_categories = AuthorisedValues.GetCategories({selected => field.authorised_value_category}) %]
137                         </select>
138                     </li>
139                     [% IF show_marcfield %]
140                         <li>
141                             <label for="marcfield">MARC field: </label>
142                             <input type="text" name="marcfield" id="marcfield" value="[% field.marcfield | html %]" />
143                         </li>
144                     [% END %]
145                     <li>
146                         <label for="searchable">Searchable: </label>
147                         [% IF field.searchable %]
148                             <input type="checkbox" name="searchable" id="searchable" checked="checked" />
149                         [% ELSE %]
150                             <input type="checkbox" name="searchable" id="searchable" />
151                         [% END %]
152                     </li>
153                 </ol>
154             </fieldset>
155             <fieldset class="action">
156                 [% IF field %]
157                     <input type="hidden" name="field_id" value="[% field.id | html %]" />
158                 [% END %]
159                 <input type="hidden" name="tablename" value="[% tablename | html %]" />
160                 <input type="hidden" name="op" value="add" />
161                 <input type="submit" value="Save" />
162                 <a href="?tablename=[% tablename | uri %]" class="cancel">Cancel</a>
163             </fieldset>
164         </form>
165     [% END %]
166
167     </div>
168     </div>
169
170 <div class="yui-b">
171 [% INCLUDE 'admin-menu.inc' %]
172 </div>
173 </div>
174
175 [% MACRO jsinclude BLOCK %]
176     [% INCLUDE "datatables.inc" %]
177     <script>
178         $(document).ready(function(){
179             $('#selecttable').find(":submit").hide();
180             $('#selecttable select').change(function() {
181                 $('#selecttable').submit();
182             });
183
184             $("#fieldst").dataTable($.extend(true, {}, dataTablesDefaults, {
185                 'bAutoWidth': false,
186                 'sDom': 't<"bottom pager"ilpf>',
187                 'sPaginationType': 'four_button',
188                 'aLengthMenu': [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
189                 'iDisplayLength': 20,
190                 'aaSorting': [[ 0, "asc" ]],
191             }));
192
193             $(".confirmdelete").click(function(){
194                 return confirm(_("Are you sure you want to delete this field?"));
195             });
196
197             $("#add_field").on('submit', function() {
198                 if ( $("#marcfield").length && $("select[name='authorised_value_category']").length ) {
199                     if ( $("#marcfield").val().length > 0
200                         && $("select[name='authorised_value_category']" ).val().length > 0 ) {
201                         alert("You cannot select an authorised value category and a marcfield");
202                         return false;
203                     }
204                 }
205                 return true;
206             });
207         });
208     </script>
209 [% END %]
210
211 [% INCLUDE 'intranet-bottom.inc' %]