Bug 27846: admin folder
[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     <nav aria-label="Breadcrumb" class="breadcrumb">
21         <ol>
22             <li>
23                 <a href="/cgi-bin/koha/mainpage.pl">Home</a>
24             </li>
25             <li>
26                 <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
27             </li>
28         [% SWITCH op %]
29             [% CASE 'add_form' %]
30             <li>
31                 <a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a>
32             </li>
33                 [% IF field %]
34                     <li>
35                         <a href="#" aria-current="page">
36                             Modify field '[% field.name | html %]'
37                         </a>
38                     </li>
39                 [% ELSE %]
40                     <li>
41                         <a href="#" aria-current="page">
42                             Add field
43                         </a>
44                     </li>
45                 [% END %]
46
47             [% CASE 'list' %]
48             <li>
49                 <a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a>
50             </li>
51             <li>
52                 <a href="#" aria-current="page">
53                     Modify fields for '[% tablename | html %]'
54                 </a>
55             </li>
56
57             [% CASE %]
58             <li>
59                 <a href="#" aria-current="page">
60                     Manage additional fields
61                 </a>
62             </li>
63
64         [% END %]
65         </ol>
66     </nav>
67
68 <div class="main container-fluid">
69     <div class="row">
70         <div class="col-sm-10 col-sm-push-2">
71             <main>
72
73     [% IF op == 'list' %]
74         <div id="toolbar" class="btn-toolbar">
75             <a class="btn btn-default" id="newfields" href="?op=add_form&amp;tablename=[% tablename | uri %]"><i class="fa fa-plus"></i> Create field</a>
76         </div>
77     [% END %]
78
79     [% IF messages %]
80         [% FOR message IN messages %]
81             [% IF message.code == 'insert' %]
82                 [% IF message.number > 0 %]
83                     <div class="dialog message">The field has been inserted</div>
84                 [% ELSE %]
85                     <div class="dialog alert">The field could not be inserted. Perhaps the name already exists?</div>
86                 [% END %]
87             [% ELSIF message.code == 'update' %]
88                 [% IF message.number > 0 %]
89                     <div class="dialog message">The field has been updated</div>
90                 [% ELSE %]
91                     <div class="dialog alert">The field could not be updated. Perhaps the name already exists?</div>
92                 [% END %]
93             [% ELSIF message.code == 'delete' %]
94                 [% IF message.number > 0 %]
95                     <div class="dialog message">The field has been deleted</div>
96                 [% ELSE %]
97                     <div class="dialog alert">The field could not be deleted. Check the log for errors.</div>
98                 [% END %]
99             [% END %]
100         [% END %]
101     [% END %]
102
103     [% IF op == 'list_tables' %]
104         [% IF CAN_user_acquisitions_order_manage || CAN_user_serials_edit_subscription %]
105         <h3>Additional fields</h3>
106         <p>Select a table:</p>
107         [% BLOCK table_option %]
108             <li><a href="?tablename=[% value | uri %]">[% content | html %] (<span class="ex">[% value | html %]</span>)</a></li>
109         [% END %]
110         <ul>
111             [% IF CAN_user_acquisition_order_manage %]
112                 [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
113             [% END %]
114             [% IF CAN_user_serials_edit_subscription %]
115                 [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
116             [% END %]
117         </ul>
118         [% ELSE %]
119             Additional permissions in the acquisitions or serials modules are required for editing additional fields
120         [% END %]
121     [% ELSIF op == 'list' %]
122         <h3>Additional fields for '[% tablename | html %]'</h3>
123         [% IF fields %]
124             <table id="fieldst">
125                 <thead>
126                     <tr>
127                         <th>Name</th>
128                         <th>Authorised value category</th>
129                         [% IF show_marcfield %]
130                             <th>MARC field</th>
131                         [% END %]
132                         <th>Searchable</th>
133                         <th class="noExport">Actions</th>
134                     </tr>
135                 </thead>
136                 <tbody>
137                     [% FOR field IN fields %]
138                         <tr>
139                             <td>[% field.name | html %]</td>
140                             <td>[% field.authorised_value_category | html %]</td>
141                             [% IF show_marcfield %]
142                                 <td>[% field.marcfield | html %]</td>
143                             [% END %]
144                             <td>
145                                 [% IF field.searchable %]Yes[% ELSE %]No[% END %]
146                             </td>
147                             <td class="actions">
148                                 <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>
149                                 <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>
150                             </td>
151                         </tr>
152                     [% END %]
153                 </tbody>
154             </table>
155         [% ELSE %]
156             [% IF tablename %]There are no additional fields defined for this table.[% END %]
157         [% END %]
158     [% ELSIF op == 'add_form' %]
159         [% IF field %]
160             <h3>Modify field</h3>
161         [% ELSE %]
162             <h3>Add field</h3>
163         [% END %]
164         <form action="" name="add_form" id="add_field" method="post">
165             <fieldset class="rows">
166                 <ol>
167                     <li>
168                         <label for="name" class="required">Name: </label>
169                         <input type="text" name="name" id="name" value="[% field.name | html %]" class="required" required="required" />
170                         <span class="required">Required</span>
171                     </li>
172                     <li>
173                         <label for="av">Authorised value category: </label>
174                         <select name="authorised_value_category">
175                             <option value="">None</option>
176                             [% PROCESS options_for_authorised_value_categories authorised_value_categories = AuthorisedValues.GetCategories({selected => field.authorised_value_category}) %]
177                         </select>
178                     </li>
179                     [% IF show_marcfield %]
180                         <li>
181                             <label for="marcfield">MARC field: </label>
182                             <input type="text" name="marcfield" id="marcfield" value="[% field.marcfield | html %]" />
183                         </li>
184                     [% END %]
185                     <li>
186                         <label for="searchable">Searchable: </label>
187                         [% IF field.searchable %]
188                             <input type="checkbox" name="searchable" id="searchable" checked="checked" />
189                         [% ELSE %]
190                             <input type="checkbox" name="searchable" id="searchable" />
191                         [% END %]
192                     </li>
193                 </ol>
194             </fieldset>
195             <fieldset class="action">
196                 [% IF field %]
197                     <input type="hidden" name="field_id" value="[% field.id | html %]" />
198                 [% END %]
199                 <input type="hidden" name="tablename" value="[% tablename | html %]" />
200                 <input type="hidden" name="op" value="add" />
201                 <input type="submit" value="Save" />
202                 <a href="?tablename=[% tablename | uri %]" class="cancel">Cancel</a>
203             </fieldset>
204         </form>
205     [% END %]
206
207             </main>
208         </div> <!-- /.col-sm-10.col-sm-push-2 -->
209
210         <div class="col-sm-2 col-sm-pull-10">
211             <aside>
212                 [% INCLUDE 'admin-menu.inc' %]
213             </aside>
214         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
215     </div> <!-- /.row -->
216
217
218 [% MACRO jsinclude BLOCK %]
219     [% INCLUDE "datatables.inc" %]
220     <script>
221         $(document).ready(function(){
222             $('#selecttable').find(":submit").hide();
223             $('#selecttable select').change(function() {
224                 $('#selecttable').submit();
225             });
226
227             $("#fieldst").dataTable($.extend(true, {}, dataTablesDefaults, {
228                 'bAutoWidth': false,
229                 'sDom': 't<"bottom pager"ilpf>',
230                 'sPaginationType': 'full',
231                 'aLengthMenu': [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
232                 'iDisplayLength': 20,
233                 'aaSorting': [[ 0, "asc" ]],
234             }));
235
236             $(".confirmdelete").click(function(){
237                 return confirm(_("Are you sure you want to delete this field?"));
238             });
239
240             $("#add_field").on('submit', function() {
241                 if ( $("#marcfield").length && $("select[name='authorised_value_category']").length ) {
242                     if ( $("#marcfield").val().length > 0
243                         && $("select[name='authorised_value_category']" ).val().length > 0 ) {
244                         alert(_("You cannot select an authorised value category and a MARC field") );
245                         return false;
246                     }
247                 }
248                 return true;
249             });
250         });
251     </script>
252 [% END %]
253
254 [% INCLUDE 'intranet-bottom.inc' %]