Bug 33945: (follow-up) Avoid breaking checkouts table when pref is empty
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / housebound.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE KohaDates %]
5 [% USE AuthorisedValues %]
6 [% USE Branches %]
7 [% SET footerjs = 1 %]
8 [% INCLUDE 'doc-head-open.inc' %]
9 <title>Details for [% INCLUDE 'patron-title.inc' no_html = 1 %] &rsaquo; Housebound &rsaquo; Koha</title>
10 [% INCLUDE 'doc-head-close.inc' %]
11 </head>
12
13 <body id="housebound-home" class="housebound">
14 [% WRAPPER 'header.inc' %]
15     [% INCLUDE 'patron-search-header.inc' %]
16 [% END %]
17
18 [% BLOCK 'homebound-details' %]
19     <div class="rows">
20         <ol>
21           <li>
22             <span class="label" class="required"> Delivery day:</span>
23             [% hpd = housebound_profile.day %]
24             [% IF hpd == 'any' %]<span>Any</span>
25             [% ELSIF hpd == 'monday' %]<span>Monday</span>
26             [% ELSIF hpd == 'tuesday' %]<span>Tuesday</span>
27             [% ELSIF hpd == 'wednesday' %]<span>Wednesday</span>
28             [% ELSIF hpd == 'thursday' %]<span>Thursday</span>
29             [% ELSIF hpd == 'friday' %]<span>Friday</span>
30             [% ELSIF hpd == 'saturday' %]<span>Saturday</span>
31             [% ELSIF hpd == 'sunday' %]<span>Sunday</span>
32             [% END %]
33           </li>
34           <li>
35             <span class="label" class="required">Frequency:</span>
36             [% AuthorisedValues.GetByCode( 'HSBND_FREQ', housebound_profile.frequency, 0 ) || housebound_profile.frequency | html %]
37           </li>
38           <li>
39             <span class="label">Material:</span><br />
40             [% housebound_profile.fav_itemtypes | html | html_line_break %]
41           </li>
42           <li>
43             <span class="label">Subjects:</span><br />
44             [% housebound_profile.fav_subjects | html | html_line_break %]
45           </li>
46           <li>
47             <span class="label">Authors:</span><br />
48             [% housebound_profile.fav_authors | html | html_line_break %]
49           </li>
50           <li>
51             <span class="label">Referral:</span><br />
52             [% housebound_profile.referral | html | html_line_break %]
53           </li>
54           <li>
55             <span class="label">Notes:</span><br />
56             [% housebound_profile.notes | html | html_line_break %]
57           </li>
58         </ol>
59     </div>
60 [% END %]
61
62 [% WRAPPER 'sub-header.inc' %]
63     [% WRAPPER breadcrumbs %]
64         [% WRAPPER breadcrumb_item %]
65             <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
66         [% END %]
67         [% WRAPPER breadcrumb_item %]
68             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% INCLUDE 'patron-title.inc' %]</a>
69         [% END %]
70         [% WRAPPER breadcrumb_item bc_active= 1 %]
71             <span>Housebound details</span>
72         [% END %]
73     [% END #/ WRAPPER breadcrumbs %]
74 [% END #/ WRAPPER sub-header.inc %]
75
76 <div class="main container-fluid">
77     <div class="row">
78         <div class="col-sm-10 col-sm-push-2">
79             <main>
80
81                 [% INCLUDE 'members-toolbar.inc' %]
82
83                 <h1>Housebound details for [% INCLUDE 'patron-title.inc' %]</h1>
84
85             [% FOR m IN messages %]
86                 <div class="dialog [% m.type | html %]">
87                     [% SWITCH m.code %]
88                     [% CASE 'error_on_profile_store' %]
89                         <span>An error occurred whilst updating this housebound profile</span>
90                     [% CASE 'error_on_profile_create' %]
91                         <span>An error occurred whilst creating this housebound profile</span>
92                     [% CASE 'error_on_visit_load' %]
93                         <span>An error occurred whilst loading the housebound visit</span>
94                     [% CASE 'error_on_visit_delete' %]
95                         <span>An error occurred whilst deleting a housebound visit</span>
96                     [% CASE 'error_on_visit_store' %]
97                         <span>An error occurred whilst updating a housebound visit</span>
98                     [% CASE 'error_on_visit_create' %]
99                         <span>An error occurred whilst creating a new housebound visit</span>
100                     [% CASE %]
101                         <span>[% m.code | html %]</span>
102                     [% END %]
103                     <span>Please try again later</span>
104                 </div>
105             [% END %]
106
107             <!-- Create or edit housebound_profile -->
108             [% IF ( method == 'update_or_create' ) %]
109               <form id="editform" method="post" name="editform"
110                     action="/cgi-bin/koha/members/housebound.pl">
111                 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
112                 [% IF ( housebound_profile ) %]
113                   <input type="hidden" name="method" value="updateconfirm" />
114                 [% ELSE %]
115                   <input type="hidden" name="method" value="createconfirm" />
116                 [% END %]
117                 <fieldset id="houseboundentry" class="rows">
118                   <legend>Manage housebound profile</legend>
119                   <ol>
120                     <li>
121                       <label for="day" class="required">Delivery day:</label>
122                       <select id="day" name="day" class="required" required="required">
123                         <option value="">Select a day</option>
124                         [% IF ( housebound_profile ) %]
125                           [% IF ( housebound_profile.day == 'any' ) %]
126                             <option value="any" selected='selected'>Any</option>
127                           [% ELSE %]
128                             <option value="any">Any</option>
129                           [% END %]
130                           [% IF ( housebound_profile.day == 'monday' ) %]
131                             <option value="monday" selected='selected'>Monday</option>
132                           [% ELSE %]
133                             <option value="monday">Monday</option>
134                           [% END %]
135                           [% IF ( housebound_profile.day == 'tuesday' ) %]
136                             <option value="tuesday" selected='selected'>Tuesday</option>
137                           [% ELSE %]
138                             <option value="tuesday">Tuesday</option>
139                           [% END %]
140                           [% IF ( housebound_profile.day == 'wednesday' ) %]
141                             <option value="wednesday" selected='selected'>Wednesday</option>
142                           [% ELSE %]
143                             <option value="wednesday">Wednesday</option>
144                           [% END %]
145                           [% IF ( housebound_profile.day == 'thursday' ) %]
146                             <option value="thursday" selected='selected'>Thursday</option>
147                           [% ELSE %]
148                             <option value="thursday">Thursday</option>
149                           [% END %]
150                           [% IF ( housebound_profile.day == 'friday' ) %]
151                             <option value="friday" selected='selected'>Friday</option>
152                           [% ELSE %]
153                             <option value="friday">Friday</option>
154                           [% END %]
155                           [% IF ( housebound_profile.day == 'saturday' ) %]
156                             <option value="saturday" selected='selected'>Saturday</option>
157                           [% ELSE %]
158                             <option value="saturday">Saturday</option>
159                           [% END %]
160                           [% IF ( housebound_profile.day == 'sunday' ) %]
161                             <option value="sunday" selected='selected'>Sunday</option>
162                           [% ELSE %]
163                             <option value="sunday">Sunday</option>
164                           [% END %]
165                         [% ELSE %]
166                           <option value="any">Any</option>
167                           <option value="monday">Monday</option>
168                           <option value="tuesday">Tuesday</option>
169                           <option value="wednesday">Wednesday</option>
170                           <option value="thursday">Thursday</option>
171                           <option value="friday">Friday</option>
172                           <option value="saturday">Saturday</option>
173                           <option value="sunday">Sunday</option>
174                         [% END %]
175                       </select>
176                       <span class="required">Required</span>
177                     </li>
178                     <li>
179                       <label for="frequency" class="required">Frequency:</label>
180                       <select id="frequency" name="frequency" class="required" required="required">
181                         <option value="">Select a frequency</option>
182                         [% FOREACH frequency IN AuthorisedValues.GetAuthValueDropbox('HSBND_FREQ') %]
183                           [% IF housebound_profile.frequency == frequency.authorised_value %]
184                             <option value="[% frequency.authorised_value | html %]" selected="selected">[% frequency.lib | html %]</option>
185                           [% ELSE %]
186                             <option value="[% frequency.authorised_value | html %]">[% frequency.lib | html %]</option>
187                           [% END %]
188                         [% END %]
189                       </select>
190                       <span class="required">Required</span>
191                     </li>
192                     <li>
193                       <label for="fav_itemtypes">Preferred materials:</label>
194                       [% IF ( housebound_profile ) %]
195                         <textarea id="fav_itemtypes" name="fav_itemtypes" cols="110" rows="10">[% housebound_profile.fav_itemtypes | html  %]</textarea>
196                       [% ELSE %]
197                         <textarea id="fav_itemtypes" name="fav_itemtypes" cols="110" rows="10"></textarea>
198                       [% END %]
199                     </li>
200                     <li>
201                       <label for="fav_subjects">Subjects:</label>
202                       [% IF ( housebound_profile ) %]
203                         <textarea id="fav_subjects" name="fav_subjects" cols="110" rows="10">[% housebound_profile.fav_subjects | html %]</textarea>
204                       [% ELSE %]
205                         <textarea id="fav_subjects" name="fav_subjects" cols="110" rows="10"></textarea>
206                       [% END %]
207                     </li>
208                     <li>
209                       <label for="fav_authors">Authors:</label>
210                       [% IF ( housebound_profile ) %]
211                         <textarea id="fav_authors" name="fav_authors" cols="110" rows="10">[% housebound_profile.fav_authors | html %]</textarea>
212                       [% ELSE %]
213                         <textarea id="fav_authors" name="fav_authors" cols="110" rows="10"></textarea>
214                       [% END %]
215                     </li>
216                     <li>
217                       <label for="referral">Referral:</label>
218                       [% IF ( housebound_profile ) %]
219                         <textarea id="referral" name="referral" cols="110" rows="10">[% housebound_profile.referral | html %]</textarea>
220                       [% ELSE %]
221                         <textarea id="referral" name="referral" cols="110" rows="10"></textarea>
222                       [% END %]
223                     </li>
224                     <li>
225                       <label for="notes">Notes:</label>
226                       [% IF ( housebound_profile ) %]
227                         <textarea id="notes" name="notes" cols="110" rows="10">[% housebound_profile.notes | html %]</textarea>
228                       [% ELSE %]
229                         <textarea id="notes" name="notes" cols="110" rows="10"></textarea>
230                       [% END %]
231                     </li>
232                   </ol>
233                 </fieldset>
234                 <fieldset class="action">
235                     <button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> Save changes</button>
236                     <a class="cancel btn btn-link"
237                         href="/cgi-bin/koha/members/housebound.pl?borrowernumber=[% patron.borrowernumber | html %]">
238                         Cancel
239                     </a>
240                 </fieldset>
241               </form>
242
243             <!-- Create or edit housebound_visit -->
244             [% ELSIF ( method == 'visit_update_or_create' ) %]
245               <h4>Manage housebound deliveries</h4>
246               <form name="form" id="instance_form" method="post"
247                     action="/cgi-bin/koha/members/housebound.pl">
248                 [% IF ( visit ) %]
249                   <input type="hidden" name="method" value="editvisitconfirm" />
250                   <input type="hidden" name="visit_id" value="[% visit.id | html %]" />
251                 [% ELSE %]
252                   <input type="hidden" name="method" value="addvisitconfirm" />
253                 [% END %]
254                 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
255                 <fieldset class="rows" id="instance">
256                   <legend>Delivery details</legend>
257                   <ol>
258                     <li>
259                       <label for="date" class="required">Date: </label>
260                       [% IF ( visit ) %]
261                         <input type="text" id="date" class="flatpickr required"
262                                value="[% visit.appointment_date | $KohaDates %]"
263                                name="date" size="20" required="required"/>
264                       [% ELSE %]
265                         <input type="text" id="date" class="flatpickr required"
266                                value="" name="date" size="20" required="required"/>
267                       [% END %]
268                       <span class="required">Required</span>
269                       <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
270                     </li>
271                     <li>
272                       <label for="segment" class="required">Time:</label>
273                       <select id="segment" name="segment" required="required"
274                               class="required">
275                         <option value="">Select a time</option>
276                         [% IF ( visit ) %]
277                           [% IF ( visit.day_segment == 'morning' ) %]
278                             <option value="morning" selected="selected">
279                               Morning
280                             </option>
281                           [% ELSE %]
282                             <option value="morning">Morning</option>
283                           [% END %]
284                           [% IF ( visit.day_segment == 'afternoon' ) %]
285                             <option value="afternoon" selected="selected">
286                               Afternoon
287                             </option>
288                           [% ELSE %]
289                             <option value="afternoon">Afternoon</option>
290                           [% END %]
291                           [% IF ( visit.day_segment == 'evening' ) %]
292                             <option value="evening" selected="selected">
293                               Evening
294                             </option>
295                           [% ELSE %]
296                             <option value="evening">Evening</option>
297                           [% END %]
298                         [% ELSE %]
299                           <option value="morning">Morning</option>
300                           <option value="afternoon">Afternoon</option>
301                           <option value="evening">Evening</option>
302                         [% END %]
303                       </select>
304                       <span class="required">Required</span>
305                     </li>
306                     <li>
307                       <label for="chooser" class="required"> Chooser:</label>
308                       <select id="chooser" name="chooser" class="required" required="required">
309                         <option value="">Select a chooser</option>
310                         [% IF ( visit ) %]
311                           [% FOREACH chooser IN choosers %]
312                             [% IF ( visit.chooser_brwnumber == chooser.borrowernumber ) %]
313                               <option value="[% chooser.borrowernumber | html %]" selected="selected">
314                                 [% INCLUDE 'patron-title.inc' patron = chooser invert_name = 0 %]
315                               </option>
316                             [% ELSE %]
317                               <option value="[% chooser.borrowernumber | html %]">
318                                 [% INCLUDE 'patron-title.inc' patron = chooser invert_name = 0 %]
319                               </option>
320                             [% END %]
321                           [% END %]
322                         [% ELSE %]
323                           [% FOREACH chooser IN choosers %]
324                             <option value="[% chooser.borrowernumber | html %]">
325                                 [% INCLUDE 'patron-title.inc' patron = chooser invert_name = 0 %]
326                             </option>
327                           [% END %]
328                         [% END %]
329                       </select>
330                       <span class="required">Required</span>
331                     </li>
332                     <li>
333                       <label for="deliverer" class="required">Deliverer:</label>
334                       <select id="deliverer" name="deliverer" class="required" required="required">
335                         <option value="">Select a deliverer</option>
336                         [% IF ( visit ) %]
337                           [% FOREACH deliverer IN deliverers %]
338                             [% IF ( visit.deliverer_brwnumber == deliverer.borrowernumber ) %]
339                               <option value="[% deliverer.borrowernumber | html %]" selected="selected">
340                                 [% INCLUDE 'patron-title.inc' patron = deliverer invert_name = 0 %]
341                               </option>
342                             [% ELSE %]
343                               <option value="[% deliverer.borrowernumber | html %]">
344                                 [% INCLUDE 'patron-title.inc' patron = deliverer invert_name = 0 %]
345                               </option>
346                             [% END %]
347                           [% END %]
348                         [% ELSE %]
349                           [% FOREACH deliverer IN deliverers %]
350                             <option value="[% deliverer.borrowernumber | html %]">
351                               [% INCLUDE 'patron-title.inc' patron = deliverer invert_name = 0 %]
352                             </option>
353                           [% END %]
354                         [% END %]
355                       </select>
356                       <span class="required">Required</span>
357                     </li>
358                   </ol>
359                 </fieldset>
360                 <fieldset class="action">
361                   <button type="submit" class="btn btn-primary btn-sm"><i class="fa fa-save"></i> Save</button>
362                   <a class="cancel"
363                      href="/cgi-bin/koha/members/housebound.pl?borrowernumber=[% patron.borrowernumber | html %]">
364                     Cancel
365                   </a>
366                 </fieldset>
367               </form>
368                 <div class="page-section">
369                     <h3>Housebound details</h3>
370                     [% PROCESS 'homebound-details' %]
371                     <!-- Display a housebound_profile -->
372                 </div> <!-- /.page-section -->
373             [% ELSIF ( housebound_profile ) %]
374                 <div class="page-section">
375                     [% PROCESS 'homebound-details' %]
376                     <div class="action">
377                         <a class="btn btn-default btn-xs" href="/cgi-bin/koha/members/housebound.pl?borrowernumber=[% patron.borrowernumber | html %]&method=update_or_create"><i class="fa fa-pencil"></i> Edit</a>
378                     </div>
379                 </div> <!-- /.page-section -->
380
381                 <div class="page-section">
382                     <h3>Deliveries</h3>
383                     [% housebound_visits = housebound_profile.housebound_visits %]
384                     [% IF  housebound_visits.count > 0 %]
385                         <table border="0" width="100%" cellpadding="3" cellspacing="0">
386                             <tr>
387                                 <th>ID</th><th>Date</th><th>Chooser</th><th>Deliverer</th><th class="noExport">Actions</th>
388                             </tr>
389                             [% FOREACH entry IN housebound_visits %]
390                                 <tr>
391                                     <td>[% entry.id | html %]</td>
392                                     <td>[% entry.appointment_date | $KohaDates %] ([% entry.day_segment | html %])</td>
393                                     <td>
394                                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% entry.chooser.borrowernumber | uri %]">
395                                         [% INCLUDE 'patron-title.inc' patron = entry.chooser invert_name = 0 %]
396                                         </a>
397                                     </td>
398                                     <td>
399                                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% entry.deliverer.borrowernumber | uri %]">
400                                         [% INCLUDE 'patron-title.inc' patron = entry.deliverer invert_name = 0 %]
401                                         </a>
402                                     </td>
403                                     <td class="actions">
404                                         <a class="btn btn-default btn-xs" href="/cgi-bin/koha/members/housebound.pl?method=visit_update_or_create&visit_id=[% entry.id | html %]&borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-pencil"></i> Edit</a>
405                                         <a class="delete btn btn-default btn-xs" href="/cgi-bin/koha/members/housebound.pl?method=visit_delete&visit_id=[% entry.id | html %]&borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-trash"></i> Delete</a>
406                                     </td>
407                                 </tr>
408                             [% END %]
409                         </table>
410                     [% END %]
411                     <div class="action">
412                     <a href="/cgi-bin/koha/members/housebound.pl?method=visit_update_or_create&borrowernumber=[% patron.borrowernumber | uri %]"
413                         class="btn btn-default btn-sm">
414                         <i class="fa fa-plus"></i> Add a new delivery
415                     </a>
416                     </div>
417                 </div> <!-- /.page-section -->
418
419             [% END %]
420
421             </main>
422         </div> <!-- /.col-sm-10.col-sm-push-2 -->
423
424         <div class="col-sm-2 col-sm-pull-10">
425             <aside>
426                 [% INCLUDE 'circ-menu.inc' %]
427             </aside>
428         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
429      </div> <!-- /.row -->
430
431 [% MACRO jsinclude BLOCK %]
432     [% INCLUDE 'calendar.inc' %]
433     <script>
434         $(document).ready(function() {
435             $("a.delete").click(function(){
436                 return confirm(_("Are you sure you want to delete this delivery?"));
437             });
438         });
439     </script>
440     [% INCLUDE 'str/members-menu.inc' %]
441     [% Asset.js("js/members-menu.js") | $raw %]
442 [% END %]
443
444 [% INCLUDE 'intranet-bottom.inc' %]