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 |
- |
|
|