|
Link Here
|
| 56 |
</div> |
56 |
</div> |
| 57 |
</div> |
57 |
</div> |
| 58 |
[% END %] |
58 |
[% END %] |
| 59 |
[% END %] |
59 |
[% END # /IF patron.image %] |
| 60 |
</div> |
60 |
</div> <!-- /.patronimage-container --> |
| 61 |
</div> |
61 |
</div> |
| 62 |
[% END %] |
62 |
[% END # /IF patronimages %] |
| 63 |
|
63 |
|
| 64 |
<ul class="patronbriefinfo"> |
64 |
<ul class="patronbriefinfo"> |
| 65 |
[% IF patron.pronouns %] |
65 |
[% IF patron.pronouns %] |
|
Link Here
|
| 84 |
[% END %] |
84 |
[% END %] |
| 85 |
[% END %] |
85 |
[% END %] |
| 86 |
</li> |
86 |
</li> |
| 87 |
[% END %] |
87 |
[% END # /IF phones %] |
| 88 |
[% IF ( patron.email ) %] |
88 |
[% IF ( patron.email ) %] |
| 89 |
<li class="email"> |
89 |
<li class="email"> |
| 90 |
<a href="mailto:[% patron.email | url %]" title="[% patron.email | html %]">[% patron.email | html %]</a> |
90 |
<a href="mailto:[% patron.email | url %]" title="[% patron.email | html %]">[% patron.email | html %]</a> |
|
Link Here
|
| 95 |
<a href="mailto:[% patron.emailpro | url %]" title="[% patron.emailpro | html %]">[% patron.emailpro | html %]</a> |
95 |
<a href="mailto:[% patron.emailpro | url %]" title="[% patron.emailpro | html %]">[% patron.emailpro | html %]</a> |
| 96 |
</li> |
96 |
</li> |
| 97 |
[% END %] |
97 |
[% END %] |
| 98 |
[% END %] |
98 |
[% END # /IF emails %] |
| 99 |
[% IF ( patron.dateofbirth ) %] |
99 |
[% IF ( patron.dateofbirth ) %] |
| 100 |
<li class="patrondateofbirth"> |
100 |
<li class="patrondateofbirth"> |
| 101 |
<span>Born:</span> |
101 |
<span>Born:</span> |
|
Link Here
|
| 119 |
<li> <span class="empty">No date of birth stored.</span></li> |
119 |
<li> <span class="empty">No date of birth stored.</span></li> |
| 120 |
[% END %] |
120 |
[% END %] |
| 121 |
|
121 |
|
| 122 |
[% END %] |
122 |
[% END # /IF HidePersonalPatronDetailOnCirculation %] |
| 123 |
|
123 |
|
| 124 |
[% IF Koha.Preference('ExtendedPatronAttributes') %] |
124 |
[% IF Koha.Preference('ExtendedPatronAttributes') %] |
| 125 |
[% FOREACH extendedattribute IN patron.extended_attributes %] |
125 |
[% FOREACH extendedattribute IN patron.extended_attributes %] |
|
Link Here
|
| 132 |
[% ELSE %] |
132 |
[% ELSE %] |
| 133 |
[% extendedattribute.description | html %] |
133 |
[% extendedattribute.description | html %] |
| 134 |
[% END %] |
134 |
[% END %] |
| 135 |
</li> |
135 |
</li> <!-- /.patronattribute --> |
| 136 |
[% END %] |
136 |
[% END %] |
| 137 |
[% END %] |
137 |
[% END # /IF display_checkout %] |
| 138 |
[% END %] |
138 |
[% END # /FOREACH extendedattribute %] |
| 139 |
[% END %] |
139 |
[% END # /IF ExtendedPatronAttributes %] |
| 140 |
|
140 |
|
| 141 |
<li class="patroncategory"> |
141 |
<li class="patroncategory"> |
| 142 |
Category: <span class="patroncategory_description">[% patron.category.description | html %]</span> <span class="patroncategory_code">([% patron.categorycode | html %])</span> |
142 |
Category: <span class="patroncategory_description">[% patron.category.description | html %]</span> <span class="patroncategory_code">([% patron.categorycode | html %])</span> |
| 143 |
</li> |
143 |
</li> |
| 144 |
<li class="patronlibrary">Home library: [% Branches.GetName( patron.branchcode ) | html %]</li> |
144 |
<li class="patronlibrary"> |
| 145 |
<li class="patronborrowernumber">Borrowernumber: [% patron.borrowernumber | html %]</li> |
145 |
Home library: [% Branches.GetName( patron.branchcode ) | html %] |
| 146 |
<li><span class="patronupdatedon">Updated on [% patron.updated_on | $KohaDates with_hours => 1 %]</span></li> |
146 |
</li> |
|
|
147 |
<li class="patronborrowernumber"> |
| 148 |
Borrowernumber: [% patron.borrowernumber | html %] |
| 149 |
</li> |
| 150 |
<li> |
| 151 |
<span class="patronupdatedon">Updated on [% patron.updated_on | $KohaDates with_hours => 1 %]</span> |
| 152 |
</li> |
| 147 |
[% IF patron.account_locked %] |
153 |
[% IF patron.account_locked %] |
| 148 |
[% IF patron.login_attempts < 0 %] |
154 |
[% IF patron.login_attempts < 0 %] |
| 149 |
<li class="blocker account_admin_locked">Account has been administratively locked</li> |
155 |
<li class="blocker account_admin_locked">Account has been administratively locked</li> |
|
Link Here
|
| 151 |
<li class="blocker account_locked">Account has been locked</li> |
157 |
<li class="blocker account_locked">Account has been locked</li> |
| 152 |
[% END %] |
158 |
[% END %] |
| 153 |
[% END %] |
159 |
[% END %] |
| 154 |
</ul> |
160 |
</ul> <!-- /.patronbriefinfo --> |
| 155 |
</div> |
161 |
</div> <!-- /.patronifo --> |
| 156 |
|
162 |
|
| 157 |
<div id="menu"> |
163 |
<div id="menu"> |
| 158 |
<ul> |
164 |
<ul> |
|
Link Here
|
| 165 |
<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% patron.borrowernumber | uri %]&batch=1">Batch check out</a> |
171 |
<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% patron.borrowernumber | uri %]&batch=1">Batch check out</a> |
| 166 |
</li> |
172 |
</li> |
| 167 |
[% END %] |
173 |
[% END %] |
| 168 |
[% END %] |
174 |
[% END # /IF CAN_user_circulate_circulate_remaining_permissions %] |
| 169 |
[% IF CAN_user_borrowers_edit_borrowers %] |
175 |
[% IF CAN_user_borrowers_edit_borrowers %] |
| 170 |
[% IF ( detailview ) %]<li class="active">[% ELSE %]<li>[% END %] |
176 |
[% IF ( detailview ) %]<li class="active">[% ELSE %]<li>[% END %] |
| 171 |
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">Details</a> |
177 |
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">Details</a> |
|
Link Here
|
| 261 |
<div class="modal-header"> |
267 |
<div class="modal-header"> |
| 262 |
<button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
268 |
<button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
| 263 |
<h4 class="modal-title" id="patronImageEditLabel">Patron photo</h4> |
269 |
<h4 class="modal-title" id="patronImageEditLabel">Patron photo</h4> |
| 264 |
</div> |
270 |
</div> <!-- /.modal-header --> |
| 265 |
<div class="modal-body"> |
271 |
<div class="modal-body"> |
| 266 |
[% IF ( patron.cardnumber ) %] |
272 |
[% IF ( patron.cardnumber ) %] |
| 267 |
<div id="upload-patron-image" class="patroninfo-section"> |
273 |
<div id="upload-patron-image" class="patroninfo-section"> |
|
Link Here
|
| 277 |
<div class="hint"> |
283 |
<div class="hint"> |
| 278 |
[% patron.title | html %] [% patron.firstname | html %] [% patron.surname | html %] does not currently have an image available. To import an image for [% patron.title | html %] [% patron.firstname | html %] [% patron.surname | html %], enter the name of an image file to upload. |
284 |
[% patron.title | html %] [% patron.firstname | html %] [% patron.surname | html %] does not currently have an image available. To import an image for [% patron.title | html %] [% patron.firstname | html %] [% patron.surname | html %], enter the name of an image file to upload. |
| 279 |
</div> |
285 |
</div> |
| 280 |
[% END %] |
286 |
[% END # /IF patron.image %] |
| 281 |
<p>Only PNG, GIF, JPEG, XPM formats are supported.</p> |
287 |
<p>Only PNG, GIF, JPEG, XPM formats are supported.</p> |
| 282 |
<label for="uploadfile">Select the file to upload: </label> |
288 |
<label for="uploadfile">Select the file to upload: </label> |
| 283 |
<input type="file" id="uploadfile" name="uploadfile" required="required" /> |
289 |
<input type="file" id="uploadfile" name="uploadfile" required="required" /> |
|
Link Here
|
| 290 |
[% IF ( patron.image ) %] |
296 |
[% IF ( patron.image ) %] |
| 291 |
<button id="delpicture" type="submit" class="btn btn-default btn-xs delete" name="op" value="cud-Delete"><i class="fa fa-trash-can"></i> Delete</button> |
297 |
<button id="delpicture" type="submit" class="btn btn-default btn-xs delete" name="op" value="cud-Delete"><i class="fa fa-trash-can"></i> Delete</button> |
| 292 |
[% END %] |
298 |
[% END %] |
| 293 |
</div> |
299 |
</div> <!-- /.action --> |
| 294 |
</form> |
300 |
</form> <!-- /#picture-upload --> |
| 295 |
</div> |
301 |
</div> <!-- /#upload-patron-image --> |
| 296 |
<div id="capture-patron-image" class="patroninfo-section"> |
302 |
<div id="capture-patron-image" class="patroninfo-section"> |
| 297 |
<h5>Take patron photo</h5> |
303 |
<h5>Take patron photo</h5> |
| 298 |
<form method="post" id="camera-upload" action="/cgi-bin/koha/tools/picture-upload.pl"> |
304 |
<form method="post" id="camera-upload" action="/cgi-bin/koha/tools/picture-upload.pl"> |
|
Link Here
|
| 309 |
<div class="btn-group"> |
315 |
<div class="btn-group"> |
| 310 |
<button id="savebutton" type="submit" class="btn btn-default" style="display:none;"><i class="fa-solid fa-hard-drive"></i> Upload</button> |
316 |
<button id="savebutton" type="submit" class="btn btn-default" style="display:none;"><i class="fa-solid fa-hard-drive"></i> Upload</button> |
| 311 |
</div> |
317 |
</div> |
| 312 |
</div> |
318 |
</div> <!-- /.btn-toolbar --> |
| 313 |
<div id="camera"> |
319 |
<div id="camera"> |
| 314 |
<video id="viewfinder">Video stream not available.</video> |
320 |
<video id="viewfinder">Video stream not available.</video> |
| 315 |
</div> |
321 |
</div> |
|
Link Here
|
| 324 |
<input type="hidden" name="cardnumber" value="[% patron.cardnumber | html %]" /> |
330 |
<input type="hidden" name="cardnumber" value="[% patron.cardnumber | html %]" /> |
| 325 |
<input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> |
331 |
<input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> |
| 326 |
<input name="op" type="hidden" value="cud-Upload" /> |
332 |
<input name="op" type="hidden" value="cud-Upload" /> |
| 327 |
</form> |
333 |
</form> <!-- /#camera-upload --> |
| 328 |
</div> |
334 |
</div> <!-- /#capture-patron-image --> |
| 329 |
<div class="dialog message" style="display:none" id="camera-error"> |
335 |
<div class="dialog message" style="display:none" id="camera-error"> |
| 330 |
<div> |
336 |
<div> |
| 331 |
<span class="fa-stack fa-lg"> |
337 |
<span class="fa-stack fa-lg"> |
|
Link Here
|
| 337 |
<strong>Cannot take patron photo.</strong> |
343 |
<strong>Cannot take patron photo.</strong> |
| 338 |
<span id="camera-error-message"></span> |
344 |
<span id="camera-error-message"></span> |
| 339 |
</div> |
345 |
</div> |
| 340 |
</div> |
346 |
</div> <!-- /.dialog.message --> |
| 341 |
[% ELSE %] |
347 |
[% ELSE %] |
| 342 |
<div id="missing-cardnumber-picture-upload"> |
348 |
<div id="missing-cardnumber-picture-upload"> |
| 343 |
<p>The patron must have a card number before a patron photo can be uploaded.</p> |
349 |
<p>The patron must have a card number before a patron photo can be uploaded.</p> |
| 344 |
</div> |
350 |
</div> |
| 345 |
[% END %] |
351 |
[% END # /IF patron.cardnumber %] |
| 346 |
</div> |
352 |
</div> <!-- /.modal-body --> |
| 347 |
<div class="modal-footer"> |
353 |
<div class="modal-footer"> |
| 348 |
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> |
354 |
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> |
| 349 |
</div> |
355 |
</div> |
| 350 |
</div> |
356 |
</div> <!-- /.modal-content --> |
| 351 |
</div> |
357 |
</div> <!-- /.modal-dialog --> |
| 352 |
</div> |
358 |
</div> <!-- /#patronImageEdit.modal --> |
| 353 |
[% END %] |
359 |
[% END # /IF patronimages %] |
| 354 |
|
360 |
|
| 355 |
[% END %] |
361 |
[% END # /IF patron.borrowernumber %] |
| 356 |
- |
|
|