]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/staff/circ/patron/t_edit.tt2
LP#1452950 Patrong reg. style repairs
[working/Evergreen.git] / Open-ILS / src / templates / staff / circ / patron / t_edit.tt2
1 [% DOC_IMG = '/images/question-mark.png' %]
2
3 <div class="container-fluid" style="text-align:center">
4   <div class="alert alert-info alert-less-pad strong-text-2">
5     <span ng-if="!is_capture">[% l('Patron Edit') %]</span>
6   </div>
7 </div>
8
9 <!-- IDL field documentation window -->
10 <div id="reg-control-actions">
11   <div class="pad-all-min">
12     <button type="button" class="btn btn-default">[% l('Save') %]</button>
13   </div>
14   <div class="pad-all-min">
15     <button type="button" class="btn btn-default">[% l('Save & Clone') %]</button>
16   </div>
17   <div class="pad-all-min" ng-show="!display_required_fields">
18     <a href>[% l('Required Fields') %]</a>
19   </div>
20   <div class="pad-all-min" ng-show="!display_suggested_fields">
21     <a href>[% l('Suggested Fields') %]</a>
22   </div>
23   <div class="pad-all-min" ng-show="!display_all_fields">
24     <a href>[% l('All Fields') %]</a>
25   </div>
26   <fieldset id="reg-field-doc" ng-show="selected_field_doc">
27     <legend>
28     {{idl_fields[selected_field_doc.fm_class()][selected_field_doc.field()].label}}
29     </legend>
30     <div>{{selected_field_doc.string()}}</div>
31   </fieldset>
32 </div>
33
34 [% MACRO formfield(cls, field, path, input_type) BLOCK;
35
36   # input field generator for common text/number/checkbox fields
37
38   IF NOT input_type; input_type = 'text'; END %] 
39
40 <div class="row reg-field-row">
41
42   <div class="col-md-3 reg-field-label"> <!-- field label -->
43
44   <label>{{idl_fields.[% cls %].[% field %].label}}</label>
45
46   <!-- field documentation img/link -->
47   <img ng-show="field_doc.[% cls %].[% field %]" 
48     ng-click="selected_field_doc=field_doc.[% cls %].[% field %]"
49     src='[% DOC_IMG %]'></img>
50   </div>
51
52   <div class="col-md-3 reg-field-input"> <!-- field form input -->
53
54   [% model = path ? 'patron.' _ path _ '.' _ field : 'patron.' _ field %]
55
56   [% IF input_type == 'checkbox' %]
57
58     <div class='checkbox'>
59       <input type='checkbox' ng-model='[% model %]'/>
60     </div>
61
62   [% ELSE %]
63     <!-- text / number input -->
64
65     [% IF field == 'alert_message' %]
66       <textarea class="form-control" ng-model="[% model %]"/>
67     [% ELSE %]
68       <input type="[% input_type %]" 
69         class="form-control" ng-model="[% model %]"/>
70     [% END %]
71   [% END %]
72
73   </div>
74
75   <!-- supplemental actions and example text -->
76   <div class="col-md-3 patron-reg-example">
77
78     [% IF field == 'barcode' %]
79
80       <button class="btn btn-default">[% l('Replace Barcode') %]</button>
81       <button class="btn btn-default">[% l('See All') %]</button>
82
83     [% ELSIF field == 'password' %]
84
85       <button class="btn btn-default">[% l('Generate Password') %]</button>
86
87     [% ELSE %]
88
89       <!-- example strings -->
90
91       [% set_str = "org_settings['ui.patron.edit." _ 
92           cls _ "." _ field _ ".example']"; %]
93
94       <span ng-if="[% set_str %]">
95         [% l('Example: [_1]', "{{" _ set_str _ "}}") %]
96       </span>
97
98       [% IF field.match('phone') %]
99         <!-- phones have a fall-through example option -->
100         <span ng-if="![% set_str %] && org_settings['ui.patron.edit.phone.example']">
101           [% l('Example: [_1]', 
102            "{{org_settings['ui.patron.edit.phone.example']}}") %]
103         </span>
104       [% END %]
105     [% END %]
106
107   </div>
108 </div>
109 [% END %]
110
111 [% formfield('ac', 'barcode', 'card') %]
112 [% formfield('au', 'usrname') %]
113 [% formfield('au', 'passwd') %]
114 [% formfield('au', 'prefix') %]
115 [% formfield('au', 'first_given_name') %]
116 [% formfield('au', 'second_given_name') %]
117 [% formfield('au', 'family_name') %]
118 [% formfield('au', 'suffix') %]
119 [% formfield('au', 'alias') %]
120
121 <div class="row reg-field-row">
122   <div class="col-md-3 reg-field-label">
123     <label>{{idl_fields.au.dob.label}}</label>
124     <img ng-show="field_doc.au.dob" 
125       ng-click="selected_field_doc=field_doc.au.dob"
126       src='[% DOC_IMG %]'></img>
127   </div>
128   <div class="col-md-3 reg-field-input">
129     <input eg-date-input 
130       class="form-control" ng-model="patron.dob"/>
131   </div>
132 </div>
133
134 [% formfield('au', 'juvenile', '', 'checkbox') %]
135
136 <!-- ident_type -->
137
138 <div class="row reg-field-row">
139   <div class="col-md-3 reg-field-label">
140     <label>{{idl_fields.au.ident_type.label}}</label>
141     <img ng-show="field_doc.au.ident_type" 
142       ng-click="selected_field_doc=field_doc.au.ident_type"
143       src='[% DOC_IMG %]'></img>
144   </div>
145   <div class="col-md-3 reg-field-input">
146     <div class="btn-group" dropdown>
147       <button type="button" class="btn btn-default dropdown-toggle">
148         <span style="padding-right: 5px;">
149           {{patron.ident_type.name() || "[% l('Primary Ident Type') %]"}}
150         </span>
151         <span class="caret"></span>
152       </button>
153       <ul class="dropdown-menu">
154         <li ng-repeat="type in ident_types">
155           <a href ng-click="patron.ident_type = type">{{type.name()}}</a>
156         </li>
157       </ul>
158     </div>
159   </div>
160 </div>
161
162
163 [% formfield('au', 'ident_value') %]
164 [% formfield('au', 'ident_value2') %]
165 [% formfield('au', 'email', '', 'email') %]
166 [% formfield('au', 'day_phone') %]
167 [% formfield('au', 'evening_phone') %]
168 [% formfield('au', 'other_phone') %]
169
170 <!-- home org unit selector -->
171
172 <div class="row reg-field-row">
173   <div class="col-md-3 reg-field-label">
174     <label>{{idl_fields.au.home_ou.label}}</label>
175     <img ng-show="field_doc.au.home_ou" 
176       ng-click="selected_field_doc=field_doc.au.home_ou"
177       src='[% DOC_IMG %]'></img>
178     </div>
179     <div class="col-md-3 reg-field-input">
180       <eg-org-selector selected="patron.home_ou" onchange="">
181       </eg-org-selector>
182   </div>
183 </div>
184
185 <!-- profile selector -->
186
187 <div class="row reg-field-row">
188   <div class="col-md-3 reg-field-label">
189     <label>{{idl_fields.au.profile.label}}</label>
190     <img ng-show="field_doc.au.profile" 
191       ng-click="selected_field_doc=field_doc.au.profile"
192       src='[% DOC_IMG %]'></img>
193   </div>
194   <div class="col-md-3 reg-field-input">
195     <div class="btn-group" dropdown>
196       <button type="button" class="btn btn-default dropdown-toggle">
197         <span style="padding-right: 5px;">
198           {{patron.profile.name() || "[% l('Profile Group') %]"}}
199         </span>
200         <span class="caret"></span>
201       </button>
202       <ul class="dropdown-menu">
203         <li ng-repeat="grp in profiles">
204           <a href 
205             style="padding-left: {{pgt_depth(grp) * 10 + 5}}px"
206             ng-click="patron.profile = grp">{{grp.name()}}</a>
207         </li>
208       </ul>
209     </div>
210   </div>
211 </div>
212
213 <div class="row reg-field-row">
214   <div class="col-md-3 reg-field-label">
215   <label>{{idl_fields.au.expire_date.label}}</label>
216     <img ng-show="field_doc.au.expire_date" 
217     ng-click="selected_field_doc=field_doc.au.expire_date"
218     src='[% DOC_IMG %]'></img>
219   </div>
220   <div class="col-md-3 reg-field-input">
221     <input eg-date-input 
222       class="form-control" ng-model="patron.expire_date"/>
223   </div>
224   <div class="col-md-3">
225     <button class="btn btn-default">[% l('Update Expire Date') %]</button>
226   </div>
227 </div>
228
229 <!-- net_access_level -->
230
231 <div class="row reg-field-row">
232   <div class="col-md-3 reg-field-label">
233     <label>{{idl_fields.au.net_access_level.label}}</label>
234     <img ng-show="field_doc.au.net_access_level" 
235       ng-click="selected_field_doc=field_doc.au.net_access_level"
236       src='[% DOC_IMG %]'></img>
237   </div>
238   <div class="col-md-3 reg-field-input">
239     <div class="btn-group" dropdown>
240       <button type="button" class="btn btn-default dropdown-toggle">
241         <span style="padding-right: 5px;">
242           {{patron.net_access_level.name() || "[% l('Net Access Level') %]"}}
243         </span>
244         <span class="caret"></span>
245       </button>
246       <ul class="dropdown-menu">
247         <li ng-repeat="level in net_access_levels">
248           <a href 
249             ng-click="patron.net_access_level = level">{{level.name()}}</a>
250         </li>
251       </ul>
252     </div>
253   </div>
254 </div>
255
256 [% formfield('au', 'active', '', 'checkbox') %]
257 [% formfield('au', 'barred', '', 'checkbox') %]
258 [% formfield('au', 'master_account', '', 'checkbox') %]
259 [% formfield('au', 'claims_returned_count', '', 'number') %]
260 [% formfield('au', 'claims_never_checked_out_count', '', 'number') %]
261 [% formfield('au', 'alert_message') %]
262
263 <div class="alert alert-success row" role="alert">
264   <div class="col-md-6">[% l('User Settings') %]</div>
265 </div>
266
267 <div class="row reg-field-row">
268   <div class="col-md-3 reg-field-label">
269     <label>{{user_setting_types['opac.default_phone'].label()}}</label>
270   </div>
271   <div class="col-md-3 reg-field-input">
272     <input type='text' ng-model="user_settings['opac.default_phone']"/>
273   </div>
274 </div>
275
276 <div class="row reg-field-row">
277   <div class="col-md-3 reg-field-label">
278     <label>{{user_setting_types['opac.default_pickup_location'].label()}}</label>
279   </div>
280   <div class="col-md-3 reg-field-input">
281     <eg-org-selector selected="patron.home_ou" onchange=""></eg-org-selector>
282   </div>
283 </div>
284
285 <div class="row reg-field-row">
286   <div class="col-md-3 reg-field-label">
287     <label>{{user_setting_types['circ.holds_behind_desk'].label()}}</label>
288   </div>
289   <div class="col-md-3 reg-field-input">
290     <div class='checkbox'>
291       <input type='checkbox' ng-model="user_settings['circ.holds_behind_desk']"/>
292     </div>
293   </div>
294 </div>
295
296 <div class="row reg-field-row">
297   <div class="col-md-3 reg-field-label">
298     <label>[% l('Holds Notices') %]</label>
299   </div>
300   <div class="col-md-3 reg-field-input flex-row">
301     <div class='flex-cell'>
302       <input type='checkbox' ng-model="hold_notify_phone"/>
303       [% l('Phone') %]
304     </div>
305     <div class='flex-cell'>
306       <input type='checkbox' ng-model="hold_notify_email"/>
307       [% l('Email') %]
308     </div>
309     <div class='flex-cell'>
310       <input type='checkbox' ng-model="hold_notify_sms"/>
311       [% l('SMS') %]
312     </div>
313   </div>
314 </div>
315
316 <div class="row reg-field-row" ng-if="org_settings['sms.enable']">
317   <div class="col-md-3 reg-field-label">
318     <label>[% l('Default SMS/Text Number') %]</label>
319   </div>
320   <div class="col-md-3 reg-field-input">
321     <input type='text'/>
322   </div>
323 </div>
324
325 <div class="row reg-field-row" ng-if="org_settings['sms.enable']">
326   <div class="col-md-3 reg-field-label">
327     <label>[% l('Default SMS Carrier') %]</label>
328   </div>
329   <div class="col-md-3 reg-field-input">
330     <div class="btn-group" dropdown>
331       <button type="button" class="btn btn-default dropdown-toggle">
332         <span style="padding-right: 5px;"></span>
333         <span class="caret"></span>
334       </button>
335       <ul class="dropdown-menu">
336         <li ng-repeat="carrier in sms_carriers">
337           <a href 
338             ng-click="user_settings['opac.default_sms_carrier'] = carrier">
339                 {{carrier.name()}}
340           </a>
341         </li>
342       </ul>
343     </div>
344   </div>
345 </div>
346
347 <div class="alert alert-success row" role="alert">
348     <div class="col-md-3">[% l('Address') %]</div>
349     <div class="col-md-3">
350         <span class='pad-all-min'>
351           [% l('Mailing') %] <input type='checkbox'/>
352         </span>
353         <span class='pad-all-min'>
354           [% l('Physical') %] <input type='checkbox'/>
355         </span>
356         <span class='pad-all-min'>
357           <button type="button" class="btn btn-danger">[% l('X') %]</button>
358         </span>
359     </div>
360 </div>
361
362 <!-- addresses -->
363
364 [% formfield('aua', 'address_type', 'mailing_address') %]
365 [% formfield('aua', 'post_code', 'mailing_address') %]
366 [% formfield('aua', 'street1', 'mailing_address') %]
367 [% formfield('aua', 'street2', 'mailing_address') %]
368 [% formfield('aua', 'city', 'mailing_address') %]
369 [% formfield('aua', 'county', 'mailing_address') %]
370 [% formfield('aua', 'state', 'mailing_address') %]
371 [% formfield('aua', 'country', 'mailing_address') %]
372 [% formfield('aua', 'valid', 'mailing_address', 'checkbox') %]
373 [% formfield('aua', 'within_city_limits', 'mailing_address', 'checkbox') %]
374
375 <div class="row">
376   <button type="button" class="btn btn-success">[% l('New Address') %]</button>
377 </div>
378
379 <!-- pending address -->
380
381 <div class="alert alert-success row" role="alert" ng-if="stat_cats.length > 0">
382     <div class="col-md-6">[% l('Statistical Categories') %]</div>
383 </div>
384
385 <div class="row reg-field-row" ng-repeat="cat in stat_cats">
386   <div class="col-md-3 reg-field-label">
387     <label>{{cat.name()}}</label>
388   </div>
389   <div class="col-md-3 reg-field-input">
390     <div ng-if="cat.entries().length == 0">
391       <input type="text" class="form-control"/>
392     </div>
393     <div ng-if="cat.entries().length != 0">
394       <div class="btn-group" dropdown>
395         <button type="button" class="btn btn-default dropdown-toggle">
396           <span style="padding-right: 5px;"></span>
397           <span class="caret"></span>
398         </button>
399         <ul class="dropdown-menu">
400           <li ng-repeat="entry in cat.entries()">
401             <a href ng-click=""> {{entry.value()}} </a>
402           </li>
403         </ul>
404       </div>
405     </div>
406   </div>
407 </div>
408
409 <!-- surveys -->
410
411 <div class="alert alert-success row" role="alert" ng-if="surveys.length > 0">
412     <div class="col-md-6">[% l('Surveys') %]</div>
413 </div>
414
415 <div class="row reg-field-row" ng-repeat="survey in surveys">
416   <div class="col-md-3 reg-field-label">
417     <label>{{survey.name()}}</label>
418   </div>
419   <div class="col-md-3 reg-field-input">
420     <div class="btn-group" dropdown>
421       <button type="button" class="btn btn-default dropdown-toggle">
422         <span style="padding-right: 5px;"></span>
423         <span class="caret"></span>
424       </button>
425       <ul class="dropdown-menu">
426         <li ng-repeat="question in survey.questions()">
427           <a href ng-click=""> {{question.question()}} </a>
428         </li>
429       </ul>
430     </div>
431   </div>
432 </div>
433
434
435