1 <style type="text/css">
2 .css-form input.ng-invalid {
3 background-color: #FA787E;
5 .css-form select.ng-invalid {
6 background-color: #FA787E;
9 <div class="container-fluid"><form novalidate class="css-form" name="forms.myForm">
10 <div class="row bg-info">
11 <div class="col-md-1">
12 <h5>[% l('Template') %]</h5>
14 <div class="col-md-2">
15 <eg-basic-combo-box list="template_name_list" selected="template_name"></eg-basic-combo-box>
17 <div class="col-md-1">
18 <button class="btn btn-default " ng-click="applyTemplate(template_name)" type="button">[% l('Apply') %]</button>
20 <div class="col-md-6">
21 <div class="row" ng-show="template_controls">
22 <div class="col-md-4">
23 <div class="btn-group">
24 <label class="btn btn-default" ng-click="saveTemplate(template_name)">[% l('Save') %]</label>
25 <label class="btn btn-default" ng-click="deleteTemplate(template_name)">[% l('Delete') %]</label>
28 <div class="col-md-8">
29 <div class="btn-group pull-right">
30 <span class="btn btn-default btn-file">
32 <input type="file" eg-file-reader container="imported_templates.data">
34 <label class="btn btn-default"
35 eg-json-exporter container="templates"
36 default-file-name="'[% l('exported_copy_templates.json') %]'">
43 <div class="col-md-2">
44 <button class="btn btn-default pull-right" ng-click="clearWorking()" type="button">[% l('Clear') %]</button>
48 <div class="row pad-vert" ng-if="template_controls && defaults.show_vol_template_controls">
50 <div class="col-xs-12">
51 <h4 class="center-block">[% l('Volume Attributes') %]</h4>
56 <div class="row pad-vert" ng-if="template_controls && defaults.show_vol_template_controls">
57 <div class="col-md-1 bg-info">
58 <b>[% l('Classification') %]</b>
60 <div class="nullable col-md-2" ng-class="{'bg-success': working.callnumber.classification !== undefined}">
61 <select class="form-control" ng-model="working.callnumber.classification" ng-options="cl.id() as cl.name() for cl in classification_list">
62 <option value="">[% l('<NONE>') %]</option>
65 <div class="col-md-1 bg-info">
66 <b>[% l('Prefix') %]</b>
68 <div class="nullable col-xs-2" ng-class="{'bg-success': working.callnumber.prefix !== undefined}">
69 <select class="form-control" ng-model="working.callnumber.prefix" ng-options="p.id() as p.label() for p in prefix_list">
70 <option value="">[% l('<NONE>') %]</option>
73 <div class="col-md-1 bg-info">
74 <b>[% l('Suffix') %]</b>
76 <div class="nullable col-md-2" ng-class="{'bg-success': working.callnumber.suffix !== undefined}">
77 <select class="form-control" ng-model="working.callnumber.suffix" ng-options="s.id() as s.label() for s in suffix_list">
78 <option value="">[% l('<NONE>') %]</option>
83 <div class="row pad-vert" ng-if="template_controls && defaults.show_vol_template_controls">
85 <div class="col-xs-12">
86 <h4 class="center-block">[% l('Copy Attributes') %]</h4>
91 <div class="row pad-vert"></div>
93 <div class="row bg-info">
94 <div class="col-md-4">
95 <b>[% l('Circulate?') %]</b>
97 <div class="col-md-4">
98 <b>[% l('Status') %]</b>
100 <div class="col-md-4">
101 <b>[% l('Statistical Categories') %]</b>
106 <div class="col-md-8">
108 <div class="col-md-6" ng-class="{'bg-success': working.circulate !== undefined}">
110 <div class="col-xs-3">
112 <input type="radio" ng-disabled="!defaults.attributes.circulate" ng-model="working.circulate" value="t"/>
116 <div class="col-xs-3">
118 <input type="radio" ng-disabled="!defaults.attributes.circulate" ng-model="working.circulate" value="f"/>
124 <div class="col-md-6" ng-class="{'bg-success': working.status !== undefined}">
125 <select class="form-control"
126 ng-disabled="!defaults.attributes.status" ng-model="working.status"
127 ng-options="s.id() as s.name() disable when magic_status_list.indexOf(s.id(),0) > -1 for s in status_list">
132 <div class="row pad-vert"></div>
134 <div class="row bg-info">
135 <div class="col-md-6">
136 <b>[% l('Circulation Library') %]</b>
138 <div class="col-md-6">
139 <b>[% l('Reference?') %]</b>
144 <div class="col-md-6" ng-class="{'bg-success': working.circ_lib !== undefined}">
146 alldisabled="{{!defaults.attributes.circ_lib}}"
147 selected="working.circ_lib"
149 label="[% l('(Unset)') %]"
150 disable-test="cant_have_vols"
153 <div class="col-md-6" ng-class="{'bg-success': working.ref !== undefined}">
155 <div class="col-xs-3">
157 <input type="radio" ng-disabled="!defaults.attributes.ref" ng-model="working.ref" value="t"/>
161 <div class="col-xs-3">
163 <input type="radio" ng-disabled="!defaults.attributes.ref" ng-model="working.ref" value="f"/>
171 <div class="row pad-vert"></div>
173 <div class="row bg-info">
174 <div class="col-md-6">
175 <b>[% l('Shelving Location') %]</b>
177 <div class="col-md-6">
178 <b>[% l('OPAC Visible?') %]</b>
183 <div class="col-md-6" ng-class="{'bg-success': working.location !== undefined}">
184 <select class="form-control"
185 ng-disabled="!defaults.attributes.location" ng-model="working.location"
186 ng-options="l.id() as l.name() for l in location_list"
189 <div class="col-md-6" ng-class="{'bg-success': working.opac_visible !== undefined}">
191 <div class="col-xs-3">
193 <input type="radio" ng-disabled="!defaults.attributes.opac_visible" ng-model="working.opac_visible" value="t"/>
197 <div class="col-xs-3">
199 <input type="radio" ng-disabled="!defaults.attributes.opac_visible" ng-model="working.opac_visible" value="f"/>
207 <div class="row pad-vert"></div>
209 <div class="row bg-info">
210 <div class="col-md-6">
211 <b>[% l('Circulation Modifer') %]</b>
213 <div class="col-md-6">
214 <b>[% l('Price') %]</b>
219 <div class="nullable col-md-6" ng-class="{'bg-success': working.circ_modifier !== undefined}">
220 <select class="form-control"
221 ng-disabled="!defaults.attributes.circ_modifier" ng-model="working.circ_modifier"
222 ng-options="m.code() as m.name() for m in circ_modifier_list | orderBy: 'name()'"
224 <option value="">[% l('<NONE>') %]</option>
227 <div class="col-md-6" ng-class="{'bg-success': working.price !== undefined}">
228 <input class="form-control" ng-disabled="!defaults.attributes.price" ng-model="working.price" type="number"/>
232 <div class="row pad-vert"></div>
234 <div class="row bg-info">
235 <div class="col-md-6">
236 <b>[% l('Loan Duration') %]</b>
238 <div class="col-md-6">
239 <b>[% l('Acquisition Cost') %]</b>
244 <div class="col-md-6" ng-class="{'bg-success': working.loan_duration !== undefined}">
245 <select class="form-control" ng-disabled="!defaults.attributes.loan_duration" ng-model="working.loan_duration">
246 <option value="1">[% l('Short') %]</option>
247 <option value="2" selected>[% l('Normal') %]</option>
248 <option value="3">[% l('Extended') %]</option>
251 <div class="col-md-6" ng-class="{'bg-success': working.cost !== undefined}">
252 <input class="form-control" ng-disabled="!defaults.attributes.cost" ng-model="working.cost" type="number"/>
256 <div class="row pad-vert"></div>
258 <div class="row bg-info">
259 <div class="col-md-6">
260 <b>[% l('Circulate as Type') %]</b>
262 <div class="col-md-6">
263 <b>[% l('Deposit?') %]</b>
268 <div class="nullable col-md-6" ng-class="{'bg-success': working.circ_as_type !== undefined}">
269 <select class="form-control"
270 ng-disabled="!defaults.attributes.circ_as_type" ng-model="working.circ_as_type"
271 ng-options="t.code() as t.value() for t in circ_type_list">
272 <option value="">[% l('<NONE>') %]</option>
275 <div class="col-md-6" ng-class="{'bg-success': working.deposit !== undefined}">
277 <div class="col-xs-3">
279 <input type="radio" ng-disabled="!defaults.attributes.deposit" ng-model="working.deposit" value="t"/>
283 <div class="col-xs-3">
285 <input type="radio" ng-disabled="!defaults.attributes.deposit" ng-model="working.deposit" value="f"/>
293 <div class="row pad-vert"></div>
295 <div class="row bg-info">
296 <div class="col-md-6">
297 <b>[% l('Holdable?') %]</b>
299 <div class="col-md-6">
300 <b>[% l('Deposit Amount') %]</b>
305 <div class="col-md-6" ng-class="{'bg-success': working.holdable !== undefined}">
307 <div class="col-xs-3">
309 <input type="radio" ng-disabled="!defaults.attributes.holdable" ng-model="working.holdable" value="t"/>
313 <div class="col-xs-3">
315 <input type="radio" ng-disabled="!defaults.attributes.holdable" ng-model="working.holdable" value="f"/>
321 <div class="col-md-6" ng-class="{'bg-success': working.deposit_amount !== undefined}">
322 <input class="form-control" ng-disabled="!defaults.attributes.deposit_amount" ng-model="working.deposit_amount" type="number"/>
326 <div class="row pad-vert"></div>
328 <div class="row bg-info">
329 <div class="col-md-6">
330 <b>[% l('Age-based Hold Protection') %]</b>
332 <div class="col-md-6">
333 <b>[% l('Quality') %]</b>
338 <div class="col-md-6" ng-class="{'bg-success': working.age_protect !== undefined}">
339 <select class="form-control"
340 ng-disabled="!defaults.attributes.age_protect" ng-model="working.age_protect"
341 ng-options="a.id() as a.name() for a in age_protect_list"
344 <div class="col-md-6" ng-class="{'bg-success': working.mint_condition !== undefined}">
346 <div class="col-xs-3">
348 <input type="radio" ng-disabled="!defaults.attributes.mint_condition" ng-model="working.mint_condition" value="t"/>
352 <div class="col-xs-3">
354 <input type="radio" ng-disabled="!defaults.attributes.mint_condition" ng-model="working.mint_condition" value="f"/>
362 <div class="row pad-vert"></div>
364 <div class="row bg-info">
365 <div class="col-md-6">
366 <b>[% l('Fine Level') %]</b>
371 <div class="col-md-6" ng-class="{'bg-success': working.fine_level !== undefined}">
372 <select class="form-control" ng-disabled="!defaults.attributes.fine_level" ng-model="working.fine_level">
373 <option value="1">[% l('Low') %]</option>
374 <option value="2" selected>[% l('Normal') %]</option>
375 <option value="3">[% l('High') %]</option>
378 <div class="col-md-6">
380 class="btn btn-default"
381 ng-disabled="!defaults.copy_notes"
382 ng-click="copy_notes_dialog(workingGridControls.selectedItems())"
384 [% l('Copy Notes') %]
389 <div class="row pad-vert"></div>
391 <div class="row bg-info">
392 <div class="col-md-6">
393 <b>[% l('Floating') %]</b>
398 <div class="col-md-6" ng-class="{'bg-success': working.floating !== undefined}">
399 <select class="form-control"
400 ng-disabled="!defaults.attributes.floating" ng-model="working.floating"
401 ng-options="a.id() as a.name() for a in floating_list"
404 <div class="col-md-6">
406 class="btn btn-default"
407 ng-disabled="!defaults.copy_tags"
408 ng-click="copy_tags_dialog(workingGridControls.selectedItems())"
416 <div class="col-md-4">
418 <div class="col-xs-12">
419 <select class="form-control" ng-disabled="!defaults.statcats"
420 ng-model="working.statcat_filter"
421 ng-options="o.id() as o.shortname() for o in statcat_filter_list">
422 <option value="">[% l('Filter by Library') %]</option>
427 <div class="row pad-vert"></div>
429 <div class="row" ng-repeat="sc in statcats" ng-show="statcat_visible(sc.owner().id())">
430 <div class="col-xs-12">
431 <div class="row bg-info">
432 <div class="col-xs-12">
433 <span>{{ sc.owner().name() }} : {{ sc.name() }}</span>
437 <div class="nullable col-xs-12" ng-class="{'bg-success': working.statcats[sc.id()] !== undefined}">
438 <select class="form-control" ng-disabled="!defaults.statcats"
439 ng-change="statcatUpdate(sc.id())"
440 ng-model="working.statcats[sc.id()]"
441 ng-options="e.id() as e.value() for e in sc.entries()"
442 ng-required="sc.required() == 't'">
443 <option value="">[% l('<NONE>') %]</option>