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