]> git.koha-community.org Git - koha.git/blob - koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc
Bug 35474: Add icon for protected patrons
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / circ-menu.inc
1 [% USE Koha %]
2 [% USE KohaDates %]
3 [% PROCESS 'member-display-address-style.inc' %]
4 [% IF ( patron.borrowernumber ) %]
5 [% SET patron_is_staff = patron.has_permission({ 'catalogue' => 1 }) %]
6 [% SET patron_is_superlibrarian = patron.is_superlibrarian %]
7 [% SET patron_type_class = 'is-not-staff' %]
8 [% IF ( patron_is_superlibrarian ) %]
9     [% patron_type_class = 'is-staff is-superlibrarian' %]
10 [% ELSIF ( patron_is_staff ) %]
11     [% patron_type_class = 'is-staff' %]
12 [% END %]
13 <div class="patroninfo [% patron_type_class | html %]">
14
15 [% IF ( patronimages ) %]
16     <h5 class="text-center">
17 [% ELSE %]
18     <h5>
19 [% END %]
20         [% IF ( patron_is_staff ) %]
21             <i class="fa fa-shield fa-fw" title="Staff patron"></i>
22         [% END %]
23         [% IF ( patron_is_superlibrarian ) %]
24             <i class="fa fa-bolt fa-fw" title="Superlibrarian patron"></i>
25         [% END %]
26         [% IF ( patron.protected ) %]
27             <i class="fa fa-lock fa-fw" title="Protected patron"></i>
28         [% END %]
29         [% INCLUDE 'patron-title.inc' %]
30     </h5>
31 [% IF Koha.Preference('showLastPatron') %]
32     <input type="hidden" id="hiddenborrowernumber" value="[% patron.borrowernumber | html %]">
33     <input type="hidden" id="hiddenborrowername" value="[% patron.surname | html %] [% patron.firstname | html %]">
34     <input type="hidden" id="hiddenborrowercard" value="[% patron.cardnumber | html %]">
35 [% END %]
36
37 [% IF ( patronimages ) %]
38     <div>
39         <div class="patronimage-container">
40             [% IF ( patron.image ) %]
41                 <img src="/cgi-bin/koha/members/patronimage.pl?borrowernumber=[% patron.borrowernumber | uri %]" class="patronimage" alt="[% patron.firstname | html %] [% patron.surname | html %] ([% patron.cardnumber | html %])" />
42                 [% IF ( CAN_user_tools_batch_upload_patron_images ) %]
43                     <div class="patronimage-controls">
44                         <div class="patronimage-control"><a data-borrowernumber="[% patron.borrowernumber | uri %]" data-cardnumber="[% patron.cardnumber | html %]" class="btn btn-default edit-patronimage" title="Patron photo" href="#"><i class="fa fa-pencil"></i> Edit</a></div>
45                     </div>
46                 [% END %]
47             [% ELSE %]
48                 <div class="patronimage empty"></div>
49                 [% IF ( CAN_user_tools_batch_upload_patron_images ) %]
50                     <div class="patronimage-controls">
51                         <div class="patronimage-control"><a data-borrowernumber="[% patron.borrowernumber | uri %]" data-cardnumber="[% patron.cardnumber | html %]" class="btn btn-default edit-patronimage" title="Patron photo" href="#"><i class="fa fa-plus"></i> Add</a></div>
52                     </div>
53                 [% END %]
54             [% END %]
55         </div>
56     </div>
57 [% END %]
58
59 <ul class="patronbriefinfo">
60     [% IF !(Koha.Preference('HidePersonalPatronDetailOnCirculation')) %]
61         [% IF patron.pronouns %]
62             <li class="patronpronouns">([% patron.pronouns | html %])</li>
63         [% END %]
64
65         [% PROCESS 'display-address-style' %]
66
67         [% IF ( patron.phone || patron.mobile || patron.phonepro ) %]<li class="patronphone">
68         [% IF ( patron.phone ) %]
69             <a href="tel:[% patron.phone | url %]">[% patron.phone | html %]</a>
70         [% ELSE %]
71             [% IF ( patron.mobile ) %]
72                 <a href="tel:[% patron.mobile | url %]">[% patron.mobile | html %]</a>
73             [% ELSE %]
74                 [% IF ( patron.phonepro ) %]
75                     <a href="tel:[% patron.phonepro | url %]">[% patron.phonepro | html %]</a>
76                 [% END %]
77             [% END %]
78         [% END %]</li>[% END %]
79         [% IF ( patron.email ) %]
80             <li class="email"> <a href="mailto:[% patron.email | url %]" title="[% patron.email | html %]">[% patron.email | html %]</a></li>
81         [% ELSE %]
82             [% IF ( patron.emailpro ) %]
83                 <li class="email"> <a href="mailto:[% patron.emailpro | url %]" title="[% patron.emailpro | html %]">[% patron.emailpro | html %]</a></li>
84             [% END %]
85         [% END %]
86         [% IF ( patron.dateofbirth ) %]
87             <li class="patrondateofbirth">
88                 <span>Born:</span>
89                 [% INCLUDE 'patron-age.inc' %]
90             </li>
91         [% END %]
92
93         [% UNLESS ( patron.address or patron.address2 ) %]
94             <li><span class="empty" id="noaddressstored">No address stored.</span></li>
95         [% END %]
96         [% UNLESS ( patron.city ) %]
97             <li><span class="empty" id="nocitystored">No city stored.</span></li>
98         [% END %]
99         [% UNLESS ( patron.phone or patron.mobile or patron.phonepro) %]
100             <li> <span class="empty">No phone stored.</span></li>
101         [% END %]
102         [% UNLESS ( patron.email or patron.emailpro) %]
103             <li> <span class="empty">No email stored.</span></li>
104         [% END %]
105         [% UNLESS ( patron.dateofbirth ) %]
106             <li> <span class="empty">No date of birth stored.</span></li>
107         [% END %]
108
109     [% END %]
110
111     [% IF Koha.Preference('ExtendedPatronAttributes') %]
112         [% FOREACH extendedattribute IN patron.extended_attributes %]
113             [% IF ( extendedattribute.type.display_checkout ) %] [%# FIXME We should filter in the line above %]
114                 [% IF ( extendedattribute.attribute ) %] [%# FIXME Why that? why not if == 0? %]
115                     <li class="patronattribute">
116                         <span class="patronattributelabel">[% extendedattribute.type.description | html %]</span>: [% extendedattribute.description | html %]
117                     </li>
118                 [% END %]
119             [% END %]
120         [% END %]
121     [% END %]
122     <li class="patroncategory">Category: <span class="patroncategory_description">[% patron.category.description | html %]</span> <span class="patroncategory_code">([% patron.categorycode | html %])</span></li>
123     <li class="patronlibrary">Home library: [% Branches.GetName( patron.branchcode ) | html %]</li>
124     <li class="patronborrowernumber">Borrowernumber: [% patron.borrowernumber | html %]</li>
125     <li><span class="patronupdatedon">Updated on [% patron.updated_on | $KohaDates with_hours => 1 %]</span></li>
126     [% IF patron.account_locked %]
127         [% IF patron.login_attempts < 0 %]
128             <li class="blocker account_admin_locked">Account has been administratively locked</li>
129         [% ELSE %]
130             <li class="blocker account_locked">Account has been locked</li>
131         [% END %]
132     [% END %]
133   </ul></div>
134 <div id="menu">
135 <ul>
136     [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
137         [% IF ( circview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% patron.borrowernumber | uri %]">Check out</a></li>
138         [% IF Koha.Preference('BatchCheckouts') && Koha.Preference('BatchCheckoutsValidCategories').split(',').grep('^' _ patron.categorycode _ '$').size > 0 %]
139           [% IF ( batch_checkout_view ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% patron.borrowernumber | uri %]&amp;batch=1">Batch check out</a></li>
140         [% END %]
141     [% END %]
142     [% IF CAN_user_borrowers_edit_borrowers %]
143         [% IF ( detailview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">Details</a></li>
144     [% END %]
145     [% IF ( CAN_user_updatecharges_remaining_permissions ) %]
146         [% IF ( finesview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% patron.borrowernumber | uri %]">Accounting</a></li>
147     [% END %]
148     [% IF ( CAN_user_circulate_circulate_remaining_permissions  )  %]
149         [% IF Koha.Preference("RoutingSerials") %][% IF ( routinglistview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/routing-lists.pl?borrowernumber=[% patron.borrowernumber | uri %]">Routing lists</a></li>[% END %]
150     [% END %]
151     [% IF CAN_user_borrowers_edit_borrowers %]
152         [% IF ( intranetreadinghistory ) %]
153             [% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% patron.borrowernumber | uri %]">Circulation history</a></li>
154         [% END %]
155     [% END %]
156     [% IF CAN_user_borrowers_edit_borrowers %]
157         [% IF ( intranetreadinghistory ) %]
158             [% IF ( holdshistoryview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/holdshistory.pl?borrowernumber=[% patron.borrowernumber | uri %]">Holds history</a></li>
159         [% END %]
160     [% END %]
161     [% IF ( CAN_user_tools_view_system_logs ) %]
162         [% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&amp;modules=MEMBERS&amp;modules=CIRCULATION&amp;object=[% patron.borrowernumber | uri %]&amp;src=circ">Modification log</a></li>
163     [% END %]
164     [% IF CAN_user_borrowers_edit_borrowers %]
165     [% IF ( sentnotices ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% patron.borrowernumber | uri %]">Notices</a></li>
166     [% END %]
167     [% IF CAN_user_borrowers_edit_borrowers %]
168         [% IF (  statisticsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/statistics.pl?borrowernumber=[% patron.borrowernumber | uri %]">Statistics</a></li>
169     [% END %]
170     [% IF CAN_user_borrowers_edit_borrowers %]
171         [% IF ( EnableBorrowerFiles ) %]
172             [% IF ( borrower_files ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/files.pl?borrowernumber=[% patron.borrowernumber | uri %]">Files</a></li>
173         [% END %]
174     [% END %]
175
176     [% IF CAN_user_suggestions_suggestions_manage %]
177         [% IF ( suggestionsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=[% patron.borrowernumber | uri %]">Purchase suggestions</a></li>
178     [% END %]
179     [% IF CAN_user_borrowers_edit_borrowers && useDischarge %]
180         [% IF dischargeview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% patron.borrowernumber | uri %]">Discharges</a></li>
181     [% END %]
182     [% IF Koha.Preference('HouseboundModule') %]
183         [% IF houseboundview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/housebound.pl?borrowernumber=[% patron.borrowernumber | uri %]">Housebound</a></li>
184     [% END %]
185     [% IF Koha.Preference('ILLModule') && CAN_user_ill %]
186         [% IF illview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/ill-requests.pl?borrowernumber=[% patron.borrowernumber | uri %]">ILL requests history</a></li>
187     [% END %]
188     [% IF Koha.Preference('UseRecalls') && CAN_user_recalls %]
189         [% IF recallsview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/recallshistory.pl?borrowernumber=[% patron.borrowernumber | uri %]">Recalls history</a></li>
190     [% END %]
191 </ul></div>
192
193 [% IF patronimages && CAN_user_tools_batch_upload_patron_images %]
194 <!-- Modal -->
195 <div class="modal" id="patronImageEdit" tabindex="-1" role="dialog" aria-labelledby="patronImageEditLabel">
196     <div class="modal-dialog" role="document">
197         <div class="modal-content">
198             <div class="modal-header">
199                 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
200                 <h4 class="modal-title" id="patronImageEditLabel">Patron photo</h4>
201             </div>
202             <div class="modal-body">
203                 [% IF ( patron.cardnumber ) %]
204                 <div id="upload-patron-image" class="patroninfo-section">
205                     <h5>Upload patron photo</h5>
206                     <form method="post" id="picture-upload" action="/cgi-bin/koha/tools/picture-upload.pl"
207                         enctype="multipart/form-data">
208                         [% IF ( patron.image ) %]
209                             <div class="hint">
210                                 To update the image for [% patron.title | html %] [% patron.firstname | html %] [% patron.surname | html %], select a new image file and click 'Upload.' <br />Click the 'Delete' button to
211                                 remove the current image.
212                             </div>
213                         [% ELSE %]
214                             <div class="hint">
215                                 [% 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.
216                             </div>
217                         [% END %]
218                         <p>Only PNG, GIF, JPEG, XPM formats are supported.</p>
219                         <label for="uploadfile">Select the file to upload: </label>
220                         <input type="file" id="uploadfile" name="uploadfile" required="required" />
221                         <div class="action">
222                             <input type="hidden" id="csrf_token" name="csrf_token" value="[% csrf_token | html %]" />
223                             <input type="hidden" id="image" name="filetype" value="image" />
224                             <input type="hidden" id="cardnumber" name="cardnumber" value="[% patron.cardnumber | html %]" />
225                             <input type="hidden" id="borrowernumber" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
226                             <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-upload"></i> Upload photo</button>
227                             <input name="op" type="hidden" value="Upload" />
228                             [% IF ( patron.image ) %]
229                                 <a id="delpicture"
230                                     href="/cgi-bin/koha/tools/picture-upload.pl?op=Delete&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;csrf_token=[% csrf_token | html %]"
231                                     class="btn btn-default btn-xs delete"><i class="fa fa-trash"></i> Delete</a>
232                             [% END %]
233                         </div>
234                     </form>
235                 </div>
236                 <div id="capture-patron-image" class="patroninfo-section">
237                     <h5>Take patron photo</h5>
238                     <form method="post" id="camera-upload" action="/cgi-bin/koha/tools/picture-upload.pl">
239                         <div class="btn-toolbar">
240                             <div class="btn-group">
241                                 <button class="btn btn-default" id="takebutton"><i class="fa fa-camera"></i> Take photo</button>
242                             </div>
243                             <div class="btn-group">
244                                 <button class="btn btn-default" id="retakebutton" style="display:none;"><i class="fa fa-refresh"></i> Retake photo</button>
245                             </div>
246                             <div class="btn-group">
247                                 <a id="downloadbutton" href="#" class="btn btn-default" style="display:none;"><i class="fa fa-download"></i> Download photo</a>
248                             </div>
249                             <div class="btn-group">
250                                 <button id="savebutton" type="submit" class="btn btn-default" style="display:none;"><i class="fa fa-hdd-o"></i> Upload</button>
251                             </div>
252                         </div>
253                         <div id="camera">
254                             <video id="viewfinder">Video stream not available.</video>
255                         </div>
256                         <canvas id="canvas" style="display:none"></canvas>
257                         <div id="output" style="display:none">
258                             <img style="width:100%;height:auto;" id="photo" alt="The screen capture will appear in this box.">
259                         </div>
260                         <input type="hidden" name="uploadfilename" value="patron-photo.jpg" />
261                         <textarea id="uploadfiletext" name="uploadfiletext" style="display:none;"></textarea>
262                         <input type="hidden" name="csrf_token" value="[% csrf_token | html %]" />
263                         <input type="hidden" name="filetype" value="image" />
264                         <input type="hidden" name="cardnumber" value="[% patron.cardnumber | html %]" />
265                         <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
266                         <input name="op" type="hidden" value="Upload" />
267                     </form>
268                 </div>
269                 <div class="dialog message" style="display:none" id="camera-error">
270                     <div>
271                         <span class="fa-stack fa-lg">
272                             <i class="fa fa-camera fa-stack-1x"></i>
273                             <i class="fa fa-ban fa-stack-2x text-danger"></i>
274                         </span>
275                     </div>
276                     <div>
277                         <strong>Cannot take patron photo.</strong>
278                         <span id="camera-error-message"></span>
279                     </div>
280                 </div>
281                 [% ELSE %]
282                     <div id="missing-cardnumber-picture-upload">
283                         <p>The patron must have a cardnumber before a patron photo can be uploaded.</p>
284                     </div>
285                 [% END %]
286             </div>
287             <div class="modal-footer">
288                 <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
289             </div>
290         </div>
291     </div>
292 </div>
293 [% END %]
294
295 [% END %]