[% DOC_IMG = '/images/question-mark.png' %]
-<!-- register banner -->
-<div ng-if="!patron_id" ng-class='{"patron-reg-fixed-bar":!offline}'>
-
- <div class="container-fluid" style="text-align:center">
- <div class="alert alert-info alert-less-pad strong-text-2">
- <span >[% l('Register Patron') %]</span>
- </div>
- </div>
-
- <div class="flex-row" class='patron-reg-actions-bar'>
- [% INCLUDE 'staff/circ/patron/reg_actions.tt2' %]
- </div>
-</div>
-
-
-<!-- edit banner -->
-<div ng-if="patron_id"
- class="strong-text-2">[% l('Patron Edit') %]</div>
-
-<div id="reg-alert-pane">
-
- <div id="reg-dupe-links">
- [%# dupe_search_encoded is uri escaped in the JS %]
- <div class="alert alert-danger" ng-show="dupe_counts.name">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.name}}&inactive=1">
- [% l('[_1] patron(s) with same name', '{{dupe_counts.name}}') %]
- </a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.email">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.email}}">
- [% l('[_1] patron(s) with same email',
- '{{dupe_counts.email}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.ident">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.ident}}">
- [% l('[_1] patron(s) with same identification',
- '{{dupe_counts.ident}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.day_phone">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.day_phone}}">
- [% l('[_1] patron(s) with same phone',
- '{{dupe_counts.day_phone}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.evening_phone">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.evening_phone}}">
- [% l('[_1] patron(s) with same phone',
- '{{dupe_counts.evening_phone}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.other_phone">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.other_phone}}">
- [% l('[_1] patron(s) with same phone',
- '{{dupe_counts.other_phone}}') %]</a>
- </div>
- <div class="alert alert-danger" ng-show="dupe_counts.address">
- <a target="_blank"
- href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.address}}" >
- [% l('[_1] patron(s) with same address',
- '{{dupe_counts.address}}') %]</a>
- </div>
- </div>
-
- <div class="alert alert-danger" ng-show="address_alerts.length > 0">
- <div class="strong-text-3">[% l('Address Alert') %]</div>
- <div ng-repeat="address_alert in address_alerts">
- {{address_alert.alert_message()}}
- </div>
- </div>
-
- <!-- IDL field documentation window -->
- <div class="alert alert-info" ng-show="selected_field_doc">
- <fieldset id="reg-field-doc">
- <legend>
- {{idl_fields[selected_field_doc.fm_class()][selected_field_doc.field()].label}}
- </legend>
- <div>{{selected_field_doc.string()}}</div>
- </fieldset>
- </div>
-
- <div class="alert alert-info" ng-show="stage_user_requestor">
- <a target="_blank"
- href="/eg/staff/circ/patron/{{stage_user.reqesting_usr()}}/edit">
- [% l('Requested by [_1]', '{{stage_user_requestor}}') %]
- </a>
- </div>
-</div>
-
[% MACRO draw_field_label (cls, field) BLOCK %]
<div class="col-md-3 reg-field-label"> <!-- field label -->
<label>{{idl_fields.[% cls %].[% field %].label}}</label>
</div>
[% END %]
-
[%
# draws a vanilla form input field for inputs that require no
# special additions.
</span>
[% END %]
-<!-- progress dialog displayed as we await all data to finish loading -->
-<div class="row" ng-show="!page_data_loaded">
- <div class="col-md-6 pad-vert">
- <div class="progress progress-striped active">
- <div class="progress-bar" role="progressbar" aria-valuenow="100"
- aria-valuemin="0" aria-valuemax="100" style="width: 100%">
- <span class="sr-only">[% l('Loading...') %]</span>
+ <div class="row">
+ <!-- register banner -->
+ <div ng-if="!patron_id" class="col-md-12">
+ <div class="alert alert-info alert-less-pad strong-text-2 text-center">
+ <span >[% l('Register Patron') %]</span>
+ </div>
+
+ <div class="col-md-12 flex-row" class='patron-reg-actions-bar'>
+ [% INCLUDE 'staff/circ/patron/reg_actions.tt2' %]
+ </div>
</div>
</div>
- </div>
-</div>
-<!--
+ <div class="row" ng-if="patron_id">
+ <div class="col-md-3 strong-text-2">
+ [% l('Patron Edit') %]
+ </div>
+ </div>
+
+ <!-- progress dialog displayed as we await all data to finish loading -->
+ <div class="row" ng-show="!page_data_loaded">
+ <div class="col-md-6 pad-vert">
+ <div class="progress progress-striped active">
+ <div class="progress-bar" role="progressbar" aria-valuenow="100"
+ aria-valuemin="0" aria-valuemax="100" style="width: 100%">
+ <span class="sr-only">[% l('Loading...') %]</span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+
+ <!--
MAIN FORM
This div wraps the entire form so we can hide it until all needed data
has been loaded. Setting ng-form and a name lets us refer to fields
within the "form" by name for validation.
-->
<div ng-form id="patron-reg-container"
- name="reg_form" ng-show="page_data_loaded">
+ name="reg_form" ng-show="page_data_loaded" class="col-sm-12 col-md-9">
<!-- BARCODE -->
<div class="row reg-field-row" ng-show="show_field('au.expire_date')">
[% draw_field_label('au', 'expire_date') %]
<div class="col-md-3 reg-field-input">
- <eg-date-input
+ <eg-date-input
ng-model="patron.expire_date">
</eg-date-input>
</div>
</div>
</div><!-- /form wrapper -->
+
+<div id="reg-alert-pane" class="col-sm-12 col-md-3">
+ <div id="reg-dupe-links">
+ [%# dupe_search_encoded is uri escaped in the JS %]
+ <div class="alert alert-danger" ng-show="dupe_counts.name">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.name}}&inactive=1">
+ [% l('[_1] patron(s) with same name', '{{dupe_counts.name}}') %]
+ </a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.email">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.email}}">
+ [% l('[_1] patron(s) with same email',
+ '{{dupe_counts.email}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.ident">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.ident}}">
+ [% l('[_1] patron(s) with same identification',
+ '{{dupe_counts.ident}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.day_phone">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.day_phone}}">
+ [% l('[_1] patron(s) with same phone',
+ '{{dupe_counts.day_phone}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.evening_phone">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.evening_phone}}">
+ [% l('[_1] patron(s) with same phone',
+ '{{dupe_counts.evening_phone}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.other_phone">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.other_phone}}">
+ [% l('[_1] patron(s) with same phone',
+ '{{dupe_counts.other_phone}}') %]</a>
+ </div>
+ <div class="alert alert-danger" ng-show="dupe_counts.address">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/search?search={{dupe_search_encoded.address}}" >
+ [% l('[_1] patron(s) with same address',
+ '{{dupe_counts.address}}') %]</a>
+ </div>
+ </div>
+
+ <div class="alert alert-danger" ng-show="address_alerts.length > 0">
+ <div class="strong-text-3">[% l('Address Alert') %]</div>
+ <div ng-repeat="address_alert in address_alerts">
+ {{address_alert.alert_message()}}
+ </div>
+ </div>
+
+ <!-- IDL field documentation window -->
+ <div class="alert alert-info" ng-show="selected_field_doc">
+ <fieldset>
+ <legend>
+ {{idl_fields[selected_field_doc.fm_class()][selected_field_doc.field()].label}}
+ </legend>
+ <div>{{selected_field_doc.string()}}</div>
+ </fieldset>
+ </div>
+
+ <div class="alert alert-info" ng-show="stage_user_requestor">
+ <a target="_blank"
+ href="/eg/staff/circ/patron/{{stage_user.reqesting_usr()}}/edit">
+ [% l('Requested by [_1]', '{{stage_user_requestor}}') %]
+ </a>
+ </div>
+</div>
+
+</div>