Bug 16242 - Move staff client JavaScript out of language directory
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / tools / marc_modification_templates.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha &rsaquo; Tools &rsaquo; MARC modification templates</title>
3 [% INCLUDE 'doc-head-close.inc' %]
4 <script type="text/javascript">
5     //<![CDATA[
6     var MSG_MMT_SUBFIELDS_MATCH = _("Both subfield values should be filled or empty.");
7     var MSG_MMT_DESTINATION_REQUIRED = _("The destination should be filled.");
8     var MSG_MMT_CONTROL_FIELD_EMPTY = _("If the field is a control field, the subfield should be empty");
9     var MSG_MMT_CONTROL_FIELD = _("A control field cannot be used with a regular field.");
10     var MSG_MMT_SOURCE_SUBFIELD = _("The source subfield should be filled for update.");
11     var MSG_MMT_SOURCE_FIELD = _("The source field should be filled.");
12     var MSG_MMT_EVERY = _("Every");
13     var MSG_MMT_ALL = _("All");
14     var MSG_MMT_CONFIRM_DEL_TEMPLATE = _("Are you sure you wish to delete this template?");
15     var MSG_MMT_CONFIRM_DEL_TEMPLATE_ACTION = _("Are you sure you wish to delete this template action?");
16     var MSG_MMT_EDIT_ACTION = _("Edit action %s");
17     var MSG_MMT_UPDATE_ACTION = _("Update action");
18     //]]>
19 </script>
20 <script type="text/javascript" src="[% interface %]/[% theme %]/js/marc_modification_templates.js"></script>
21 </head>
22
23 <body id="tools_marc_modification_templates" class="tools">
24 [% INCLUDE 'header.inc' %]
25 [% INCLUDE 'cat-search.inc' %]
26
27 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo; MARC modification templates</div>
28
29 <div id="doc3" class="yui-t2">
30   <div id="bd">
31     <div id="yui-main">
32         <div class="yui-b">
33             <h2>MARC modification templates</h2>
34
35             [% IF error %]
36                 [% IF error == 'no_from_field' %]
37                     <div class="dialog message">Error: no field value specified.</div>
38                 [% END %]
39             [% END %]
40
41             [% IF ( TemplatesLoop ) %]
42
43                 <form method="get" action="/cgi-bin/koha/tools/marc_modification_templates.pl" id="select_template">
44                     <label for="select_template">Template: </label>
45                     <select name="template_id" id="select_template" style="width:20em;">
46                         [% FOREACH TemplatesLoo IN TemplatesLoop %]
47                                                     [% IF ( TemplatesLoo.selected ) %]
48                             <option value="[% TemplatesLoo.template_id %]" selected="selected"> [% TemplatesLoo.name %]</option>
49                                                     [% ELSE %]
50                             <option value="[% TemplatesLoo.template_id %]"> [% TemplatesLoo.name %]</option>
51                                                     [% END %]
52                         [% END %]
53                     </select>
54                     <input type="hidden" name="op" value="select_template">
55                     <input type="submit" value="Go" />
56                 </form>
57
58                 <form method="get" action="/cgi-bin/koha/tools/marc_modification_templates.pl" id="delete_template">
59                     <input type="hidden" name="template_id" value="[% template_id %]" />
60                     <input type="hidden" name="op" value="delete_template">
61                     <input type="submit" value="Delete template" onClick="return confirmDelete()" />
62                 </form>
63
64
65                 [% IF ( ActionsLoop ) %]
66                     <table>
67                         <caption>Actions for this template</caption>
68
69                         <tr>
70                             <th>Change order</th>
71                             <th>Order</th>
72                             <th>Action</th>
73                             <th>Description</th>
74                             <th>&nbsp;</th>
75                             <th>&nbsp;</th>
76                         </tr>
77
78                         [% FOREACH ActionsLoo IN ActionsLoop %]
79                             <tr>
80                                 <td style="white-space:nowrap;">
81                                     <a title="Move action up" href="marc_modification_templates.pl?op=move_action&amp;where=up&amp;template_id=[% ActionsLoo.template_id %]&amp;mmta_id=[% ActionsLoo.mmta_id %]">
82                                     <img src="[% interface %]/[% theme %]/img/go-up.png" border="0" alt="Go up" />
83                                         </a>
84
85                                 <a title="Move action to top" href="marc_modification_templates.pl?op=move_action&amp;where=top&amp;template_id=[% ActionsLoo.template_id %]&amp;mmta_id=[% ActionsLoo.mmta_id %]">
86                                     <img src="[% interface %]/[% theme %]/img/go-top.png" border="0" alt="Go top" />
87                                         </a>
88
89                                         <a title="Move action to bottom" href="marc_modification_templates.pl?op=move_action&amp;where=bottom&amp;template_id=[% ActionsLoo.template_id %]&amp;mmta_id=[% ActionsLoo.mmta_id %]">
90                                     <img src="[% interface %]/[% theme %]/img/go-bottom.png" border="0" alt="Go bottom" />
91                                         </a>
92
93                                         <a title="Move action down" href="marc_modification_templates.pl?op=move_action&amp;where=down&amp;template_id=[% ActionsLoo.template_id %]&amp;mmta_id=[% ActionsLoo.mmta_id %]">
94                                     <img src="[% interface %]/[% theme %]/img/go-down.png" border="0" alt="Go down" />
95                                         </a>
96                                 </td>
97
98                                 <td>[% ActionsLoo.ordering %]</td>
99                                 <td>
100                                     [% IF ( ActionsLoo.action_delete_field ) %] Delete [% END %]
101                                     [% IF ( ActionsLoo.action_update_field ) %] Update [% END %]
102                                     [% IF ( ActionsLoo.action_move_field ) %] Move [% END %]
103                                     [% IF ( ActionsLoo.action_copy_field ) %] Copy [% END %]
104                                     [% IF ( ActionsLoo.action_copy_and_replace_field ) %] Copy and replace [% END %]
105
106                                     [% UNLESS ( ActionsLoo.action_update_field ) %]
107                                         [% IF ( ActionsLoo.field_number ) %]
108                                             1st
109                                         [% END %]
110                                     [% END %]
111
112                                     field
113
114                                     [% ActionsLoo.from_field %][% IF ( ActionsLoo.from_subfield ) %]$[% ActionsLoo.from_subfield %][% END %]
115
116                                     [% IF ( ActionsLoo.field_value ) %]
117                                         with value <i>[% ActionsLoo.field_value %]</i>
118                                     [% END %]
119
120                                     [% IF ( ActionsLoo.to_field ) %]
121                                         to [% ActionsLoo.to_field %][% IF ( ActionsLoo.to_subfield ) %]$[% ActionsLoo.to_subfield %][% END %]
122
123                                         [% IF ( ActionsLoo.to_regex_search ) %]
124                                              using RegEx s<strong>/[% ActionsLoo.to_regex_search %]/[% ActionsLoo.to_regex_replace %]/[% ActionsLoo.to_regex_modifiers %]</strong>
125                                         [% END %]
126                                     [% END %]
127
128                                     [% IF ( ActionsLoo.conditional ) %]
129                                         [% IF ( ActionsLoo.conditional_if ) %] if [% END %]
130                                         [% IF ( ActionsLoo.conditional_unless ) %] unless [% END %]
131
132                                         [% ActionsLoo.conditional_field %][% IF ( ActionsLoo.conditional_subfield ) %]$[% ActionsLoo.conditional_subfield %][% END %]
133
134                                         [% IF ( ActionsLoo.conditional_comparison_exists ) %] exists [% END %]
135                                         [% IF ( ActionsLoo.conditional_comparison_not_exists ) %] does not exist [% END %]
136                                         [% IF ( ActionsLoo.conditional_comparison_equals ) %] matches [% END %]
137                                         [% IF ( ActionsLoo.conditional_comparison_not_equals ) %] does not match [% END %]
138
139                                         [% IF ( ActionsLoo.conditional_regex ) %] RegEx m/[% END %]
140                                         <strong>[% ActionsLoo.conditional_value %]</strong>
141                                         [% IF ( ActionsLoo.conditional_regex ) %]/[% END %]
142                                     [% END %]
143                                 </td>
144                                 <td>[% ActionsLoo.description %]</td>
145                                 <td><a href="#modaction" onclick='editAction(
146                                                     "[% ActionsLoo.mmta_id |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
147                                                     "[% ActionsLoo.ordering |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
148                                                     "[% ActionsLoo.action |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
149                                                     "[% ActionsLoo.field_number |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
150                                                     "[% ActionsLoo.from_field |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
151                                                     "[% ActionsLoo.from_subfield |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
152                                                     "[% ActionsLoo.field_value |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
153                                                     "[% ActionsLoo.to_field |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
154                                                     "[% ActionsLoo.to_subfield |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
155                                                     "[% ActionsLoo.to_regex_search |replace('\\\\', '\\\\') |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
156                                                     "[% ActionsLoo.to_regex_replace |replace('\\\\', '\\\\') |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
157                                                     "[% ActionsLoo.to_regex_modifiers |replace('\\\\', '\\\\') |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
158                                                     "[% ActionsLoo.conditional |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
159                                                     "[% ActionsLoo.conditional_field |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
160                                                     "[% ActionsLoo.conditional_subfield |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
161                                                     "[% ActionsLoo.conditional_comparison |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
162                                                     "[% ActionsLoo.conditional_value |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
163                                                     "[% ActionsLoo.conditional_regex |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
164                                                     "[% ActionsLoo.description |replace('\\\\', '\\\\') |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
165                                                 );updateAllEvery();'>Edit</a></td>
166                                 <td><a href="marc_modification_templates.pl?template_id=[% ActionsLoo.template_id %]&op=delete_action&mmta_id=[% ActionsLoo.mmta_id %]" onclick="return confirmDeleteAction();">Delete</a></td>
167                             </tr>
168                         [% END %]
169                     </table>
170                 [% ELSE %]
171                     <div class="dialog message"><p>There are no defined actions for this template.</p></div>
172                 [% END %]
173
174                 <form method="post" action="/cgi-bin/koha/tools/marc_modification_templates.pl" id="add_action" >
175                     <a name="modaction"></a>
176                     <fieldset>
177                         <legend id="modaction_legend">Add a new action</legend>
178                         <div id="warning_multivalued" style="color:red; display:none;">You have chosen a condition on the same field as the original field. If your records contain multivalued fields it is highly recommended not to do that.</div>
179
180                         <select name="action" id="action" onchange="onActionChange(this);">
181                             <option value="delete_field">Delete</option>
182                             <option value="update_field">Add/Update</option>
183                             <option value="move_field">Move</option>
184                             <option value="copy_field">Copy</option>
185                             <option value="copy_and_replace_field">Copy and replace</option>
186                         </select>
187
188                         <span id="field_number_block">
189                             <select name="field_number" id="field_number">
190                                 <option value="0">All</option>
191                                 <option value="1">1st</option>
192                             </select>
193                         </span>
194
195                         field(s) <input type="text" name="from_field" id="from_field" size="3" maxlength="3" /> <input type="text" name="from_subfield" id="from_subfield" size="1" maxlength="1" title="let blank for the entire field" />
196
197                         <span name="with_value_block" id="with_value_block" style="display:none;">
198                             with value <input type="text" name="field_value" id="field_value" />
199                         </span>
200
201                         <span name="to_field_block" id="to_field_block" style="display:none;">
202                             to field <input type="text" name="to_field" id="to_field" size="3" maxlength="3" /> <input type="text" name="to_subfield" id="to_subfield" size="1" maxlength="1" title="let blank for the entire field" />
203
204                             <span name="to_field_regex_block" id="to_field_regex_block">
205                                 <sup>
206                                     <label for="to_field_regex">RegEx</label>
207                                     <input type="checkbox" name="to_field_regex" id="to_field_regex" onchange="onToFieldRegexChange(this);" />
208
209                                     <span name="to_field_regex_value_block" id="to_field_regex_value_block" style="display:none;">
210                                         s/<input type="text" name="to_regex_search" id="to_regex_search" placeholder="regex pattern" />/<input type="text" name="to_regex_replace" id="to_regex_replace" placeholder="regex replacement" />/<input type="text" name="to_regex_modifiers" id="to_regex_modifiers" placeholder="ig" size="3" />
211                                     </span>
212                                 </sup>
213                             </span>
214                         </span>
215
216                         <p/>
217
218                         <select name="conditional" id="conditional" onchange="onConditionalChange(this);">
219                             <option value="" selected="selected" />
220                             <option value="if">if</option>
221                             <option value="unless">unless</option>
222                         </select>
223
224                         <span name="conditional_block" id="conditional_block" style="display:none;">
225                             field <input type="text" name="conditional_field" id="conditional_field" size="3" maxlength="3" /> <input type="text" name="conditional_subfield" id="conditional_subfield" size="1" maxlength="1" />
226
227                             <select name="conditional_comparison" id="conditional_comparison" onchange="onConditionalComparisonChange(this);">
228                                 <option value="" />
229                                 <option value="exists">exists</option>
230                                 <option value="not_exists">doesn't exist</option>
231                                 <option value="equals">matches</option>
232                                 <option value="not_equals">doesn't match</option>
233                             </select>
234
235                             <span name="conditional_comparison_block" id="conditional_comparison_block" style="display:none;">
236
237                                 <span class="match_regex_prefix">m/</span><input type="text" id="conditional_value" name="conditional_value" /><span class="match_regex_suffix">/</span>
238
239                                 <sup>
240                                     <label for="conditional_regex">RegEx</label>
241                                     <input type="checkbox" name="conditional_regex" id="conditional_regex" onchange="onConditionalRegexChange(this);" />
242                                 </sup>
243
244                             </span>
245                         </span>
246
247                         <input type="hidden" name="template_id" value="[% template_id %]" />
248                         <input type="hidden" name="mmta_id" id="mmta_id" />
249                         <input type="hidden" name="op" value="add_action" />
250
251                         <br/><br/>
252                         <label for="description">Description:</label>
253                         <input type="text" name="description" id="description" size="60" />
254
255                         <br/><br/>
256                         <input id="action_submit" type="submit" value="Add action" /> <a href="#modaction" id="cancel_edit" onclick="cancelEditAction();" style="display:none;">Cancel</a>
257
258                     </fieldset>
259                 </form>
260
261             [% ELSE %]
262                 <div class="dialog message"><p>There are no defined templates. Please create a template first.</p></div>
263             [% END %]
264
265             <form method="post" action="/cgi-bin/koha/tools/marc_modification_templates.pl" id="add_template" class="validated">
266                 <fieldset>
267                     <legend>Create a new template</legend>
268
269                     <label for="template_name" class="required">Name: </label>
270                     <input name="template_name" id="template_name" type="text" size="30" required="required" class="required" />
271                     <span class="required">Required</span>
272
273                     <input type="hidden" name="op" value="create_template" />
274                     <input type="submit" value="Create template" />
275
276                     [% IF ( template_id ) %]
277                         <input type="hidden" name="template_id" value="[% template_id %]" />
278                         <input type="checkbox" name="duplicate_current_template" id="duplicate_current_template" />
279                         <label for="duplicate_current_template">Duplicate current template</label>
280                     [% END %]
281                 </fieldset>
282             </form>
283         </div>
284     </div>
285
286     <div class="yui-b">
287         [% INCLUDE 'tools-menu.inc' %]
288     </div>
289   </div>
290 </div>
291 [% INCLUDE 'intranet-bottom.inc' %]