Lines 19-271
Link Here
|
19 |
[% INCLUDE 'header.inc' %] |
19 |
[% INCLUDE 'header.inc' %] |
20 |
[% INCLUDE 'cat-search.inc' %] |
20 |
[% INCLUDE 'cat-search.inc' %] |
21 |
|
21 |
|
22 |
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> |
22 |
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> |
23 |
<ol> |
23 |
<ol> |
24 |
<li> |
24 |
<li> |
25 |
<a href="/cgi-bin/koha/mainpage.pl">Home</a> |
25 |
<a href="/cgi-bin/koha/mainpage.pl">Home</a> |
26 |
</li> |
26 |
</li> |
27 |
<li> |
27 |
<li> |
28 |
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> |
28 |
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> |
29 |
</li> |
29 |
</li> |
30 |
<li> |
30 |
<li> |
31 |
<a href="#" aria-current="page"> |
31 |
<a href="#" aria-current="page"> |
32 |
MARC overlay rules |
32 |
MARC overlay rules |
33 |
</a> |
33 |
</a> |
34 |
</li> |
34 |
</li> |
35 |
</ol> |
35 |
</ol> |
36 |
</nav> |
36 |
</nav> |
37 |
|
37 |
|
38 |
<div class="main container-fluid"> |
38 |
<div class="main container-fluid"> |
39 |
<div class="row"> |
39 |
<div class="row"> |
40 |
<div class="col-sm-10 col-sm-push-2"> |
40 |
<div class="col-sm-10 col-sm-push-2"> |
41 |
|
41 |
|
42 |
<h1>Manage MARC overlay rules</h1> |
42 |
<h1>Manage MARC overlay rules</h1> |
43 |
|
43 |
|
44 |
[% FOR m IN messages %] |
44 |
[% FOR m IN messages %] |
45 |
<div class="dialog [% m.type | html %]"> |
45 |
<div class="dialog [% m.type | html %]"> |
46 |
[% SWITCH m.code %] |
46 |
[% SWITCH m.code %] |
47 |
[% CASE 'invalid_tag_regexp' %] |
47 |
[% CASE 'invalid_tag_regexp' %] |
48 |
Invalid regular expression "[% m.tag | html %]". |
48 |
Invalid regular expression "[% m.tag | html %]". |
49 |
[% CASE 'invalid_control_field_actions' %] |
49 |
[% CASE 'invalid_control_field_actions' %] |
50 |
Invalid combination of actions for tag [% m.tag | html %]. Control field rules do not allow "Appended: Append" and "Removed: Skip". |
50 |
Invalid combination of actions for tag [% m.tag | html %]. Control field rules do not allow "Appended: Append" and "Removed: Skip". |
51 |
[% CASE %] |
51 |
[% CASE %] |
52 |
[% m.code | html %] |
52 |
[% m.code | html %] |
53 |
[% END %] |
|
|
54 |
</div> |
55 |
[% END %] |
56 |
|
57 |
[% UNLESS Koha.Preference( 'MARCOverlayRules' ) %] |
58 |
<div class="dialog message"> |
59 |
The <b>MARCOverlayRules</b> preference is not set, don't forget to enable it for rules to take effect. |
60 |
</div> |
61 |
[% END %] |
62 |
[% IF removeConfirm %] |
63 |
<div class="dialog alert"> |
64 |
<h3>Remove rule?</h3> |
65 |
<p>Are you sure you want to remove the selected rule(s)?</p> |
66 |
|
67 |
<form action="[% script_name | uri %]" method="GET"> |
68 |
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not remove</button> |
69 |
</form> |
70 |
<button type="button" class="approve" id="doremove"><i class="fa fa-fw fa-check"></i> Yes, remove</button> |
71 |
</div> |
72 |
[% END %] |
73 |
|
74 |
<form action="[% script_name | uri %]" method="POST" id="marc-overlay-rules-form"> |
75 |
<table id="marc-overlay-rules"> |
76 |
<thead><tr> |
77 |
<th>Rule</th> |
78 |
<th>Module</th> |
79 |
<th>Filter</th> |
80 |
<th>Tag</th> |
81 |
<th>Preset</th> |
82 |
<th>Added <i id="info_added" data-toggle="tooltip" title="If a field matching the rule tag only exists in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
83 |
<th>Appended <i id="info_appended" data-toggle="tooltip" title="If the original record has one or more fields matching with the rule tag, but one or more fields matching the rule tag differ in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
84 |
<th>Removed <i id="info_removed" data-toggle="tooltip" title="If the original record has a field matching the rule tag, but the matching field is not in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
85 |
<th>Deleted <i id="info_deleted" data-toggle="tooltip" title="If the original record has fields matching the rule tag, but no fields with this are found in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
86 |
<th>Actions</th> |
87 |
<th> </th> |
88 |
</tr></thead> |
89 |
[% UNLESS edit %] |
90 |
<tfoot> |
91 |
<tr class="rule-new"> |
92 |
<th> </th> |
93 |
<th> |
94 |
<select name="module"> |
95 |
<option value="source">Source</option> |
96 |
<option value="categorycode">User category</option> |
97 |
<option value="userid">Username</option> |
98 |
</select> |
99 |
</th> |
100 |
<th id="filter-container"></th> |
101 |
<th><input type="text" size="5" name="tag"/></th> |
102 |
<th> |
103 |
<select name="preset"> |
104 |
<option value="" selected>Custom</option> |
105 |
<option value="Protect">Protect</option> |
106 |
<option value="Overwrite">Overwrite</option> |
107 |
<option value="Add new">Add new</option> |
108 |
<option value="Add and append">Add and append</option> |
109 |
<option value="Protect from deletion">Protect from deletion</option> |
110 |
</select> |
111 |
</th> |
112 |
<th class="rule-operation-action-edit"> |
113 |
<select name="add"> |
114 |
<option value="0">Skip</option> |
115 |
<option value="1">Add</option> |
116 |
</select> |
117 |
</th> |
118 |
<th class="rule-operation-action-edit"> |
119 |
<select name="append"> |
120 |
<option value="0">Skip</option> |
121 |
<option value="1">Append</option> |
122 |
</select> |
123 |
</th> |
124 |
<th class="rule-operation-action-edit"> |
125 |
<select name="remove"> |
126 |
<option value="0">Skip</option> |
127 |
<option value="1">Remove</option> |
128 |
</select> |
129 |
</th> |
130 |
<th class="rule-operation-action-edit"> |
131 |
<select name="delete"> |
132 |
<option value="0">Skip</option> |
133 |
<option value="1">Delete</option> |
134 |
</select> |
135 |
</th> |
136 |
<th><button class="btn btn-default btn-xs" title="Add" id="add"><i class="fa fa-plus"></i> Add rule</button></th> |
137 |
<th><button id="btn_batchremove" disabled="disabled" class="btn btn-default btn-xs" title="Batch remove"><i class="fa fa-trash"></i> Delete selected</button></th> |
138 |
</tr> |
139 |
</tfoot> |
140 |
[% END %] |
141 |
<tbody> |
142 |
[% FOREACH rule IN rules %] |
143 |
<tr id="[% rule.id | html %]" class="rule[% IF rule.edit %]-edit[% END %]"> |
144 |
[% IF rule.edit %] |
145 |
<td>[% rule.id | html %]</td> |
146 |
<td> |
147 |
<select name="module"> |
148 |
[% IF rule.module == "source" %] |
149 |
<option value="source" selected="selected">Source</option> |
150 |
[% ELSE %] |
151 |
<option value="source">Source</option> |
152 |
[% END %] |
153 |
[% IF rule.module == "categorycode" %] |
154 |
<option value="categorycode" selected="selected">User category</option> |
155 |
[% ELSE %] |
156 |
<option value="categorycode">User category</option> |
157 |
[% END %] |
158 |
[% IF rule.module == "userid" %] |
159 |
<option value="userid" selected="selected">Username</option> |
160 |
[% ELSE %] |
161 |
<option value="userid">Username</option> |
162 |
[% END %] |
163 |
</select> |
164 |
</td> |
165 |
<td id="filter-container" data-filter="[% rule.filter | html %]"></td> |
166 |
<td><input type="text" size="3" name="tag" value="[% rule.tag | html %]"/></td> |
167 |
<th> |
168 |
<select name="preset"> |
169 |
<option value="" selected>Custom</option> |
170 |
<option value="Protect">Protect</option> |
171 |
<option value="Overwrite">Overwrite</option> |
172 |
<option value="Add new">Add new</option> |
173 |
<option value="Add and append">Add and append</option> |
174 |
<option value="Protect from deletion">Protect from deletion</option> |
175 |
</select> |
176 |
</th> |
177 |
<td class="rule-operation-action-edit"> |
178 |
<select name="add"> |
179 |
[% IF rule.add %] |
180 |
<option value="0">Skip</option> |
181 |
<option value="1" selected="selected">Add</option> |
182 |
[% ELSE %] |
183 |
<option value="0" selected="selected">Skip</option> |
184 |
<option value="1">Add</option> |
185 |
[% END %] |
186 |
</select> |
187 |
</td> |
188 |
<td class="rule-operation-action-edit"> |
189 |
<select name="append"> |
190 |
[% IF rule.append %] |
191 |
<option value="0">Skip</option> |
192 |
<option value="1" selected="selected">Append</option> |
193 |
[% ELSE %] |
194 |
<option value="0" selected="selected">Skip</option> |
195 |
<option value="1">Append</option> |
196 |
[% END %] |
197 |
</select> |
198 |
</td> |
199 |
<td class="rule-operation-action-edit"> |
200 |
<select name="remove"> |
201 |
[% IF rule.remove %] |
202 |
<option value="0">Skip</option> |
203 |
<option value="1" selected="selected">Remove</option> |
204 |
[% ELSE %] |
205 |
<option value="0" selected="selected">Skip</option> |
206 |
<option value="1">Remove</option> |
207 |
[% END %] |
208 |
</select> |
209 |
</td> |
210 |
<td class="rule-operation-action-edit"> |
211 |
<select name="delete"> |
212 |
[% IF rule.delete %] |
213 |
<option value="0">Skip</option> |
214 |
<option value="1" selected="selected">Delete</option> |
215 |
[% ELSE %] |
216 |
<option value="0" selected="selected">Skip</option> |
217 |
<option value="1">Delete</option> |
218 |
[% END %] |
219 |
</select> |
220 |
</td> |
221 |
<td class="actions"> |
222 |
<button class="btn btn-default btn-xs" title="Save" id="doedit" value="[% rule.id | html %]"><i class="fa fa-check"></i> Save</button> |
223 |
<button type="submit" class="btn btn-default btn-xs" title="Cancel" ><i class="fa fa-times"></i> Cancel</button> |
224 |
</td> |
225 |
<td></td> |
226 |
[% ELSE %] |
227 |
<td>[% rule.id | html %]</td> |
228 |
<td class="rule-module">[% rule.module | html %]</td> |
229 |
<td class="rule-filter">[% rule.filter | html %]</td> |
230 |
<td>[% rule.tag | html %]</td> |
231 |
<td class="rule-preset"></td> |
232 |
<td class="rule-operation-action" data-operation="add">[% IF rule.add %]Add[% ELSE %]Skip[% END %]</td> |
233 |
<td class="rule-operation-action" data-operation="append">[% IF rule.append %]Append[% ELSE %]Skip[% END %]</td> |
234 |
<td class="rule-operation-action" data-operation="remove">[% IF rule.remove %]Remove[% ELSE %]Skip[% END %]</td> |
235 |
<td class="rule-operation-action" data-operation="delete">[% IF rule.delete %]Delete[% ELSE %]Skip[% END %]</td> |
236 |
<td class="actions"> |
237 |
<a href="?op=remove&id=[% rule.id | uri %]" title="Delete" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a> |
238 |
<a href="?op=edit&id=[% rule.id | uri %]" title="Edit" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a> |
239 |
</td> |
240 |
<td> |
241 |
[% IF rule.removemarked %] |
242 |
<input type="checkbox" name="batchremove" value="[% rule.id | html %]" checked="checked"/> |
243 |
[% ELSE %] |
244 |
<input type="checkbox" name="batchremove" value="[% rule.id | html %]"/> |
245 |
[% END %] |
53 |
[% END %] |
246 |
</td> |
54 |
</div> |
247 |
[% END %] |
55 |
[% END %] |
248 |
</tr> |
56 |
|
249 |
[% END %] |
57 |
[% UNLESS Koha.Preference( 'MARCOverlayRules' ) %] |
250 |
</tbody> |
58 |
<div class="dialog message"> |
251 |
</table> |
59 |
The <b>MARCOverlayRules</b> preference is not set, don't forget to enable it for rules to take effect. |
252 |
</form> |
60 |
</div> |
253 |
|
61 |
[% END %] |
254 |
<form action="[% script_name | uri %]" method="post"> |
62 |
[% IF removeConfirm %] |
255 |
<input type="hidden" name="op" value="redo-matching" /> |
63 |
<div class="dialog alert"> |
256 |
</form> |
64 |
<h3>Remove rule?</h3> |
257 |
|
65 |
<p>Are you sure you want to remove the selected rule(s)?</p> |
258 |
</div> |
66 |
|
259 |
<!-- /.col-sm-10.col-sm-push-2 --> |
67 |
<form action="[% script_name | uri %]" method="GET"> |
260 |
|
68 |
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not remove</button> |
261 |
<div class="col-sm-2 col-sm-pull-10"> |
69 |
</form> |
262 |
<aside> |
70 |
<button type="button" class="approve" id="doremove"><i class="fa fa-fw fa-check"></i> Yes, remove</button> |
263 |
[% INCLUDE 'admin-menu.inc' %] |
71 |
</div> |
264 |
</aside> |
72 |
[% END %] |
265 |
</div> |
73 |
|
266 |
|
74 |
<form action="[% script_name | uri %]" method="POST" id="marc-overlay-rules-form"> |
267 |
</div><!-- /.row --> |
75 |
<table id="marc-overlay-rules"> |
268 |
</div><!-- /main container-fluid --> |
76 |
<thead><tr> |
|
|
77 |
<th>Rule</th> |
78 |
<th>Module</th> |
79 |
<th>Filter</th> |
80 |
<th>Tag</th> |
81 |
<th>Preset</th> |
82 |
<th>Added <i id="info_added" data-toggle="tooltip" title="If a field matching the rule tag only exists in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
83 |
<th>Appended <i id="info_appended" data-toggle="tooltip" title="If the original record has one or more fields matching with the rule tag, but one or more fields matching the rule tag differ in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
84 |
<th>Removed <i id="info_removed" data-toggle="tooltip" title="If the original record has a field matching the rule tag, but the matching field is not in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
85 |
<th>Deleted <i id="info_deleted" data-toggle="tooltip" title="If the original record has fields matching the rule tag, but no fields with this are found in the incoming record" data-placement="right" class="fa fa-info-circle"></i></th> |
86 |
<th>Actions</th> |
87 |
<th> </th> |
88 |
</tr></thead> |
89 |
[% UNLESS edit %] |
90 |
<tfoot> |
91 |
<tr class="rule-new"> |
92 |
<th> </th> |
93 |
<th> |
94 |
<select name="module"> |
95 |
<option value="source">Source</option> |
96 |
<option value="categorycode">User category</option> |
97 |
<option value="userid">Username</option> |
98 |
</select> |
99 |
</th> |
100 |
<th id="filter-container"></th> |
101 |
<th><input type="text" size="5" name="tag"/></th> |
102 |
<th> |
103 |
<select name="preset"> |
104 |
<option value="" selected>Custom</option> |
105 |
<option value="Protect">Protect</option> |
106 |
<option value="Overwrite">Overwrite</option> |
107 |
<option value="Add new">Add new</option> |
108 |
<option value="Add and append">Add and append</option> |
109 |
<option value="Protect from deletion">Protect from deletion</option> |
110 |
</select> |
111 |
</th> |
112 |
<th class="rule-operation-action-edit"> |
113 |
<select name="add"> |
114 |
<option value="0">Skip</option> |
115 |
<option value="1">Add</option> |
116 |
</select> |
117 |
</th> |
118 |
<th class="rule-operation-action-edit"> |
119 |
<select name="append"> |
120 |
<option value="0">Skip</option> |
121 |
<option value="1">Append</option> |
122 |
</select> |
123 |
</th> |
124 |
<th class="rule-operation-action-edit"> |
125 |
<select name="remove"> |
126 |
<option value="0">Skip</option> |
127 |
<option value="1">Remove</option> |
128 |
</select> |
129 |
</th> |
130 |
<th class="rule-operation-action-edit"> |
131 |
<select name="delete"> |
132 |
<option value="0">Skip</option> |
133 |
<option value="1">Delete</option> |
134 |
</select> |
135 |
</th> |
136 |
<th><button class="btn btn-default btn-xs" title="Add" id="add"><i class="fa fa-plus"></i> Add rule</button></th> |
137 |
<th><button id="btn_batchremove" disabled="disabled" class="btn btn-default btn-xs" title="Batch remove"><i class="fa fa-trash"></i> Delete selected</button></th> |
138 |
</tr> |
139 |
</tfoot> |
140 |
[% END %] |
141 |
<tbody> |
142 |
[% FOREACH rule IN rules %] |
143 |
<tr id="[% rule.id | html %]" class="rule[% IF rule.edit %]-edit[% END %]"> |
144 |
[% IF rule.edit %] |
145 |
<td>[% rule.id | html %]</td> |
146 |
<td> |
147 |
<select name="module"> |
148 |
[% IF rule.module == "source" %] |
149 |
<option value="source" selected="selected">Source</option> |
150 |
[% ELSE %] |
151 |
<option value="source">Source</option> |
152 |
[% END %] |
153 |
[% IF rule.module == "categorycode" %] |
154 |
<option value="categorycode" selected="selected">User category</option> |
155 |
[% ELSE %] |
156 |
<option value="categorycode">User category</option> |
157 |
[% END %] |
158 |
[% IF rule.module == "userid" %] |
159 |
<option value="userid" selected="selected">Username</option> |
160 |
[% ELSE %] |
161 |
<option value="userid">Username</option> |
162 |
[% END %] |
163 |
</select> |
164 |
</td> |
165 |
<td id="filter-container" data-filter="[% rule.filter | html %]"></td> |
166 |
<td><input type="text" size="3" name="tag" value="[% rule.tag | html %]"/></td> |
167 |
<th> |
168 |
<select name="preset"> |
169 |
<option value="" selected>Custom</option> |
170 |
<option value="Protect">Protect</option> |
171 |
<option value="Overwrite">Overwrite</option> |
172 |
<option value="Add new">Add new</option> |
173 |
<option value="Add and append">Add and append</option> |
174 |
<option value="Protect from deletion">Protect from deletion</option> |
175 |
</select> |
176 |
</th> |
177 |
<td class="rule-operation-action-edit"> |
178 |
<select name="add"> |
179 |
[% IF rule.add %] |
180 |
<option value="0">Skip</option> |
181 |
<option value="1" selected="selected">Add</option> |
182 |
[% ELSE %] |
183 |
<option value="0" selected="selected">Skip</option> |
184 |
<option value="1">Add</option> |
185 |
[% END %] |
186 |
</select> |
187 |
</td> |
188 |
<td class="rule-operation-action-edit"> |
189 |
<select name="append"> |
190 |
[% IF rule.append %] |
191 |
<option value="0">Skip</option> |
192 |
<option value="1" selected="selected">Append</option> |
193 |
[% ELSE %] |
194 |
<option value="0" selected="selected">Skip</option> |
195 |
<option value="1">Append</option> |
196 |
[% END %] |
197 |
</select> |
198 |
</td> |
199 |
<td class="rule-operation-action-edit"> |
200 |
<select name="remove"> |
201 |
[% IF rule.remove %] |
202 |
<option value="0">Skip</option> |
203 |
<option value="1" selected="selected">Remove</option> |
204 |
[% ELSE %] |
205 |
<option value="0" selected="selected">Skip</option> |
206 |
<option value="1">Remove</option> |
207 |
[% END %] |
208 |
</select> |
209 |
</td> |
210 |
<td class="rule-operation-action-edit"> |
211 |
<select name="delete"> |
212 |
[% IF rule.delete %] |
213 |
<option value="0">Skip</option> |
214 |
<option value="1" selected="selected">Delete</option> |
215 |
[% ELSE %] |
216 |
<option value="0" selected="selected">Skip</option> |
217 |
<option value="1">Delete</option> |
218 |
[% END %] |
219 |
</select> |
220 |
</td> |
221 |
<td class="actions"> |
222 |
<button class="btn btn-default btn-xs" title="Save" id="doedit" value="[% rule.id | html %]"><i class="fa fa-check"></i> Save</button> |
223 |
<button type="submit" class="btn btn-default btn-xs" title="Cancel" ><i class="fa fa-times"></i> Cancel</button> |
224 |
</td> |
225 |
<td></td> |
226 |
[% ELSE %] |
227 |
<td>[% rule.id | html %]</td> |
228 |
<td class="rule-module">[% rule.module | html %]</td> |
229 |
<td class="rule-filter">[% rule.filter | html %]</td> |
230 |
<td>[% rule.tag | html %]</td> |
231 |
<td class="rule-preset"></td> |
232 |
<td class="rule-operation-action" data-operation="add">[% IF rule.add %]Add[% ELSE %]Skip[% END %]</td> |
233 |
<td class="rule-operation-action" data-operation="append">[% IF rule.append %]Append[% ELSE %]Skip[% END %]</td> |
234 |
<td class="rule-operation-action" data-operation="remove">[% IF rule.remove %]Remove[% ELSE %]Skip[% END %]</td> |
235 |
<td class="rule-operation-action" data-operation="delete">[% IF rule.delete %]Delete[% ELSE %]Skip[% END %]</td> |
236 |
<td class="actions"> |
237 |
<a href="?op=remove&id=[% rule.id | uri %]" title="Delete" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a> |
238 |
<a href="?op=edit&id=[% rule.id | uri %]" title="Edit" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a> |
239 |
</td> |
240 |
<td> |
241 |
[% IF rule.removemarked %] |
242 |
<input type="checkbox" name="batchremove" value="[% rule.id | html %]" checked="checked"/> |
243 |
[% ELSE %] |
244 |
<input type="checkbox" name="batchremove" value="[% rule.id | html %]"/> |
245 |
[% END %] |
246 |
</td> |
247 |
[% END %] |
248 |
</tr> |
249 |
[% END %] |
250 |
</tbody> |
251 |
</table> |
252 |
</form> |
253 |
|
254 |
<form action="[% script_name | uri %]" method="post"> |
255 |
<input type="hidden" name="op" value="redo-matching" /> |
256 |
</form> |
257 |
|
258 |
</div><!-- /.col-sm-10.col-sm-push-2 --> |
259 |
|
260 |
<div class="col-sm-2 col-sm-pull-10"> |
261 |
<aside> |
262 |
[% INCLUDE 'admin-menu.inc' %] |
263 |
</aside> |
264 |
</div> |
265 |
|
266 |
</div><!-- /.row --> |
267 |
</div><!-- /main container-fluid --> |
269 |
|
268 |
|
270 |
[% MACRO jsinclude BLOCK %] |
269 |
[% MACRO jsinclude BLOCK %] |
271 |
<script> |
270 |
<script> |
272 |
- |
|
|