View | Details | Raw Unified | Return to bug 32028
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt (-1083 / +1091 lines)
Lines 63-864 Link Here
63
            Defining circulation and fine rules for all libraries
63
            Defining circulation and fine rules for all libraries
64
        [% END %]
64
        [% END %]
65
    </h1>
65
    </h1>
66
    <div class="help">
66
    <div class="page-section">
67
        <p>The rules are applied from most specific to less specific, using the first found in this order:</p>
67
        <div class="help">
68
        <ul>
68
            <p>The rules are applied from most specific to less specific, using the first found in this order:</p>
69
            <li>same library, same patron category, same item type</li>
69
            <ul>
70
            <li>same library, same patron category, all item types</li>
70
                <li>same library, same patron category, same item type</li>
71
            <li>same library, all patron categories, same item type</li>
71
                <li>same library, same patron category, all item types</li>
72
            <li>same library, all patron categories, all item types</li>
72
                <li>same library, all patron categories, same item type</li>
73
            <li>default (all libraries), same patron category, same item type</li>
73
                <li>same library, all patron categories, all item types</li>
74
            <li>default (all libraries), same patron category, all item types</li>
74
                <li>default (all libraries), same patron category, same item type</li>
75
            <li>default (all libraries), all patron categories, same item type</li>
75
                <li>default (all libraries), same patron category, all item types</li>
76
            <li>default (all libraries), all patron categories, all item types</li>
76
                <li>default (all libraries), all patron categories, same item type</li>
77
        </ul>
77
                <li>default (all libraries), all patron categories, all item types</li>
78
            </ul>
78
79
79
        <p>Where an itemtype has a parent, the rule will display as "Parent->Child" and the number of
80
            <p>Where an itemtype has a parent, the rule will display as "Parent->Child" and the number of
80
        current checkouts allowed will be limited to either the maximum for the parent (counting sibling types)
81
            current checkouts allowed will be limited to either the maximum for the parent (counting sibling types)
81
        or the specific rule's type, whichever is less.</p>
82
            or the specific rule's type, whichever is less.</p>
82
        <p>To modify a rule, create a new one with the same patron category and item type.</p>
83
            <p>To modify a rule, create a new one with the same patron category and item type.</p>
83
    </div>
84
        </div>
84
    <div>
85
        <div>
85
        [% UNLESS restricted_to_own_library %]
86
            [% UNLESS restricted_to_own_library %]
86
            <form method="get" action="/cgi-bin/koha/admin/smart-rules.pl" id="selectlibrary">
87
                <form method="get" action="/cgi-bin/koha/admin/smart-rules.pl" id="selectlibrary">
87
            Select a library :
88
                Select a library :
88
                <select name="branch" id="branch" style="width:20em;">
89
                    <select name="branch" id="branch" style="width:20em;">
89
                    <option value="*">Standard rules for all libraries</option>
90
                        <option value="*">Standard rules for all libraries</option>
90
                    [% PROCESS options_for_libraries libraries => Branches.all( selected => current_branch, unfiltered => 1 ) %]
91
                        [% PROCESS options_for_libraries libraries => Branches.all( selected => current_branch, unfiltered => 1 ) %]
91
                </select>
92
            </form>
93
            [% IF ( definedbranch ) %]
94
                <form action="/cgi-bin/koha/admin/clone-rules.pl" method="post">
95
                    <label for="tobranch"><strong>Clone these rules to:</strong></label>
96
                    <input type="hidden" name="frombranch" value="[% current_branch | html %]" />
97
                    <select name="tobranch" id="tobranch">
98
                        [% PROCESS options_for_libraries libraries => Branches.all( unfiltered => 1 ) %]
99
                    </select>
92
                    </select>
100
                    <input type="submit" id="clone_rules" class="btn btn-primary" value="Clone" />
101
                </form>
93
                </form>
94
                [% IF ( definedbranch ) %]
95
                    <form action="/cgi-bin/koha/admin/clone-rules.pl" method="post">
96
                        <label for="tobranch"><strong>Clone these rules to:</strong></label>
97
                        <input type="hidden" name="frombranch" value="[% current_branch | html %]" />
98
                        <select name="tobranch" id="tobranch">
99
                            [% PROCESS options_for_libraries libraries => Branches.all( unfiltered => 1 ) %]
100
                        </select>
101
                        <input type="submit" id="clone_rules" class="btn btn-primary" value="Clone" />
102
                    </form>
103
                [% END %]
102
            [% END %]
104
            [% END %]
103
        [% END %]
104
105
105
        <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
106
            <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
106
            <input type="hidden" name="op" value="add" />
107
                <input type="hidden" name="op" value="add" />
107
            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
108
                <input type="hidden" name="branch" value="[% current_branch | html %]"/>
108
            <table id="default-circulation-rules">
109
                <table id="default-circulation-rules">
109
            <thead>
110
                <thead>
110
            <tr>
111
                <tr>
111
                <th>&nbsp;</th>
112
                    <th>&nbsp;</th>
112
                <th class="fixed_sort">Patron category</th>
113
                    <th class="fixed_sort">Patron category</th>
113
                <th>&nbsp;</th>
114
                    <th>&nbsp;</th>
114
                <th class="fixed_sort">Item type</th>
115
                    <th class="fixed_sort">Item type</th>
115
                <th class="noExport">Actions</th>
116
                    <th class="noExport">Actions</th>
116
                <th>Note</th>
117
                    <th>Note</th>
117
                <th>Current checkouts allowed</th>
118
                    <th>Current checkouts allowed</th>
118
                <th>Current on-site checkouts allowed</th>
119
                    <th>Current on-site checkouts allowed</th>
119
                <th>Loan period</th>
120
                    <th>Loan period</th>
120
                <th>Days mode</th>
121
                    <th>Days mode</th>
121
                <th>Unit</th>
122
                    <th>Unit</th>
122
                <th>Hard due date</th>
123
                    <th>Hard due date</th>
123
                <th>Decreased loan period for high holds (day)</th>
124
                    <th>Decreased loan period for high holds (day)</th>
124
                <th>Fine amount</th>
125
                    <th>Fine amount</th>
125
                <th>Fine charging interval</th>
126
                    <th>Fine charging interval</th>
126
                <th>When to charge</th>
127
                    <th>When to charge</th>
127
                <th>Fine grace period</th>
128
                    <th>Fine grace period</th>
128
                <th>Overdue fines cap (amount)</th>
129
                    <th>Overdue fines cap (amount)</th>
129
                <th>Cap fine at replacement price</th>
130
                    <th>Cap fine at replacement price</th>
130
                <th>Suspension in days (day)</th>
131
                    <th>Suspension in days (day)</th>
131
                <th>Max. suspension duration (day)</th>
132
                    <th>Max. suspension duration (day)</th>
132
                <th>Suspension charging interval</th>
133
                    <th>Suspension charging interval</th>
133
                <th>Renewals allowed (count)</th>
134
                    <th>Renewals allowed (count)</th>
134
                [% IF Koha.Preference('UnseenRenewals') %]
135
                    [% IF Koha.Preference('UnseenRenewals') %]
135
                <th>Unseen renewals allowed (count)</th>
136
                    <th>Unseen renewals allowed (count)</th>
136
                [% END %]
137
                    [% END %]
137
                <th>Renewal period</th>
138
                    <th>Renewal period</th>
138
                <th>No renewal before</th>
139
                    <th>No renewal before</th>
139
                <th>Automatic renewal</th>
140
                    <th>Automatic renewal</th>
140
                <th>No automatic renewal after</th>
141
                    <th>No automatic renewal after</th>
141
                <th>No automatic renewal after (hard limit)</th>
142
                    <th>No automatic renewal after (hard limit)</th>
142
                <th>Holds allowed (total)</th>
143
                    <th>Holds allowed (total)</th>
143
                <th>Holds allowed (daily)</th>
144
                    <th>Holds allowed (daily)</th>
144
                <th>Holds per record (count)</th>
145
                    <th>Holds per record (count)</th>
145
                <th>On shelf holds allowed</th>
146
                    <th>On shelf holds allowed</th>
146
                <th>OPAC item level holds</th>
147
                    <th>OPAC item level holds</th>
147
                [% IF Koha.Preference('ArticleRequests') %]
148
                    [% IF Koha.Preference('ArticleRequests') %]
148
                <th>Article requests</th>
149
                    <th>Article requests</th>
149
                [% END %]
150
                    [% END %]
150
                <th>Rental discount (%)</th>
151
                    <th>Rental discount (%)</th>
151
                [% IF Koha.Preference('UseRecalls') %]
152
                    [% IF Koha.Preference('UseRecalls') %]
152
                    <th>Recalls allowed (total)</th>
153
                        <th>Recalls allowed (total)</th>
153
                    <th>Recalls per record (count)</th>
154
                        <th>Recalls per record (count)</th>
154
                    <th>On shelf recalls allowed</th>
155
                        <th>On shelf recalls allowed</th>
155
                    <th>Recall due date interval (day)</th>
156
                        <th>Recall due date interval (day)</th>
156
                    <th>Recall overdue fine amount</th>
157
                        <th>Recall overdue fine amount</th>
157
                    <th>Recall pickup period (day)</th>
158
                        <th>Recall pickup period (day)</th>
158
                [% END %]
159
                    [% END %]
159
                <th class="noExport">Actions</th>
160
                    <th class="noExport">Actions</th>
160
            </tr>
161
                </tr>
161
            </thead>
162
                </thead>
162
            <tbody>
163
                <tbody>
163
                [% SET row_count = 0 %]
164
                    [% SET row_count = 0 %]
164
                [% FOREACH c IN categorycodes %]
165
                    [% FOREACH c IN categorycodes %]
165
                    [% SET c = '' UNLESS c.defined %]
166
                        [% SET c = '' UNLESS c.defined %]
166
                    [% FOREACH i IN itemtypes %]
167
                        [% FOREACH i IN itemtypes %]
167
                        [% SET i = '' UNLESS i.defined %]
168
                            [% SET i = '' UNLESS i.defined %]
168
                        [% SET note = all_rules.$c.$i.note %]
169
                            [% SET note = all_rules.$c.$i.note %]
169
                        [% SET maxissueqty = all_rules.$c.$i.maxissueqty %]
170
                            [% SET maxissueqty = all_rules.$c.$i.maxissueqty %]
170
                        [% SET maxonsiteissueqty = all_rules.$c.$i.maxonsiteissueqty %]
171
                            [% SET maxonsiteissueqty = all_rules.$c.$i.maxonsiteissueqty %]
171
                        [% SET issuelength = all_rules.$c.$i.issuelength %]
172
                            [% SET issuelength = all_rules.$c.$i.issuelength %]
172
                        [% SET daysmode = all_rules.$c.$i.daysmode %]
173
                            [% SET daysmode = all_rules.$c.$i.daysmode %]
173
                        [% SET lengthunit = all_rules.$c.$i.lengthunit %]
174
                            [% SET lengthunit = all_rules.$c.$i.lengthunit %]
174
                        [% SET hardduedate = all_rules.$c.$i.hardduedate %]
175
                            [% SET hardduedate = all_rules.$c.$i.hardduedate %]
175
                        [% SET hardduedatecompare = all_rules.$c.$i.hardduedatecompare %]
176
                            [% SET hardduedatecompare = all_rules.$c.$i.hardduedatecompare %]
176
                        [% SET fine = all_rules.$c.$i.fine %]
177
                            [% SET fine = all_rules.$c.$i.fine %]
177
                        [% SET chargeperiod = all_rules.$c.$i.chargeperiod %]
178
                            [% SET chargeperiod = all_rules.$c.$i.chargeperiod %]
178
                        [% SET chargeperiod_charge_at = all_rules.$c.$i.chargeperiod_charge_at %]
179
                            [% SET chargeperiod_charge_at = all_rules.$c.$i.chargeperiod_charge_at %]
179
                        [% SET firstremind = all_rules.$c.$i.firstremind %]
180
                            [% SET firstremind = all_rules.$c.$i.firstremind %]
180
                        [% SET overduefinescap = all_rules.$c.$i.overduefinescap %]
181
                            [% SET overduefinescap = all_rules.$c.$i.overduefinescap %]
181
                        [% SET cap_fine_to_replacement_price = all_rules.$c.$i.cap_fine_to_replacement_price %]
182
                            [% SET cap_fine_to_replacement_price = all_rules.$c.$i.cap_fine_to_replacement_price %]
182
                        [% SET finedays = all_rules.$c.$i.finedays %]
183
                            [% SET finedays = all_rules.$c.$i.finedays %]
183
                        [% SET maxsuspensiondays = all_rules.$c.$i.maxsuspensiondays %]
184
                            [% SET maxsuspensiondays = all_rules.$c.$i.maxsuspensiondays %]
184
                        [% SET suspension_chargeperiod = all_rules.$c.$i.suspension_chargeperiod %]
185
                            [% SET suspension_chargeperiod = all_rules.$c.$i.suspension_chargeperiod %]
185
                        [% SET renewalsallowed = all_rules.$c.$i.renewalsallowed %]
186
                            [% SET renewalsallowed = all_rules.$c.$i.renewalsallowed %]
186
                        [% SET unseenrenewalsallowed = all_rules.$c.$i.unseen_renewals_allowed %]
187
                            [% SET unseenrenewalsallowed = all_rules.$c.$i.unseen_renewals_allowed %]
187
                        [% SET renewalperiod = all_rules.$c.$i.renewalperiod %]
188
                            [% SET renewalperiod = all_rules.$c.$i.renewalperiod %]
188
                        [% SET norenewalbefore = all_rules.$c.$i.norenewalbefore %]
189
                            [% SET norenewalbefore = all_rules.$c.$i.norenewalbefore %]
189
                        [% SET auto_renew = all_rules.$c.$i.auto_renew %]
190
                            [% SET auto_renew = all_rules.$c.$i.auto_renew %]
190
                        [% SET no_auto_renewal_after = all_rules.$c.$i.no_auto_renewal_after %]
191
                            [% SET no_auto_renewal_after = all_rules.$c.$i.no_auto_renewal_after %]
191
                        [% SET no_auto_renewal_after_hard_limit = all_rules.$c.$i.no_auto_renewal_after_hard_limit %]
192
                            [% SET no_auto_renewal_after_hard_limit = all_rules.$c.$i.no_auto_renewal_after_hard_limit %]
192
                        [% SET reservesallowed = all_rules.$c.$i.reservesallowed %]
193
                            [% SET reservesallowed = all_rules.$c.$i.reservesallowed %]
193
                        [% SET holds_per_day = all_rules.$c.$i.holds_per_day %]
194
                            [% SET holds_per_day = all_rules.$c.$i.holds_per_day %]
194
                        [% SET holds_per_record = all_rules.$c.$i.holds_per_record %]
195
                            [% SET holds_per_record = all_rules.$c.$i.holds_per_record %]
195
                        [% SET onshelfholds = all_rules.$c.$i.onshelfholds %]
196
                            [% SET onshelfholds = all_rules.$c.$i.onshelfholds %]
196
                        [% SET opacitemholds = all_rules.$c.$i.opacitemholds %]
197
                            [% SET opacitemholds = all_rules.$c.$i.opacitemholds %]
197
                        [% SET article_requests = all_rules.$c.$i.article_requests %]
198
                            [% SET article_requests = all_rules.$c.$i.article_requests %]
198
                        [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
199
                            [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
199
                        [% SET decreaseloanholds = all_rules.$c.$i.decreaseloanholds %]
200
                            [% SET decreaseloanholds = all_rules.$c.$i.decreaseloanholds %]
200
                        [% SET recalls_allowed = all_rules.$c.$i.recalls_allowed %]
201
                            [% SET recalls_allowed = all_rules.$c.$i.recalls_allowed %]
201
                        [% SET recalls_per_record = all_rules.$c.$i.recalls_per_record %]
202
                            [% SET recalls_per_record = all_rules.$c.$i.recalls_per_record %]
202
                        [% SET on_shelf_recalls = all_rules.$c.$i.on_shelf_recalls %]
203
                            [% SET on_shelf_recalls = all_rules.$c.$i.on_shelf_recalls %]
203
                        [% SET recall_due_date_interval = all_rules.$c.$i.recall_due_date_interval %]
204
                            [% SET recall_due_date_interval = all_rules.$c.$i.recall_due_date_interval %]
204
                        [% SET recall_overdue_fine = all_rules.$c.$i.recall_overdue_fine %]
205
                            [% SET recall_overdue_fine = all_rules.$c.$i.recall_overdue_fine %]
205
                        [% SET recall_shelf_time = all_rules.$c.$i.recall_shelf_time %]
206
                            [% SET recall_shelf_time = all_rules.$c.$i.recall_shelf_time %]
206
207
207
                        [% SET show_rule = note || maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatecompare || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || unseenrenewalsallowed || renewalperiod || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || rentaldiscount || decreaseloanholds || recalls_allowed || recalls_per_record || on_shelf_recalls || recall_due_date_interval || recall_overdue_fine || recall_shelf_time %]
208
                            [% SET show_rule = note || maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatecompare || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || unseenrenewalsallowed || renewalperiod || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || rentaldiscount || decreaseloanholds || recalls_allowed || recalls_per_record || on_shelf_recalls || recall_due_date_interval || recall_overdue_fine || recall_shelf_time %]
208
                        [% IF show_rule %]
209
                            [% IF show_rule %]
209
                            [% SET row_count = row_count + 1 %]
210
                                [% SET row_count = row_count + 1 %]
210
                            <tr row_countd="row_[% row_count | html %]">
211
                                <tr row_countd="row_[% row_count | html %]">
211
                                    <td>[% IF ( c == undef ) %]
212
                                        <td>[% IF ( c == undef ) %]
212
                                            1
213
                                                1
213
                                        [% ELSE %]
214
                                            [% ELSE %]
214
                                            0
215
                                                0
215
                                        [% END %]</td>
216
                                            [% END %]</td>
216
                                    <td>
217
                                        <td>
217
                                        [% IF c == undef %]
218
                                            [% IF c == undef %]
218
                                            <em>All</em>
219
                                                <em>All</em>
219
                                        [% ELSE %]
220
                                            [% ELSE %]
220
                                            [% Categories.GetName(c) | html %]
221
                                                [% Categories.GetName(c) | html %]
221
                                        [% END %]
222
                                            [% END %]
222
                                    </td>
223
                                        </td>
223
                                    <td>[% IF ( i == undef ) %]
224
                                        <td>[% IF ( i == undef ) %]
224
                                            1
225
                                                1
225
                                        [% ELSE %]
226
                                            [% ELSE %]
226
                                            0
227
                                                0
227
                                        [% END %]</td>
228
                                            [% END %]</td>
228
                                    <td>
229
                                        <td>
229
                                        [% IF i == undef %]
230
                                            [% IF i == undef %]
230
                                            <em>All</em>
231
                                                <em>All</em>
231
                                        [% ELSE %]
232
                                            [% ELSE %]
232
                                            [% ItemTypes.GetDescription(i,1) | html %]
233
                                                [% ItemTypes.GetDescription(i,1) | html %]
233
                                        [% END %]
234
                                            [% END %]
234
                                    </td>
235
                                        </td>
235
                                    <td class="actions">
236
                                        <td class="actions">
236
                                      <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
237
                                          <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
237
                                      <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | html %]&amp;categorycode=[% c || '*' | html %]&amp;branch=[% current_branch | html %]"><i class="fa fa-trash"></i> Delete</a>
238
                                          <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | html %]&amp;categorycode=[% c || '*' | html %]&amp;branch=[% current_branch | html %]"><i class="fa fa-trash"></i> Delete</a>
238
                                    </td>
239
                                        </td>
239
                                    <td>
240
                                        <td>
240
                                        [% IF note.defined && note != '' %]
241
                                            [% IF note.defined && note != '' %]
241
                                            <a name="viewnote" data-toggle="popover" title="Note" data-content="[% note | html %]" data-placement="top" data-trigger="hover">View note</a>
242
                                                <a name="viewnote" data-toggle="popover" title="Note" data-content="[% note | html %]" data-placement="top" data-trigger="hover">View note</a>
242
                                        [% ELSE %]<span>&nbsp;</span>[% END %]
243
                                            [% ELSE %]<span>&nbsp;</span>[% END %]
243
                                    </td>
244
                                        </td>
244
                                    <td>
245
                                        [% IF maxissueqty.defined && maxissueqty != '' %]
246
                                            [% maxissueqty | html %]
247
                                        [% ELSE %]
248
                                            <span>Unlimited</span>
249
                                        [% END %]
250
                                    </td>
251
                                    <td>
252
                                        [% IF maxonsiteissueqty.defined && maxonsiteissueqty != ''  %]
253
                                            [% maxonsiteissueqty | html %]
254
                                        [% ELSE %]
255
                                            <span>Unlimited</span>
256
                                        [% END %]
257
                                    </td>
258
                                    <td>[% issuelength | html %]</td>
259
                                    <td>
260
                                        [% SWITCH daysmode %]
261
                                        [% CASE 'Calendar' %]<span title="Use the calendar to skip days the library is closed">Skip closed days</span>
262
                                        [% CASE 'Datedue' %]<span title="Use the calendar to push the due date to the next open day">Next open day</span>
263
                                        [% CASE 'Days' %]<span title="Ignore the calendar">Ignore the calendar</span>
264
                                        [% CASE 'Dayweek' %]<span title="Use the calendar to push the due date to the next open matching weekday for weekly loan periods, or the next open day otherwise">Same week day</span>
265
                                        [% CASE %]<span title="Use the system preference 'useDaysMode' as a default value">Default</span>
266
                                        [% END %]
267
                                    </td>
268
                                    <td>
269
                                        [% IF ( lengthunit == 'days' ) %]
270
                                            <span>Days</span>
271
                                        [% ELSIF ( lengthunit == 'hours') %]
272
                                            <span>Hours</span>
273
                                        [% ELSE %]
274
                                            <span>Undefined</span>
275
                                        [% END %]
276
                                    </td>
277
                                    <td>
278
                                      [% IF ( hardduedate ) %]
279
                                        [% IF ( hardduedatecompare == '-1' ) %]
280
                                          before [% hardduedate | $KohaDates %]
281
                                          <input type="hidden" name="hardduedatecomparebackup" value="-1" />
282
                                        [% ELSIF ( hardduedatecompare == '0' ) %]
283
                                          on [% hardduedate | $KohaDates %]
284
                                          <input type="hidden" name="hardduedatecomparebackup" value="0" />
285
                                        [% ELSIF ( hardduedatecompare == '1' ) %]
286
                                          after [% hardduedate | $KohaDates %]
287
                                          <input type="hidden" name="hardduedatecomparebackup" value="1" />
288
                                        [% END %]
289
                                      [% ELSE %]
290
                                        <span>None defined</span>
291
                                      [% END %]
292
                                    </td>
293
                                    <td>[% decreaseloanholds | html %]</td>
294
                                    <td>[% fine | html %]</td>
295
                                    <td>[% chargeperiod | html %]</td>
296
                                    <td>[% IF chargeperiod_charge_at %]Start of interval[% ELSE %]End of interval[% END %]</td>
297
                                    <td>[% firstremind | html %]</td>
298
                                    <td>[% overduefinescap | $Price %]</td>
299
                                    <td>
300
                                        [% IF cap_fine_to_replacement_price %]
301
                                            <input type="checkbox" checked="checked" disabled="disabled" />
302
                                        [% ELSE %]
303
                                            <input type="checkbox" disabled="disabled" />
304
                                        [% END %]
305
                                    </td>
306
                                    <td>[% finedays | html %]</td>
307
                                    <td>[% maxsuspensiondays | html %]</td>
308
                                    <td>[% suspension_chargeperiod | html %]</td>
309
                                    <td>[% renewalsallowed | html %]</td>
310
                                    [% IF Koha.Preference('UnseenRenewals') %]
311
                                        <td>
245
                                        <td>
312
                                            [% IF unseenrenewalsallowed.defined && unseenrenewalsallowed != '' %]
246
                                            [% IF maxissueqty.defined && maxissueqty != '' %]
313
                                                [% unseenrenewalsallowed | html %]
247
                                                [% maxissueqty | html %]
314
                                            [% ELSE %]
248
                                            [% ELSE %]
315
                                                <span>Unlimited</span>
249
                                                <span>Unlimited</span>
316
                                            [% END %]
250
                                            [% END %]
317
                                        </td>
251
                                        </td>
318
                                    [% END %]
252
                                        <td>
319
                                    <td>[% renewalperiod | html %]</td>
253
                                            [% IF maxonsiteissueqty.defined && maxonsiteissueqty != ''  %]
320
                                    <td>[% norenewalbefore | html %]</td>
254
                                                [% maxonsiteissueqty | html %]
321
                                    <td>
255
                                            [% ELSE %]
322
                                        [% IF auto_renew %]
256
                                                <span>Unlimited</span>
323
                                            <span>Yes</span>
257
                                            [% END %]
324
                                        [% ELSE %]
258
                                        </td>
325
                                            <span>No</span>
259
                                        <td>[% issuelength | html %]</td>
326
                                        [% END %]
260
                                        <td>
327
                                    </td>
261
                                            [% SWITCH daysmode %]
328
                                    <td>[% no_auto_renewal_after | html %]</td>
262
                                            [% CASE 'Calendar' %]<span title="Use the calendar to skip days the library is closed">Skip closed days</span>
329
                                    <td>[% no_auto_renewal_after_hard_limit | $KohaDates %]</td>
263
                                            [% CASE 'Datedue' %]<span title="Use the calendar to push the due date to the next open day">Next open day</span>
330
                                    <td>
264
                                            [% CASE 'Days' %]<span title="Ignore the calendar">Ignore the calendar</span>
331
                                        [% IF reservesallowed.defined && reservesallowed != '' %]
265
                                            [% CASE 'Dayweek' %]<span title="Use the calendar to push the due date to the next open matching weekday for weekly loan periods, or the next open day otherwise">Same week day</span>
332
                                            [% reservesallowed | html %]
266
                                            [% CASE %]<span title="Use the system preference 'useDaysMode' as a default value">Default</span>
333
                                        [% ELSE %]
267
                                            [% END %]
334
                                            <span>Unlimited</span>
268
                                        </td>
335
                                        [% END %]
269
                                        <td>
336
                                    </td>
270
                                            [% IF ( lengthunit == 'days' ) %]
337
                                    <td>
271
                                                <span>Days</span>
338
                                        [% IF holds_per_day.defined && holds_per_day != '' %]
272
                                            [% ELSIF ( lengthunit == 'hours') %]
339
                                            [% holds_per_day | html %]
273
                                                <span>Hours</span>
340
                                        [% ELSE %]
274
                                            [% ELSE %]
341
                                            <span>Unlimited</span>
275
                                                <span>Undefined</span>
342
                                        [% END %]
276
                                            [% END %]
343
                                    </td>
277
                                        </td>
344
                                    <td>
278
                                        <td>
345
                                        [% IF holds_per_record.defined && holds_per_record != '' %]
279
                                          [% IF ( hardduedate ) %]
346
                                            [% holds_per_record | html %]
280
                                            [% IF ( hardduedatecompare == '-1' ) %]
347
                                        [% ELSE %]
281
                                              before [% hardduedate | $KohaDates %]
348
                                            <span>Unlimited</span>
282
                                              <input type="hidden" name="hardduedatecomparebackup" value="-1" />
349
                                        [% END %]
283
                                            [% ELSIF ( hardduedatecompare == '0' ) %]
350
                                    </td>
284
                                              on [% hardduedate | $KohaDates %]
351
                                    <td>
285
                                              <input type="hidden" name="hardduedatecomparebackup" value="0" />
352
                                        [% IF onshelfholds == 1 %]
286
                                            [% ELSIF ( hardduedatecompare == '1' ) %]
353
                                            <span>Yes</span>
287
                                              after [% hardduedate | $KohaDates %]
354
                                        [% ELSIF onshelfholds == 2 %]
288
                                              <input type="hidden" name="hardduedatecomparebackup" value="1" />
355
                                            <span>If all unavailable</span>
289
                                            [% END %]
356
                                        [% ELSE %]
290
                                          [% ELSE %]
357
                                            <span>If any unavailable</span>
291
                                            <span>None defined</span>
358
                                        [% END %]
292
                                          [% END %]
359
                                    </td>
293
                                        </td>
360
                                    <td>
294
                                        <td>[% decreaseloanholds | html %]</td>
361
                                        [% IF opacitemholds == 'F'%]
295
                                        <td>[% fine | html %]</td>
362
                                            <span>Force</span>
296
                                        <td>[% chargeperiod | html %]</td>
363
                                        [% ELSIF opacitemholds == 'Y'%]
297
                                        <td>[% IF chargeperiod_charge_at %]Start of interval[% ELSE %]End of interval[% END %]</td>
364
                                            <span>Allow</span>
298
                                        <td>[% firstremind | html %]</td>
365
                                        [% ELSE %]
299
                                        <td>[% overduefinescap | $Price %]</td>
366
                                            <span>Don't allow</span>
300
                                        <td>
367
                                        [% END %]
301
                                            [% IF cap_fine_to_replacement_price %]
368
                                    </td>
302
                                                <input type="checkbox" checked="checked" disabled="disabled" />
369
                                    [% IF Koha.Preference('ArticleRequests') %]
303
                                            [% ELSE %]
370
                                    <td>
304
                                                <input type="checkbox" disabled="disabled" />
371
                                        [% IF article_requests == 'no' %]
305
                                            [% END %]
372
                                            <span>No</span>
306
                                        </td>
373
                                        [% ELSIF article_requests == 'yes' %]
307
                                        <td>[% finedays | html %]</td>
374
                                            <span>Yes</span>
308
                                        <td>[% maxsuspensiondays | html %]</td>
375
                                        [% ELSIF article_requests == 'bib_only' %]
309
                                        <td>[% suspension_chargeperiod | html %]</td>
376
                                            <span>Record only</span>
310
                                        <td>[% renewalsallowed | html %]</td>
377
                                        [% ELSIF article_requests == 'item_only' %]
311
                                        [% IF Koha.Preference('UnseenRenewals') %]
378
                                            <span>Item only</span>
312
                                            <td>
313
                                                [% IF unseenrenewalsallowed.defined && unseenrenewalsallowed != '' %]
314
                                                    [% unseenrenewalsallowed | html %]
315
                                                [% ELSE %]
316
                                                    <span>Unlimited</span>
317
                                                [% END %]
318
                                            </td>
379
                                        [% END %]
319
                                        [% END %]
380
                                    </td>
320
                                        <td>[% renewalperiod | html %]</td>
381
                                    [% END %]
321
                                        <td>[% norenewalbefore | html %]</td>
382
                                    <td>[% rentaldiscount | html %]</td>
322
                                        <td>
383
                                    [% IF Koha.Preference('UseRecalls') %]
323
                                            [% IF auto_renew %]
384
                                        <td>[% recalls_allowed | html %]</td>
324
                                                <span>Yes</span>
385
                                        <td>[% recalls_per_record | html %]</td>
325
                                            [% ELSE %]
326
                                                <span>No</span>
327
                                            [% END %]
328
                                        </td>
329
                                        <td>[% no_auto_renewal_after | html %]</td>
330
                                        <td>[% no_auto_renewal_after_hard_limit | $KohaDates %]</td>
331
                                        <td>
332
                                            [% IF reservesallowed.defined && reservesallowed != '' %]
333
                                                [% reservesallowed | html %]
334
                                            [% ELSE %]
335
                                                <span>Unlimited</span>
336
                                            [% END %]
337
                                        </td>
338
                                        <td>
339
                                            [% IF holds_per_day.defined && holds_per_day != '' %]
340
                                                [% holds_per_day | html %]
341
                                            [% ELSE %]
342
                                                <span>Unlimited</span>
343
                                            [% END %]
344
                                        </td>
386
                                        <td>
345
                                        <td>
387
                                            [% IF on_shelf_recalls == 'all' %]
346
                                            [% IF holds_per_record.defined && holds_per_record != '' %]
347
                                                [% holds_per_record | html %]
348
                                            [% ELSE %]
349
                                                <span>Unlimited</span>
350
                                            [% END %]
351
                                        </td>
352
                                        <td>
353
                                            [% IF onshelfholds == 1 %]
354
                                                <span>Yes</span>
355
                                            [% ELSIF onshelfholds == 2 %]
388
                                                <span>If all unavailable</span>
356
                                                <span>If all unavailable</span>
389
                                            [% ELSE %]
357
                                            [% ELSE %]
390
                                                <span>If any unavailable</span>
358
                                                <span>If any unavailable</span>
391
                                            [% END %]
359
                                            [% END %]
392
                                        </td>
360
                                        </td>
393
                                        <td>[% recall_due_date_interval | html %]</td>
361
                                        <td>
394
                                        <td>[% recall_overdue_fine | $Price %]</td>
362
                                            [% IF opacitemholds == 'F'%]
395
                                        <td>[% recall_shelf_time | html %]</td>
363
                                                <span>Force</span>
396
                                    [% END %]
364
                                            [% ELSIF opacitemholds == 'Y'%]
397
                                    <td class="actions">
365
                                                <span>Allow</span>
398
                                      <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
366
                                            [% ELSE %]
399
                                      <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | uri %]&amp;categorycode=[% c || '*' | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
367
                                                <span>Don't allow</span>
400
                                    </td>
368
                                            [% END %]
401
                            </tr>
369
                                        </td>
402
                        [% END %]
370
                                        [% IF Koha.Preference('ArticleRequests') %]
403
                    [% END %]
371
                                        <td>
404
                [% END %]
372
                                            [% IF article_requests == 'no' %]
405
                <tr class="noExport" id="edit_row">
373
                                                <span>No</span>
406
                    <td>2</td>
374
                                            [% ELSIF article_requests == 'yes' %]
407
                    <td>
375
                                                <span>Yes</span>
408
                        <select name="categorycode" id="categorycode">
376
                                            [% ELSIF article_requests == 'bib_only' %]
409
                            <option value="*">All</option>
377
                                                <span>Record only</span>
410
                        [% FOREACH patron_category IN patron_categories%]
378
                                            [% ELSIF article_requests == 'item_only' %]
411
                            <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
379
                                                <span>Item only</span>
412
                        [% END %]
380
                                            [% END %]
413
                        </select>
381
                                        </td>
414
                    </td>
415
                    <td>0</td>
416
                    <td>
417
                        <select name="itemtype" id="matrixitemtype" style="width:13em;">
418
                            <option value="*">All</option>
419
                            [% FOREACH itemtypeloo IN itemtypeloop %]
420
                                [% NEXT IF itemtypeloo.parent_type %]
421
                                [% SET children = itemtypeloo.children_with_localization %]
422
                                [% IF children.count %]
423
                                    <optgroup label="[% itemtypeloo.translated_description | html %]">
424
                                        <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %] (All)</option>
425
                                        [% FOREACH child IN children %]
426
                                            <option value="[% child.itemtype | html %]">[% child.translated_description | html %]</option>
427
                                        [% END %]
382
                                        [% END %]
428
                                    </optgroup>
383
                                        <td>[% rentaldiscount | html %]</td>
429
                                [% ELSE %]
384
                                        [% IF Koha.Preference('UseRecalls') %]
430
                                    <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %]</option>
385
                                            <td>[% recalls_allowed | html %]</td>
431
                                [% END %]
386
                                            <td>[% recalls_per_record | html %]</td>
387
                                            <td>
388
                                                [% IF on_shelf_recalls == 'all' %]
389
                                                    <span>If all unavailable</span>
390
                                                [% ELSE %]
391
                                                    <span>If any unavailable</span>
392
                                                [% END %]
393
                                            </td>
394
                                            <td>[% recall_due_date_interval | html %]</td>
395
                                            <td>[% recall_overdue_fine | $Price %]</td>
396
                                            <td>[% recall_shelf_time | html %]</td>
397
                                        [% END %]
398
                                        <td class="actions">
399
                                          <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
400
                                          <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% i || '*' | uri %]&amp;categorycode=[% c || '*' | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
401
                                        </td>
402
                                </tr>
432
                            [% END %]
403
                            [% END %]
433
                        </select>
404
                        [% END %]
434
                    </td>
435
                    <td class="actions">
436
                        <input type="hidden" name="branch" value="[% current_branch | html %]"/>
437
                        <button type="submit" class="btn btn-primary btn-xs"><i class="fa fa-save"></i> Save</button>
438
                        <button name="cancel" class="clear_edit btn btn-default btn-xs"><i class="fa fa-undo"></i> Clear</button>
439
                    </td>
440
                    <td><input type="text" name="note" id="note" size="15" value="" maxlength="100"></td>
441
                    <td><input type="text" name="maxissueqty" id="maxissueqty" size="3" /></td>
442
                    <td><input type="text" name="maxonsiteissueqty" id="maxonsiteissueqty" size="3" /></td>
443
                    <td><input type="text" name="issuelength" id="issuelength" size="3" /> </td>
444
                    <td>
445
                        <select name="daysmode" id="daysmode">
446
                            <option value="" title="Use the system preference 'useDaysMode' as a default value">Default</option>
447
                            <option value="Calendar" title="Use the calendar to skip days the library is closed">Skip closed days</option>
448
                            <option value="Datedue" title="Use the calendar to push the due date to the next open day">Next open day</option>
449
                            <option value="Days" title="Ignore the calendar">Ignore the calendar</option>
450
                            <option value="Dayweek" title="Use the calendar to push the due date to the next open matching weekday for weekly loan periods, or the next open day otherwise">Same week day</option>
451
                        </select>
452
                    </td>
453
                    <td>
454
                      <select name="lengthunit" id="lengthunit">
455
                        <option value="days" selected="selected">Days</option>
456
                        <option value="hours">Hours</option>
457
                      </select>
458
                    </td>
459
                    <td>
460
                        <select name="hardduedatecompare" id="hardduedatecompare">
461
                           <option value="-1">Before</option>
462
                           <option value="0">Exactly on</option>
463
                           <option value="1">After</option>
464
                        </select>
465
                        <input type="text" size="10" id="hardduedate" name="hardduedate" value="[% hardduedate | html %]" class="flatpickr" />
466
                        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
467
                    </td>
468
                    <td><input type="text" name="decreaseloanholds" id="decreaseloanholds" size="2" /></td>
469
                    <td><input type="text" name="fine" id="fine" size="4" /></td>
470
                    <td><input type="text" name="chargeperiod" id="chargeperiod" size="2" /></td>
471
                    <td>
472
                        <select name="chargeperiod_charge_at" id="chargeperiod_charge_at">
473
                           <option value="0">End of interval</option>
474
                           <option value="1">Start of interval</option>
475
                        </select>
476
                    </td>
477
                    <td><input type="text" name="firstremind" id="firstremind" size="2" /> </td>
478
                    <td><input type="text" name="overduefinescap" id="overduefinescap" size="6" /> </td>
479
                    <td><input type="checkbox" name="cap_fine_to_replacement_price" id="cap_fine_to_replacement_price" /></td>
480
                    <td><input type="text" name="finedays" id="fined" size="3" /> </td>
481
                    <td><input type="text" name="maxsuspensiondays" id="maxsuspensiondays" size="3" /> </td>
482
                    <td><input type="text" name="suspension_chargeperiod" id="suspension_chargeperiod" size="3" /> </td>
483
                    <td><input type="text" name="renewalsallowed" id="renewalsallowed" size="2" /></td>
484
                    [% IF Koha.Preference('UnseenRenewals') %]
485
                        <td><input type="text" name="unseen_renewals_allowed" id="unseen_renewals_allowed" size="2" /></td>
486
                    [% END %]
487
                    <td><input type="text" name="renewalperiod" id="renewalperiod" size="3" /></td>
488
                    <td><input type="text" name="norenewalbefore" id="norenewalbefore" size="3" /></td>
489
                    <td>
490
                        <select name="auto_renew" id="auto_renew">
491
                            <option value="no" selected>No</option>
492
                            <option value="yes">Yes</option>
493
                        </select>
494
                    </td>
495
                    <td><input type="text" name="no_auto_renewal_after" id="no_auto_renewal_after" size="3" /></td>
496
                    <td>
497
                        <input type="text" size="10" name="no_auto_renewal_after_hard_limit" id="no_auto_renewal_after_hard_limit" value="[% no_auto_renewal_after_hard_limit | html %]" class="flatpickr"/>
498
                        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
499
                    </td>
500
                    <td><input type="text" name="reservesallowed"  id="reservesallowed"  size="2" /></td>
501
                    <td><input type="text" name="holds_per_day"    id="holds_per_day"    size="2" /></td>
502
                    <td><input type="text" name="holds_per_record" id="holds_per_record" size="2" /></td>
503
                    <td>
504
                        <select name="onshelfholds" id="onshelfholds">
505
                            <option value="1">Yes</option>
506
                            <option value="0">If any unavailable</option>
507
                            <option value="2">If all unavailable</option>
508
                        </select>
509
                    </td>
510
                    <td>
511
                        <select id="opacitemholds" name="opacitemholds">
512
                            <option value="N">Don't allow</option>
513
                            <option value="Y">Allow</option>
514
                            <option value="F">Force</option>
515
                        </select>
516
                    </td>
517
                    [% IF Koha.Preference('ArticleRequests') %]
518
                    <td>
519
                        <select id="article_requests" name="article_requests">
520
                            <option value="no">No</option>
521
                            <option value="yes">Yes</option>
522
                            <option value="bib_only">Record only</option>
523
                            <option value="item_only">Item only</option>
524
                        </select>
525
                    </td>
526
                    [% END %]
405
                    [% END %]
527
                    <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
406
                    <tr class="noExport" id="edit_row">
528
                    [% IF Koha.Preference('UseRecalls') %]
407
                        <td>2</td>
529
                        <td><input type="text" name="recalls_allowed" id="recalls_allowed" size="3"></td>
530
                        <td><input type="text" name="recalls_per_record" id="recalls_per_record" size="3"></td>
531
                        <td>
408
                        <td>
532
                            <select name="on_shelf_recalls" id="on_shelf_recalls">
409
                            <select name="categorycode" id="categorycode">
533
                                <option value="any">If any unavailable</option>
410
                                <option value="*">All</option>
534
                                <option value="all">If all unavailable</option>
411
                            [% FOREACH patron_category IN patron_categories%]
412
                                <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
413
                            [% END %]
535
                            </select>
414
                            </select>
536
                        </td>
415
                        </td>
537
                        <td><input type="text" name="recall_due_date_interval" id="recall_due_date_interval" size="3"></td>
416
                        <td>0</td>
538
                        <td><input type="text" name="recall_overdue_fine" id="recall_overdue_fine" size="6"></td>
417
                        <td>
539
                        <td><input type="text" name="recall_shelf_time" id="recall_shelf_time" size="3"></td>
418
                            <select name="itemtype" id="matrixitemtype" style="width:13em;">
540
                    [% END %]
419
                                <option value="*">All</option>
541
                    <td class="actions">
420
                                [% FOREACH itemtypeloo IN itemtypeloop %]
542
                        <input type="hidden" name="branch" value="[% current_branch | html %]"/>
421
                                    [% NEXT IF itemtypeloo.parent_type %]
543
                        <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
422
                                    [% SET children = itemtypeloo.children_with_localization %]
544
                        <button name="cancel" class="clear_edit btn btn-default btn-xs"><i class="fa fa-undo"></i> Clear</button>
423
                                    [% IF children.count %]
545
                    </td>
424
                                        <optgroup label="[% itemtypeloo.translated_description | html %]">
546
                </tr>
425
                                            <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %] (All)</option>
547
                <tfoot>
426
                                            [% FOREACH child IN children %]
548
                    <tr>
427
                                                <option value="[% child.itemtype | html %]">[% child.translated_description | html %]</option>
549
                      <th>&nbsp;</th>
428
                                            [% END %]
550
                      <th>Patron category</th>
429
                                        </optgroup>
551
                      <th>&nbsp;</th>
430
                                    [% ELSE %]
552
                      <th>Item type</th>
431
                                        <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %]</option>
553
                      <th>&nbsp;</th>
432
                                    [% END %]
554
                      <th>Note</th>
433
                                [% END %]
555
                      <th>Current checkouts allowed</th>
434
                            </select>
556
                      <th>Current on-site checkouts allowed</th>
435
                        </td>
557
                      <th>Loan period</th>
436
                        <td class="actions">
558
                      <th>Days mode</th>
437
                            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
559
                      <th>Unit</th>
438
                            <button type="submit" class="btn btn-primary btn-xs"><i class="fa fa-save"></i> Save</button>
560
                      <th>Hard due date</th>
439
                            <button name="cancel" class="clear_edit btn btn-default btn-xs"><i class="fa fa-undo"></i> Clear</button>
561
                      <th>Decreased loan period for high holds (day)</th>
440
                        </td>
562
                      <th>Fine amount</th>
441
                        <td><input type="text" name="note" id="note" size="15" value="" maxlength="100"></td>
563
                      <th>Fine charging interval</th>
442
                        <td><input type="text" name="maxissueqty" id="maxissueqty" size="3" /></td>
564
                      <th>Charge when?</th>
443
                        <td><input type="text" name="maxonsiteissueqty" id="maxonsiteissueqty" size="3" /></td>
565
                      <th>Fine grace period</th>
444
                        <td><input type="text" name="issuelength" id="issuelength" size="3" /> </td>
566
                      <th>Overdue fines cap (amount)</th>
445
                        <td>
567
                      <th>Cap fine at replacement price</th>
446
                            <select name="daysmode" id="daysmode">
568
                      <th>Suspension in days (day)</th>
447
                                <option value="" title="Use the system preference 'useDaysMode' as a default value">Default</option>
569
                      <th>Max. suspension duration (day)</th>
448
                                <option value="Calendar" title="Use the calendar to skip days the library is closed">Skip closed days</option>
570
                      <th>Suspension charging interval</th>
449
                                <option value="Datedue" title="Use the calendar to push the due date to the next open day">Next open day</option>
571
                      <th>Renewals allowed (count)</th>
450
                                <option value="Days" title="Ignore the calendar">Ignore the calendar</option>
572
                      [% IF Koha.Preference('UnseenRenewals') %]
451
                                <option value="Dayweek" title="Use the calendar to push the due date to the next open matching weekday for weekly loan periods, or the next open day otherwise">Same week day</option>
573
                      <th>Unseen renewals allowed (count)</th>
452
                            </select>
574
                      [% END %]
453
                        </td>
575
                      <th>Renewal period</th>
454
                        <td>
576
                      <th>No renewal before</th>
455
                          <select name="lengthunit" id="lengthunit">
577
                      <th>Automatic renewal</th>
456
                            <option value="days" selected="selected">Days</option>
578
                      <th>No automatic renewal after</th>
457
                            <option value="hours">Hours</option>
579
                      <th>No automatic renewal after (hard limit)</th>
458
                          </select>
580
                      <th>Holds allowed (total)</th>
459
                        </td>
581
                      <th>Holds allowed (daily)</th>
460
                        <td>
582
                      <th>Holds per record (count)</th>
461
                            <select name="hardduedatecompare" id="hardduedatecompare">
583
                      <th>On shelf holds allowed</th>
462
                               <option value="-1">Before</option>
584
                      <th>OPAC item level holds</th>
463
                               <option value="0">Exactly on</option>
585
                      [% IF Koha.Preference('ArticleRequests') %]
464
                               <option value="1">After</option>
586
                      <th>Article requests</th>
465
                            </select>
587
                      [% END %]
466
                            <input type="text" size="10" id="hardduedate" name="hardduedate" value="[% hardduedate | html %]" class="flatpickr" />
588
                      <th>Rental discount (%)</th>
467
                            <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
589
                      [% IF Koha.Preference('UseRecalls') %]
468
                        </td>
590
                        <th>Recalls allowed (total)</th>
469
                        <td><input type="text" name="decreaseloanholds" id="decreaseloanholds" size="2" /></td>
591
                        <th>Recalls per record (count)</th>
470
                        <td><input type="text" name="fine" id="fine" size="4" /></td>
592
                        <th>On shelf recalls allowed</th>
471
                        <td><input type="text" name="chargeperiod" id="chargeperiod" size="2" /></td>
593
                        <th>Recall due date interval (day)</th>
472
                        <td>
594
                        <th>Recall overdue fine amount</th>
473
                            <select name="chargeperiod_charge_at" id="chargeperiod_charge_at">
595
                        <th>Recall pickup period (day)</th>
474
                               <option value="0">End of interval</option>
596
                      [% END %]
475
                               <option value="1">Start of interval</option>
597
                      <th>&nbsp;</th>
476
                            </select>
477
                        </td>
478
                        <td><input type="text" name="firstremind" id="firstremind" size="2" /> </td>
479
                        <td><input type="text" name="overduefinescap" id="overduefinescap" size="6" /> </td>
480
                        <td><input type="checkbox" name="cap_fine_to_replacement_price" id="cap_fine_to_replacement_price" /></td>
481
                        <td><input type="text" name="finedays" id="fined" size="3" /> </td>
482
                        <td><input type="text" name="maxsuspensiondays" id="maxsuspensiondays" size="3" /> </td>
483
                        <td><input type="text" name="suspension_chargeperiod" id="suspension_chargeperiod" size="3" /> </td>
484
                        <td><input type="text" name="renewalsallowed" id="renewalsallowed" size="2" /></td>
485
                        [% IF Koha.Preference('UnseenRenewals') %]
486
                            <td><input type="text" name="unseen_renewals_allowed" id="unseen_renewals_allowed" size="2" /></td>
487
                        [% END %]
488
                        <td><input type="text" name="renewalperiod" id="renewalperiod" size="3" /></td>
489
                        <td><input type="text" name="norenewalbefore" id="norenewalbefore" size="3" /></td>
490
                        <td>
491
                            <select name="auto_renew" id="auto_renew">
492
                                <option value="no" selected>No</option>
493
                                <option value="yes">Yes</option>
494
                            </select>
495
                        </td>
496
                        <td><input type="text" name="no_auto_renewal_after" id="no_auto_renewal_after" size="3" /></td>
497
                        <td>
498
                            <input type="text" size="10" name="no_auto_renewal_after_hard_limit" id="no_auto_renewal_after_hard_limit" value="[% no_auto_renewal_after_hard_limit | html %]" class="flatpickr"/>
499
                            <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
500
                        </td>
501
                        <td><input type="text" name="reservesallowed"  id="reservesallowed"  size="2" /></td>
502
                        <td><input type="text" name="holds_per_day"    id="holds_per_day"    size="2" /></td>
503
                        <td><input type="text" name="holds_per_record" id="holds_per_record" size="2" /></td>
504
                        <td>
505
                            <select name="onshelfholds" id="onshelfholds">
506
                                <option value="1">Yes</option>
507
                                <option value="0">If any unavailable</option>
508
                                <option value="2">If all unavailable</option>
509
                            </select>
510
                        </td>
511
                        <td>
512
                            <select id="opacitemholds" name="opacitemholds">
513
                                <option value="N">Don't allow</option>
514
                                <option value="Y">Allow</option>
515
                                <option value="F">Force</option>
516
                            </select>
517
                        </td>
518
                        [% IF Koha.Preference('ArticleRequests') %]
519
                        <td>
520
                            <select id="article_requests" name="article_requests">
521
                                <option value="no">No</option>
522
                                <option value="yes">Yes</option>
523
                                <option value="bib_only">Record only</option>
524
                                <option value="item_only">Item only</option>
525
                            </select>
526
                        </td>
527
                        [% END %]
528
                        <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
529
                        [% IF Koha.Preference('UseRecalls') %]
530
                            <td><input type="text" name="recalls_allowed" id="recalls_allowed" size="3"></td>
531
                            <td><input type="text" name="recalls_per_record" id="recalls_per_record" size="3"></td>
532
                            <td>
533
                                <select name="on_shelf_recalls" id="on_shelf_recalls">
534
                                    <option value="any">If any unavailable</option>
535
                                    <option value="all">If all unavailable</option>
536
                                </select>
537
                            </td>
538
                            <td><input type="text" name="recall_due_date_interval" id="recall_due_date_interval" size="3"></td>
539
                            <td><input type="text" name="recall_overdue_fine" id="recall_overdue_fine" size="6"></td>
540
                            <td><input type="text" name="recall_shelf_time" id="recall_shelf_time" size="3"></td>
541
                        [% END %]
542
                        <td class="actions">
543
                            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
544
                            <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
545
                            <button name="cancel" class="clear_edit btn btn-default btn-xs"><i class="fa fa-undo"></i> Clear</button>
546
                        </td>
598
                    </tr>
547
                    </tr>
599
                  </tfoot>
548
                    </tbody>
600
                </tbody>
549
                    <tfoot>
601
            </table>
550
                        <tr>
602
        </form>
551
                          <th>&nbsp;</th>
552
                          <th>Patron category</th>
553
                          <th>&nbsp;</th>
554
                          <th>Item type</th>
555
                          <th>&nbsp;</th>
556
                          <th>Note</th>
557
                          <th>Current checkouts allowed</th>
558
                          <th>Current on-site checkouts allowed</th>
559
                          <th>Loan period</th>
560
                          <th>Days mode</th>
561
                          <th>Unit</th>
562
                          <th>Hard due date</th>
563
                          <th>Decreased loan period for high holds (day)</th>
564
                          <th>Fine amount</th>
565
                          <th>Fine charging interval</th>
566
                          <th>Charge when?</th>
567
                          <th>Fine grace period</th>
568
                          <th>Overdue fines cap (amount)</th>
569
                          <th>Cap fine at replacement price</th>
570
                          <th>Suspension in days (day)</th>
571
                          <th>Max. suspension duration (day)</th>
572
                          <th>Suspension charging interval</th>
573
                          <th>Renewals allowed (count)</th>
574
                          [% IF Koha.Preference('UnseenRenewals') %]
575
                          <th>Unseen renewals allowed (count)</th>
576
                          [% END %]
577
                          <th>Renewal period</th>
578
                          <th>No renewal before</th>
579
                          <th>Automatic renewal</th>
580
                          <th>No automatic renewal after</th>
581
                          <th>No automatic renewal after (hard limit)</th>
582
                          <th>Holds allowed (total)</th>
583
                          <th>Holds allowed (daily)</th>
584
                          <th>Holds per record (count)</th>
585
                          <th>On shelf holds allowed</th>
586
                          <th>OPAC item level holds</th>
587
                          [% IF Koha.Preference('ArticleRequests') %]
588
                          <th>Article requests</th>
589
                          [% END %]
590
                          <th>Rental discount (%)</th>
591
                          [% IF Koha.Preference('UseRecalls') %]
592
                            <th>Recalls allowed (total)</th>
593
                            <th>Recalls per record (count)</th>
594
                            <th>On shelf recalls allowed</th>
595
                            <th>Recall due date interval (day)</th>
596
                            <th>Recall overdue fine amount</th>
597
                            <th>Recall pickup period (day)</th>
598
                          [% END %]
599
                          <th>&nbsp;</th>
600
                        </tr>
601
                    </tfoot>
602
                </table>
603
            </form>
604
        </div><!-- ./page-section -->
603
    </div>
605
    </div>
604
    <div id="defaults-for-this-library" class="container">
606
    <div id="defaults-for-this-library" class="container">
605
    <h3>Default checkout, hold and return policy[% IF humanbranch %] for [% Branches.GetName( humanbranch ) | html %][% END %]</h3>
607
    <h3>Default checkout, hold and return policy[% IF humanbranch %] for [% Branches.GetName( humanbranch ) | html %][% END %]</h3>
606
        <p>You can set a default maximum number of checkouts, hold policy and return policy that will be used if none is defined below for a particular item type or category.</p>
608
        <div class="page-section">
607
        <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
609
            <p>You can set a default maximum number of checkouts, hold policy and return policy that will be used if none is defined below for a particular item type or category.</p>
608
            <input type="hidden" name="op" value="set-branch-defaults" />
610
            <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
609
            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
611
                <input type="hidden" name="op" value="set-branch-defaults" />
610
            <table>
612
                <input type="hidden" name="branch" value="[% current_branch | html %]"/>
611
                <tr>
613
                <table>
612
                    <th>&nbsp;</th>
614
                    <tr>
613
                    <th>Total current checkouts allowed</th>
615
                        <th>&nbsp;</th>
614
                    <th>Total current on-site checkouts allowed</th>
616
                        <th>Total current checkouts allowed</th>
615
                    <th>Maximum total holds allowed (count)</th>
617
                        <th>Total current on-site checkouts allowed</th>
616
                    <th>Hold policy</th>
618
                        <th>Maximum total holds allowed (count)</th>
617
                    <th>Hold pickup library match</th>
619
                        <th>Hold policy</th>
618
                    <th>Return policy</th>
620
                        <th>Hold pickup library match</th>
619
                    <th class="noExport">Actions</th>
621
                        <th>Return policy</th>
620
                </tr>
622
                        <th class="noExport">Actions</th>
621
                [% SET patron_maxissueqty = CirculationRules.Search( current_branch, undef, undef, 'patron_maxissueqty', { want_rule => 1 } ) %]
623
                    </tr>
622
                [% SET patron_maxonsiteissueqty = CirculationRules.Search( current_branch, undef, undef, 'patron_maxonsiteissueqty', { want_rule => 1 } ) %]
624
                    [% SET patron_maxissueqty = CirculationRules.Search( current_branch, undef, undef, 'patron_maxissueqty', { want_rule => 1 } ) %]
623
                [% SET rule_value = CirculationRules.Search( current_branch, undef , undef, 'max_holds', { want_rule => 1 } ) %]
625
                    [% SET patron_maxonsiteissueqty = CirculationRules.Search( current_branch, undef, undef, 'patron_maxonsiteissueqty', { want_rule => 1 } ) %]
624
                [% SET holdallowed = CirculationRules.Search( current_branch, undef, undef, 'holdallowed', { want_rule => 1 } ) %]
626
                    [% SET rule_value = CirculationRules.Search( current_branch, undef , undef, 'max_holds', { want_rule => 1 } ) %]
625
                [% SET hold_fulfillment_policy = CirculationRules.Search( current_branch, undef, undef, 'hold_fulfillment_policy', { want_rule => 1 }) %]
627
                    [% SET holdallowed = CirculationRules.Search( current_branch, undef, undef, 'holdallowed', { want_rule => 1 } ) %]
626
                [% SET returnbranch = CirculationRules.Search( current_branch, undef, undef, 'returnbranch', { want_rule => 1 }) %]
628
                    [% SET hold_fulfillment_policy = CirculationRules.Search( current_branch, undef, undef, 'hold_fulfillment_policy', { want_rule => 1 }) %]
627
                [% SET default_checkout_hold_and_return_policy = ( patron_maxissueqty || patron_maxonsiteissueqty || rule_value || holdallowed || hold_fulfillment_policy || returnbranch ) %]
629
                    [% SET returnbranch = CirculationRules.Search( current_branch, undef, undef, 'returnbranch', { want_rule => 1 }) %]
628
                <tr>
630
                    [% SET default_checkout_hold_and_return_policy = ( patron_maxissueqty || patron_maxonsiteissueqty || rule_value || holdallowed || hold_fulfillment_policy || returnbranch ) %]
629
                    <td>
631
                    <tr>
630
                        [% IF ( default_checkout_hold_and_return_policy ) %]
632
                        <td>
631
                            <em>
633
                            [% IF ( default_checkout_hold_and_return_policy ) %]
632
                            Defaults
634
                                <em>
633
                            </em>
635
                                Defaults
634
                        [% ELSE %]
636
                                </em>
635
                            Not set
636
                        [% END %]
637
                    </td>
638
                    <td>
639
                        <input type="text" name="patron_maxissueqty" size="9" value="[% patron_maxissueqty.rule_value | html %]" placeholder="Unlimited"/>
640
                    </td>
641
                    <td>
642
                        <input type="text" name="patron_maxonsiteissueqty" size="9" value="[% patron_maxonsiteissueqty.rule_value | html %]" placeholder="Unlimited"/>
643
                    </td>
644
                    <td>
645
                        <input name="max_holds" size="9" value="[% rule_value.rule_value | html %]" placeholder="Unlimited"/>
646
                    </td>
647
                    <td>
648
                        <select name="holdallowed">
649
                            <option value="">
650
                                Not set
651
                            </option>
652
653
                            [% IF holdallowed.rule_value == 'from_any_library' %]
654
                                <option value="from_any_library" selected="selected">
655
                            [% ELSE %]
656
                                <option value="from_any_library">
657
                            [% END %]
658
                                From any library
659
                            </option>
660
661
                            [% IF holdallowed.rule_value == 'from_local_hold_group' %]
662
                            <option value="from_local_hold_group" selected="selected">
663
                            [% ELSE %]
664
                            <option value="from_local_hold_group">
665
                            [% END %]
666
                                From local hold group
667
                            </option>
668
669
                            [% IF holdallowed.rule_value == 'from_home_library' %]
670
                                <option value="from_home_library" selected="selected">
671
                            [% ELSE %]
672
                                <option value="from_home_library">
673
                            [% END %]
674
                                From home library
675
                            </option>
676
677
                            [% IF holdallowed.rule_value == 'not_allowed' %]
678
                                <option value="not_allowed" selected="selected">
679
                            [% ELSE %]
637
                            [% ELSE %]
680
                                <option value="not_allowed">
681
                            [% END %]
682
                                No holds allowed
683
                            </option>
684
                        </select>
685
                    </td>
686
                    <td>
687
                        <select name="hold_fulfillment_policy">
688
689
                            <option value="">
690
                                Not set
638
                                Not set
691
                            </option>
639
                            [% END %]
640
                        </td>
641
                        <td>
642
                            <input type="text" name="patron_maxissueqty" size="9" value="[% patron_maxissueqty.rule_value | html %]" placeholder="Unlimited"/>
643
                        </td>
644
                        <td>
645
                            <input type="text" name="patron_maxonsiteissueqty" size="9" value="[% patron_maxonsiteissueqty.rule_value | html %]" placeholder="Unlimited"/>
646
                        </td>
647
                        <td>
648
                            <input name="max_holds" size="9" value="[% rule_value.rule_value | html %]" placeholder="Unlimited"/>
649
                        </td>
650
                        <td>
651
                            <select name="holdallowed">
652
                                <option value="">
653
                                    Not set
654
                                </option>
692
655
693
                            [% IF hold_fulfillment_policy.rule_value == 'any' %]
656
                                [% IF holdallowed.rule_value == 'from_any_library' %]
694
                                <option value="any" selected="selected">
657
                                    <option value="from_any_library" selected="selected">
695
                                    any library
658
                                [% ELSE %]
659
                                    <option value="from_any_library">
660
                                [% END %]
661
                                    From any library
696
                                </option>
662
                                </option>
697
                            [% ELSE %]
663
698
                                <option value="any">
664
                                [% IF holdallowed.rule_value == 'from_local_hold_group' %]
699
                                    any library
665
                                <option value="from_local_hold_group" selected="selected">
666
                                [% ELSE %]
667
                                <option value="from_local_hold_group">
668
                                [% END %]
669
                                    From local hold group
700
                                </option>
670
                                </option>
701
                            [% END %]
702
671
703
                            [% IF hold_fulfillment_policy.rule_value == 'holdgroup' %]
672
                                [% IF holdallowed.rule_value == 'from_home_library' %]
704
                                <option value="holdgroup" selected="selected">
673
                                    <option value="from_home_library" selected="selected">
705
                                    item's hold group
674
                                [% ELSE %]
675
                                    <option value="from_home_library">
676
                                [% END %]
677
                                    From home library
706
                                </option>
678
                                </option>
707
                            [% ELSE %]
679
708
                                <option value="holdgroup">
680
                                [% IF holdallowed.rule_value == 'not_allowed' %]
709
                                    item's hold group
681
                                    <option value="not_allowed" selected="selected">
682
                                [% ELSE %]
683
                                    <option value="not_allowed">
684
                                [% END %]
685
                                    No holds allowed
710
                                </option>
686
                                </option>
711
                            [% END %]
687
                            </select>
688
                        </td>
689
                        <td>
690
                            <select name="hold_fulfillment_policy">
712
691
713
                            [% IF hold_fulfillment_policy.rule_value == 'patrongroup' %]
692
                                <option value="">
714
                                <option value="patrongroup" selected="selected">
693
                                    Not set
715
                                    patron's hold group
716
                                </option>
694
                                </option>
717
                            [% ELSE %]
695
718
                                <option value="patrongroup">
696
                                [% IF hold_fulfillment_policy.rule_value == 'any' %]
719
                                    patron's hold group
697
                                    <option value="any" selected="selected">
698
                                        any library
699
                                    </option>
700
                                [% ELSE %]
701
                                    <option value="any">
702
                                        any library
703
                                    </option>
704
                                [% END %]
705
706
                                [% IF hold_fulfillment_policy.rule_value == 'holdgroup' %]
707
                                    <option value="holdgroup" selected="selected">
708
                                        item's hold group
709
                                    </option>
710
                                [% ELSE %]
711
                                    <option value="holdgroup">
712
                                        item's hold group
713
                                    </option>
714
                                [% END %]
715
716
                                [% IF hold_fulfillment_policy.rule_value == 'patrongroup' %]
717
                                    <option value="patrongroup" selected="selected">
718
                                        patron's hold group
719
                                    </option>
720
                                [% ELSE %]
721
                                    <option value="patrongroup">
722
                                        patron's hold group
723
                                    </option>
724
                                [% END %]
725
726
                                [% IF hold_fulfillment_policy.rule_value == 'homebranch' %]
727
                                    <option value="homebranch" selected="selected">
728
                                        item's home library
729
                                    </option>
730
                                [% ELSE %]
731
                                    <option value="homebranch">
732
                                        item's home library
733
                                    </option>
734
                                [% END %]
735
736
                                [% IF hold_fulfillment_policy.rule_value == 'holdingbranch' %]
737
                                    <option value="holdingbranch" selected="selected">
738
                                        item's holding library
739
                                    </option>
740
                                [% ELSE %]
741
                                    <option value="holdingbranch">
742
                                        item's holding library
743
                                    </option>
744
                                [% END %]
745
                            </select>
746
                        </td>
747
                        <td>
748
                            <select name="returnbranch">
749
750
                                <option value="">
751
                                    Not set
720
                                </option>
752
                                </option>
721
                            [% END %]
722
753
723
                            [% IF hold_fulfillment_policy.rule_value == 'homebranch' %]
754
                                [% IF returnbranch.rule_value == 'homebranch' %]
724
                                <option value="homebranch" selected="selected">
755
                                <option value="homebranch" selected="selected">
725
                                    item's home library
756
                                [% ELSE %]
726
                                </option>
727
                            [% ELSE %]
728
                                <option value="homebranch">
757
                                <option value="homebranch">
729
                                    item's home library
758
                                [% END %]
759
                                    Item returns home
730
                                </option>
760
                                </option>
731
                            [% END %]
761
                                [% IF returnbranch.rule_value == 'holdingbranch' %]
732
733
                            [% IF hold_fulfillment_policy.rule_value == 'holdingbranch' %]
734
                                <option value="holdingbranch" selected="selected">
762
                                <option value="holdingbranch" selected="selected">
735
                                    item's holding library
763
                                [% ELSE %]
736
                                </option>
737
                            [% ELSE %]
738
                                <option value="holdingbranch">
764
                                <option value="holdingbranch">
739
                                    item's holding library
765
                                [% END %]
766
                                    Item returns to issuing library
740
                                </option>
767
                                </option>
768
                                [% IF returnbranch.rule_value == 'noreturn' %]
769
                                <option value="noreturn" selected="selected">
770
                                [% ELSE %]
771
                                <option value="noreturn">
772
                                [% END %]
773
                                    Item floats
774
                                </option>
775
                            </select>
776
                        </td>
777
                        <td class="actions">
778
                            <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
779
                            [% IF ( default_checkout_hold_and_return_policy ) %]
780
                                <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-cat&amp;categorycode=*&amp;branch=[% current_branch | html %]" id="unset"><i class="fa fa-undo"></i> Unset</a>
741
                            [% END %]
781
                            [% END %]
742
                        </select>
782
                        </td>
743
                    </td>
783
                    </tr>
744
                    <td>
784
                </table>
745
                        <select name="returnbranch">
785
            </form>
746
786
        </div><!-- /.page-section -->
747
                            <option value="">
748
                                Not set
749
                            </option>
750
751
                            [% IF returnbranch.rule_value == 'homebranch' %]
752
                            <option value="homebranch" selected="selected">
753
                            [% ELSE %]
754
                            <option value="homebranch">
755
                            [% END %]
756
                                Item returns home
757
                            </option>
758
                            [% IF returnbranch.rule_value == 'holdingbranch' %]
759
                            <option value="holdingbranch" selected="selected">
760
                            [% ELSE %]
761
                            <option value="holdingbranch">
762
                            [% END %]
763
                                Item returns to issuing library
764
                            </option>
765
                            [% IF returnbranch.rule_value == 'noreturn' %]
766
                            <option value="noreturn" selected="selected">
767
                            [% ELSE %]
768
                            <option value="noreturn">
769
                            [% END %]
770
                                Item floats
771
                            </option>
772
                        </select>
773
                    </td>
774
                    <td class="actions">
775
                        <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
776
                        [% IF ( default_checkout_hold_and_return_policy ) %]
777
                            <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-cat&amp;categorycode=*&amp;branch=[% current_branch | html %]" id="unset"><i class="fa fa-undo"></i> Unset</a>
778
                        [% END %]
779
                    </td>
780
                </tr>
781
            </table>
782
        </form>
783
    </div>
787
    </div>
784
    [% IF ( show_branch_cat_rule_form ) %]
788
    [% IF ( show_branch_cat_rule_form ) %]
785
    <div id="holds-policy-by-patron-category" class="container">
789
    <div id="holds-policy-by-patron-category" class="container">
786
    <h3>[% IF humanbranch %]Checkout, hold policy by patron category for [% Branches.GetName( humanbranch ) | html %][% ELSE %]Default checkout, hold policy by patron category[% END %]</h3>
790
    <h3>[% IF humanbranch %]Checkout, hold policy by patron category for [% Branches.GetName( humanbranch ) | html %][% ELSE %]Default checkout, hold policy by patron category[% END %]</h3>
787
        <p>For this library, you can specify the maximum number of loans that
791
        <div class="page-section">
788
            a patron of a given category can make, regardless of the item type.
792
            <p>For this library, you can specify the maximum number of loans that
789
        </p>
793
                a patron of a given category can make, regardless of the item type.
790
        <p>If the total amount loanable for a given patron category is left blank,
794
            </p>
791
           no limit applies, except possibly for a limit you define for a specific item type.
795
            <p>If the total amount loanable for a given patron category is left blank,
792
        </p>
796
               no limit applies, except possibly for a limit you define for a specific item type.
793
        <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
797
            </p>
794
            <input type="hidden" name="op" value="add-branch-cat" />
798
            <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
795
            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
799
                <input type="hidden" name="op" value="add-branch-cat" />
796
            <table>
800
                <input type="hidden" name="branch" value="[% current_branch | html %]"/>
797
                <tr>
801
                <table>
798
                    <th>Patron category</th>
799
                    <th>Total current checkouts allowed</th>
800
                    <th>Total current on-site checkouts allowed</th>
801
                    <th>Total holds allowed</th>
802
                    <th>&nbsp;</th>
803
                </tr>
804
                [% FOREACH c IN categorycodes %]
805
                    [% NEXT UNLESS c %]
806
                    [% SET patron_maxissueqty = CirculationRules.Search( branchcode, c, undef, 'patron_maxissueqty' ) %]
807
                    [% SET patron_maxonsiteissueqty = CirculationRules.Search( branchcode, c, undef, 'patron_maxonsiteissueqty' ) %]
808
                    [% SET max_holds = CirculationRules.Search( branchcode, c, undef, 'max_holds' ) %]
809
810
                    [% IF  ( patron_maxissueqty.defined && patron_maxissueqty != '' ) || ( patron_maxonsiteissueqty.defined && patron_maxonsiteissueqty != '' ) || ( max_holds.defined && max_holds != '' ) %]
811
                    <tr>
802
                    <tr>
812
                        <td>
803
                        <th>Patron category</th>
813
                            [% IF c == undef %]
804
                        <th>Total current checkouts allowed</th>
814
                                <em>Default</em>
805
                        <th>Total current on-site checkouts allowed</th>
815
                            [% ELSE %]
806
                        <th>Total holds allowed</th>
816
                                [% Categories.GetName(c) | html %]
807
                        <th>&nbsp;</th>
817
                            [% END %]
818
                        </td>
819
                        <td>
820
                            [% IF patron_maxissueqty.defined && patron_maxissueqty != '' %]
821
                                [% patron_maxissueqty | html %]
822
                            [% ELSE %]
823
                                <span>Unlimited</span>
824
                            [% END %]
825
                        </td>
826
                        <td>
827
                            [% IF patron_maxonsiteissueqty.defined && patron_maxonsiteissueqty != '' %]
828
                                [% patron_maxonsiteissueqty | html %]
829
                            [% ELSE %]
830
                                <span>Unlimited</span>
831
                            [% END %]
832
                        </td>
833
                        <td>
834
                            [% IF max_holds.defined && max_holds != '' %]
835
                                [% max_holds | html %]
836
                            [% ELSE %]
837
                                <span>Unlimited</span>
838
                            [% END %]
839
                        </td>
840
841
                        <td class="actions">
842
                            <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-cat&amp;categorycode=[% c | html %]&amp;branch=[% current_branch | html %]"><i class="fa fa-trash"></i> Delete</a>
843
                        </td>
844
                    </tr>
808
                    </tr>
845
                    [% END %]
809
                    [% FOREACH c IN categorycodes %]
846
                [% END %]
810
                        [% NEXT UNLESS c %]
847
                <tr>
811
                        [% SET patron_maxissueqty = CirculationRules.Search( branchcode, c, undef, 'patron_maxissueqty' ) %]
848
                    <td>
812
                        [% SET patron_maxonsiteissueqty = CirculationRules.Search( branchcode, c, undef, 'patron_maxonsiteissueqty' ) %]
849
                        <select name="categorycode">
813
                        [% SET max_holds = CirculationRules.Search( branchcode, c, undef, 'max_holds' ) %]
850
                        [% FOREACH patron_category IN patron_categories%]
814
851
                            <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
815
                        [% IF  ( patron_maxissueqty.defined && patron_maxissueqty != '' ) || ( patron_maxonsiteissueqty.defined && patron_maxonsiteissueqty != '' ) || ( max_holds.defined && max_holds != '' ) %]
852
                        [% END %]
816
                        <tr>
853
                        </select>
817
                            <td>
854
                    </td>
818
                                [% IF c == undef %]
855
                    <td><input name="patron_maxissueqty" size="3" type="text" /></td>
819
                                    <em>Default</em>
856
                    <td><input name="patron_maxonsiteissueqty" size="3" type="text" /></td>
820
                                [% ELSE %]
857
                    <td><input name="max_holds" size="3" type="text" /></td>
821
                                    [% Categories.GetName(c) | html %]
858
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</td>
822
                                [% END %]
859
                </tr>
823
                            </td>
860
            </table>
824
                            <td>
861
        </form>
825
                                [% IF patron_maxissueqty.defined && patron_maxissueqty != '' %]
826
                                    [% patron_maxissueqty | html %]
827
                                [% ELSE %]
828
                                    <span>Unlimited</span>
829
                                [% END %]
830
                            </td>
831
                            <td>
832
                                [% IF patron_maxonsiteissueqty.defined && patron_maxonsiteissueqty != '' %]
833
                                    [% patron_maxonsiteissueqty | html %]
834
                                [% ELSE %]
835
                                    <span>Unlimited</span>
836
                                [% END %]
837
                            </td>
838
                            <td>
839
                                [% IF max_holds.defined && max_holds != '' %]
840
                                    [% max_holds | html %]
841
                                [% ELSE %]
842
                                    <span>Unlimited</span>
843
                                [% END %]
844
                            </td>
845
846
                            <td class="actions">
847
                                <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-cat&amp;categorycode=[% c | html %]&amp;branch=[% current_branch | html %]"><i class="fa fa-trash"></i> Delete</a>
848
                            </td>
849
                        </tr>
850
                        [% END %]
851
                    [% END %]
852
                    <tr>
853
                        <td>
854
                            <select name="categorycode">
855
                            [% FOREACH patron_category IN patron_categories%]
856
                                <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
857
                            [% END %]
858
                            </select>
859
                        </td>
860
                        <td><input name="patron_maxissueqty" size="3" type="text" /></td>
861
                        <td><input name="patron_maxonsiteissueqty" size="3" type="text" /></td>
862
                        <td><input name="max_holds" size="3" type="text" /></td>
863
                        <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
864
                    </tr>
865
                </table>
866
            </form>
867
        </div><!-- ./page-section -->
862
    </div>
868
    </div>
863
    [% END %]
869
    [% END %]
864
870
Lines 868-948 Link Here
868
    [% ELSE %]
874
    [% ELSE %]
869
        <h3>Default waiting hold cancellation policy</h3>
875
        <h3>Default waiting hold cancellation policy</h3>
870
    [% END %]
876
    [% END %]
871
        <p>Specify if waiting holds can be cancelled for a given patron category.</p>
877
        <div class="page-section">
872
        <form id="set-waiting-hold-cancellation" method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
878
            <p>Specify if waiting holds can be cancelled for a given patron category.</p>
873
            <input type="hidden" name="op" value="set-waiting-hold-cancellation" />
879
            <form id="set-waiting-hold-cancellation" method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
874
            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
880
                <input type="hidden" name="op" value="set-waiting-hold-cancellation" />
875
            <table>
881
                <input type="hidden" name="branch" value="[% current_branch | html %]"/>
876
                <tr>
882
                <table>
877
                    <th>Patron category</th>
883
                    <tr>
878
                    <th>Item type</th>
884
                        <th>Patron category</th>
879
                    <th>Cancellation allowed</th>
885
                        <th>Item type</th>
880
                    <th>&nbsp;</th>
886
                        <th>Cancellation allowed</th>
881
                </tr>
887
                        <th>&nbsp;</th>
882
    [% FOREACH c IN categorycodes %]
888
                    </tr>
883
        [% SET c = '*' UNLESS c.defined AND c != '' %]
889
                    [% FOREACH c IN categorycodes %]
884
        [% FOREACH i IN itemtypes %]
890
                        [% SET c = '*' UNLESS c.defined AND c != '' %]
885
            [% SET i = '*' UNLESS i.defined AND i != '' %]
891
                        [% FOREACH i IN itemtypes %]
892
                            [% SET i = '*' UNLESS i.defined AND i != '' %]
886
893
887
            [% SET waiting_hold_cancellation = CirculationRules.Search( current_branch, c, i, 'waiting_hold_cancellation' ) %]
894
                            [% SET waiting_hold_cancellation = CirculationRules.Search( current_branch, c, i, 'waiting_hold_cancellation' ) %]
888
895
889
            [% IF ( waiting_hold_cancellation.defined && waiting_hold_cancellation != '' ) %]
896
                            [% IF ( waiting_hold_cancellation.defined && waiting_hold_cancellation != '' ) %]
890
                <tr>
897
                                <tr>
891
                    <td>
898
                                    <td>
892
                        [% IF c == '*' %]
899
                                        [% IF c == '*' %]
893
                            <em>All</em>
900
                                            <em>All</em>
894
                        [% ELSE %]
901
                                        [% ELSE %]
895
                            [% Categories.GetName(c) | html %]
902
                                            [% Categories.GetName(c) | html %]
896
                        [% END %]
903
                                        [% END %]
897
                    </td>
904
                                    </td>
898
                    <td>
905
                                    <td>
899
                        [% IF i == '*' %]
906
                                        [% IF i == '*' %]
900
                            <em>All</em>
907
                                            <em>All</em>
901
                        [% ELSE %]
908
                                        [% ELSE %]
902
                            [% ItemTypes.GetDescription(i,1) | html %]
909
                                            [% ItemTypes.GetDescription(i,1) | html %]
903
                        [% END %]
910
                                        [% END %]
904
                    </td>
911
                                    </td>
905
                    <td>
912
                                    <td>
906
                        [% IF waiting_hold_cancellation %]
913
                                        [% IF waiting_hold_cancellation %]
907
                            <span>Yes</span>
914
                                            <span>Yes</span>
908
                        [% ELSE %]
915
                                        [% ELSE %]
909
                            <span>No</span>
916
                                            <span>No</span>
910
                        [% END %]
917
                                        [% END %]
911
                    </td>
918
                                    </td>
912
                    <td class="actions">
919
                                    <td class="actions">
913
                        <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=del-waiting-hold-cancellation&amp;waiting_hold_cancellation_category=[% c | uri %]&amp;waiting_hold_cancellation_itemtype=[% i | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
920
                                        <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=del-waiting-hold-cancellation&amp;waiting_hold_cancellation_category=[% c | uri %]&amp;waiting_hold_cancellation_itemtype=[% i | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
914
                    </td>
921
                                    </td>
915
                </tr>
922
                                </tr>
916
            [% END %]
923
                            [% END %]
917
        [% END %]
918
    [% END %]
919
                <tr>
920
                    <td>
921
                        <select name="waiting_hold_cancellation_category" id="waiting_hold_cancellation_category">
922
                            <option value="*">All</option>
923
                        [% FOREACH patron_category IN patron_categories %]
924
                            <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
925
                        [% END %]
926
                        </select>
927
                    </td>
928
                    <td>
929
                        <select name="waiting_hold_cancellation_itemtype" id="waiting_hold_cancellation_itemtype">
930
                            <option value="*">All</option>
931
                        [% FOREACH itemtype IN itemtypeloop %]
932
                            <option value="[% itemtype.itemtype | html %]">[% ItemTypes.GetDescription(itemtype.itemtype) | html %]</option>
933
                        [% END %]
924
                        [% END %]
934
                        </select>
925
                    [% END %]
935
                    </td>
926
                    <tr>
936
                    <td>
927
                        <td>
937
                        <select name="waiting_hold_cancellation_policy" id="waiting_hold_cancellation_policy">
928
                            <select name="waiting_hold_cancellation_category" id="waiting_hold_cancellation_category">
938
                            <option value="0" selected>No</option>
929
                                <option value="*">All</option>
939
                            <option value="1">Yes</option>
930
                            [% FOREACH patron_category IN patron_categories %]
940
                        </select>
931
                                <option value="[% patron_category.categorycode | html %]">[% patron_category.description | html %]</option>
941
                    </td>
932
                            [% END %]
942
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</td>
933
                            </select>
943
                </tr>
934
                        </td>
944
            </table>
935
                        <td>
945
        </form>
936
                            <select name="waiting_hold_cancellation_itemtype" id="waiting_hold_cancellation_itemtype">
937
                                <option value="*">All</option>
938
                            [% FOREACH itemtype IN itemtypeloop %]
939
                                <option value="[% itemtype.itemtype | html %]">[% ItemTypes.GetDescription(itemtype.itemtype) | html %]</option>
940
                            [% END %]
941
                            </select>
942
                        </td>
943
                        <td>
944
                            <select name="waiting_hold_cancellation_policy" id="waiting_hold_cancellation_policy">
945
                                <option value="0" selected>No</option>
946
                                <option value="1">Yes</option>
947
                            </select>
948
                        </td>
949
                        <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
950
                    </tr>
951
                </table>
952
            </form>
953
        </div><!-- /.page-section -->
946
    </div>
954
    </div>
947
955
948
[% IF Koha.Preference('ArticleRequests') %]
956
[% IF Koha.Preference('ArticleRequests') %]
Lines 994-1000 Link Here
994
                        </select>
1002
                        </select>
995
                    </td>
1003
                    </td>
996
                    <td><input name="open_article_requests_limit" size="3" type="text" /></td>
1004
                    <td><input name="open_article_requests_limit" size="3" type="text" /></td>
997
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</td>
1005
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
998
                </tr>
1006
                </tr>
999
            </table>
1007
            </table>
1000
        </form>
1008
        </form>
Lines 1052-1058 Link Here
1052
                        </select>
1060
                        </select>
1053
                    </td>
1061
                    </td>
1054
                    <td><input name="article_request_fee" size="3" type="text" /></td>
1062
                    <td><input name="article_request_fee" size="3" type="text" /></td>
1055
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</td>
1063
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
1056
                </tr>
1064
                </tr>
1057
            </table>
1065
            </table>
1058
        </form>
1066
        </form>
Lines 1066-1386 Link Here
1066
        [% ELSE %]
1074
        [% ELSE %]
1067
            <h3>Lost item fee refund on return policy for [% Branches.GetName(current_branch) | html %]</h3>
1075
            <h3>Lost item fee refund on return policy for [% Branches.GetName(current_branch) | html %]</h3>
1068
        [% END %]
1076
        [% END %]
1069
        <p>Specify the default policy for lost item fees on return.
1077
        <div class="page-section">
1070
        </p>
1078
            <p>Specify the default policy for lost item fees on return.</p>
1071
        <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
1079
            <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
1072
            <input type="hidden" name="op" value="mod-refund-lost-item-fee-rule" />
1080
                <input type="hidden" name="op" value="mod-refund-lost-item-fee-rule" />
1073
            <input type="hidden" name="branch" value="[% current_branch | html %]" />
1081
                <input type="hidden" name="branch" value="[% current_branch | html %]" />
1074
            <table>
1082
                <table>
1075
                <tr>
1083
                    <tr>
1076
                    <th>Refund lost item replacement fee</th>
1084
                        <th>Refund lost item replacement fee</th>
1077
                    <th>Refund lost item processing fee</th>
1085
                        <th>Refund lost item processing fee</th>
1078
                    <th>&nbsp;</th>
1086
                        <th>&nbsp;</th>
1079
                </tr>
1087
                    </tr>
1080
                <tr>
1088
                    <tr>
1081
                    <td>
1089
                        <td>
1082
                        <select name="lostreturn">
1090
                            <select name="lostreturn">
1083
                          [%# Default branch %]
1091
                              [%# Default branch %]
1084
                          [% IF ( current_branch == '*' ) %]
1092
                              [% IF ( current_branch == '*' ) %]
1085
                            [% IF ( defaultRefundRule == 'refund' ) %]
1093
                                [% IF ( defaultRefundRule == 'refund' ) %]
1086
                            <option value="refund" selected="selected">Refund lost item charge</option>
1087
                            <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1088
                            <option value="charge">Refund lost item charge and charge new overdue fine</option>
1089
                            <option value="restore">Refund lost item charge and restore overdue fine</option>
1090
                            <option value="0">Leave lost item charge</option>
1091
                            [% ELSIF ( defaultRefundRule == 'refund_unpaid' ) %]
1092
                            <option value="refund">Refund lost item charge</option>
1093
                            <option value="refund_unpaid" selected="selected">Refund lost item charge (only if unpaid)</option>
1094
                            <option value="charge">Refund lost item charge and charge new overdue fine</option>
1095
                            <option value="restore">Refund lost item charge and restore overdue fine</option>
1096
                            <option value="0">Leave lost item charge</option>
1097
                            [% ELSIF ( defaultRefundRule == 'charge' ) %]
1098
                            <option value="refund">Refund lost item charge</option>
1099
                            <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1100
                            <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1101
                            <option value="restore">Refund lost item charge and restore overdue fine</option>
1102
                            <option value="0">Leave lost item charge</option>
1103
                            [% ELSIF ( defaultRefundRule == 'restore' ) %]
1104
                            <option value="refund">Refund lost item charge</option>
1105
                            <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1106
                            <option value="charge">Refund lost item charge and charge new overdue fine</option>
1107
                            <option value="restore" selected="selected">Refund lost item charge and restore overdue fine</option>
1108
                            <option value="0">Leave lost item charge</option>
1109
                            [% ELSIF ( defaultRefundRule == 0 ) %]
1110
                            <option value="refund">Refund lost item charge</option>
1111
                            <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1112
                            <option value="charge">Refund lost item charge and charge new overdue fine</option>
1113
                            <option value="restore">Refund lost item charge and restore overdue fine</option>
1114
                            <option value="0" selected="selected">Leave lost item charge</option>
1115
                            [% ELSE %]
1116
                            <option value="refund">Refund lost item charge</option>
1117
                            <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1118
                            <option value="charge">Refund lost item charge and charge new overdue fine</option>
1119
                            <option value="restore">Refund lost item charge and restore overdue fine</option>
1120
                            <option value="0">Leave lost item charge</option>
1121
                            [% END %]
1122
                          [% ELSE %]
1123
                          [%# Branch-specific %]
1124
                            [% IF ( not refundLostItemFeeRule ) %]
1125
                                <option value="*" selected="selected">
1126
                            [% ELSE %]
1127
                                <option value="*">
1128
                            [% END %]
1129
                              [% IF defaultRefundRule == 'refund' %]
1130
                                <span>Use default (Refund lost item charge)</span>
1131
                              [% ELSIF defaultRefundRule == 'refund_unpaid' %]
1132
                                Use default (Refund lost item charge (only if unpaid))
1133
                              [% ELSIF defaultRefundRule == 'charge' %]
1134
                                <span>Use default (Refund lost item charge and charge new overdue fine)</span>
1135
                              [% ELSIF defaultRefundRule == 'restore' %]
1136
                                <span>Use default (Refund lost item charge and restore overdue fine)</span>
1137
                              [% ELSE %]
1138
                                <span>Use default (Leave lost item charge)</span>
1139
                              [% END %]
1140
                                </option>
1141
                            [% IF ( not refundLostItemFeeRule ) %]
1142
                                <option value="refund">Refund lost item charge</option>
1143
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1144
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1145
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1146
                                <option value="0">Leave lost item charge</option>
1147
                            [% ELSE %]
1148
                                [% IF ( refundLostItemFeeRule.rule_value == 'refund' ) %]
1149
                                <option value="refund" selected="selected">Refund lost item charge</option>
1094
                                <option value="refund" selected="selected">Refund lost item charge</option>
1150
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1095
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1151
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1096
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1152
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1097
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1153
                                <option value="0">Leave lost item charge</option>
1098
                                <option value="0">Leave lost item charge</option>
1154
                                [% ELSIF ( refundLostItemFeeRule.rule_value == 'refund_unpaid' ) %]
1099
                                [% ELSIF ( defaultRefundRule == 'refund_unpaid' ) %]
1155
                                <option value="refund">Refund lost item charge</option>
1100
                                <option value="refund">Refund lost item charge</option>
1156
                                <option value="refund_unpaid" selected="selected">Refund lost item charge (only if unpaid)</option>
1101
                                <option value="refund_unpaid" selected="selected">Refund lost item charge (only if unpaid)</option>
1157
                                <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1102
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1158
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1103
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1159
                                <option value="0">Leave lost item charge</option>
1104
                                <option value="0">Leave lost item charge</option>
1160
                                [% ELSIF ( refundLostItemFeeRule.rule_value == 'charge' ) %]
1105
                                [% ELSIF ( defaultRefundRule == 'charge' ) %]
1161
                                <option value="refund">Refund lost item charge</option>
1106
                                <option value="refund">Refund lost item charge</option>
1162
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1107
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1163
                                <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1108
                                <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1164
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1109
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1165
                                <option value="0">Leave lost item charge</option>
1110
                                <option value="0">Leave lost item charge</option>
1166
                                [% ELSIF ( refundLostItemFeeRule.rule_value == 'restore' ) %]
1111
                                [% ELSIF ( defaultRefundRule == 'restore' ) %]
1167
                                <option value="refund">Refund lost item charge</option>
1112
                                <option value="refund">Refund lost item charge</option>
1168
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1113
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1169
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1114
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1170
                                <option value="restore" selected="selected">Refund lost item charge and restore overdue fine</option>
1115
                                <option value="restore" selected="selected">Refund lost item charge and restore overdue fine</option>
1171
                                <option value="0">Leave lost item charge</option>
1116
                                <option value="0">Leave lost item charge</option>
1172
                                [% ELSIF ( refundLostItemFeeRule.rule_value == 0 ) %]
1117
                                [% ELSIF ( defaultRefundRule == 0 ) %]
1173
                                <option value="refund">Refund lost item charge</option>
1118
                                <option value="refund">Refund lost item charge</option>
1174
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1119
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1175
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1120
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1176
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1121
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1177
                                <option value="0" selected="selected">Leave lost item charge</option>
1122
                                <option value="0" selected="selected">Leave lost item charge</option>
1123
                                [% ELSE %]
1124
                                <option value="refund">Refund lost item charge</option>
1125
                                <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1126
                                <option value="charge">Refund lost item charge and charge new overdue fine</option>
1127
                                <option value="restore">Refund lost item charge and restore overdue fine</option>
1128
                                <option value="0">Leave lost item charge</option>
1178
                                [% END %]
1129
                                [% END %]
1179
                            [% END %]
1180
                          [% END %]
1181
                        </select>
1182
                    </td>
1183
                    <td>
1184
                        <select name="processingreturn">
1185
                          [%# Default branch %]
1186
                          [% IF ( current_branch == '*' ) %]
1187
                            [% IF ( defaultProcessingRefundRule == 'refund' ) %]
1188
                            <option value="refund" selected="selected">Refund lost item processing charge</option>
1189
                            <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1190
                            <option value="0">Leave lost item processing charge</option>
1191
                            [% ELSIF ( defaultProcessingRefundRule == 'refund_unpaid' ) %]
1192
                            <option value="refund">Refund lost item charge</option>
1193
                            <option value="refund_unpaid" selected="selected">Refund lost item processing charge (only if unpaid)</option>
1194
                            <option value="0">Leave lost item processing charge</option>
1195
                            [% ELSIF ( defaultProcessingRefundRule == 0 ) %]
1196
                            <option value="refund">Refund lost item processing charge</option>
1197
                            <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1198
                            <option value="0" selected="selected">Leave lost item processing charge</option>
1199
                            [% ELSE %]
1200
                            <option value="refund">Refund lost item processing charge</option>
1201
                            <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1202
                            <option value="0">Leave lost item processing charge</option>
1203
                            [% END %]
1204
                          [% ELSE %]
1205
                          [%# Branch-specific %]
1206
                            [% IF ( not refundProcessingFeeRule ) %]
1207
                                <option value="*" selected="selected">
1208
                            [% ELSE %]
1209
                                <option value="*">
1210
                            [% END %]
1211
                              [% IF defaultProcessingRefundRule == 'refund' %]
1212
                                <span>Use default (Refund lost item processing charge)</span>
1213
                              [% ELSIF defaultProcessingRefundRule == 'refund_unpaid' %]
1214
                                Use default (Refund lost item processing charge (only if unpaid))
1215
                              [% ELSE %]
1130
                              [% ELSE %]
1216
                                <span>Use default (Leave lost item processing charge)</span>
1131
                              [%# Branch-specific %]
1132
                                [% IF ( not refundLostItemFeeRule ) %]
1133
                                    <option value="*" selected="selected">
1134
                                [% ELSE %]
1135
                                    <option value="*">
1136
                                [% END %]
1137
                                  [% IF defaultRefundRule == 'refund' %]
1138
                                    <span>Use default (Refund lost item charge)</span>
1139
                                  [% ELSIF defaultRefundRule == 'refund_unpaid' %]
1140
                                    Use default (Refund lost item charge (only if unpaid))
1141
                                  [% ELSIF defaultRefundRule == 'charge' %]
1142
                                    <span>Use default (Refund lost item charge and charge new overdue fine)</span>
1143
                                  [% ELSIF defaultRefundRule == 'restore' %]
1144
                                    <span>Use default (Refund lost item charge and restore overdue fine)</span>
1145
                                  [% ELSE %]
1146
                                    <span>Use default (Leave lost item charge)</span>
1147
                                  [% END %]
1148
                                    </option>
1149
                                [% IF ( not refundLostItemFeeRule ) %]
1150
                                    <option value="refund">Refund lost item charge</option>
1151
                                    <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1152
                                    <option value="charge">Refund lost item charge and charge new overdue fine</option>
1153
                                    <option value="restore">Refund lost item charge and restore overdue fine</option>
1154
                                    <option value="0">Leave lost item charge</option>
1155
                                [% ELSE %]
1156
                                    [% IF ( refundLostItemFeeRule.rule_value == 'refund' ) %]
1157
                                    <option value="refund" selected="selected">Refund lost item charge</option>
1158
                                    <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1159
                                    <option value="charge">Refund lost item charge and charge new overdue fine</option>
1160
                                    <option value="restore">Refund lost item charge and restore overdue fine</option>
1161
                                    <option value="0">Leave lost item charge</option>
1162
                                    [% ELSIF ( refundLostItemFeeRule.rule_value == 'refund_unpaid' ) %]
1163
                                    <option value="refund">Refund lost item charge</option>
1164
                                    <option value="refund_unpaid" selected="selected">Refund lost item charge (only if unpaid)</option>
1165
                                    <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1166
                                    <option value="restore">Refund lost item charge and restore overdue fine</option>
1167
                                    <option value="0">Leave lost item charge</option>
1168
                                    [% ELSIF ( refundLostItemFeeRule.rule_value == 'charge' ) %]
1169
                                    <option value="refund">Refund lost item charge</option>
1170
                                    <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1171
                                    <option value="charge" selected="selected">Refund lost item charge and charge new overdue fine</option>
1172
                                    <option value="restore">Refund lost item charge and restore overdue fine</option>
1173
                                    <option value="0">Leave lost item charge</option>
1174
                                    [% ELSIF ( refundLostItemFeeRule.rule_value == 'restore' ) %]
1175
                                    <option value="refund">Refund lost item charge</option>
1176
                                    <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1177
                                    <option value="charge">Refund lost item charge and charge new overdue fine</option>
1178
                                    <option value="restore" selected="selected">Refund lost item charge and restore overdue fine</option>
1179
                                    <option value="0">Leave lost item charge</option>
1180
                                    [% ELSIF ( refundLostItemFeeRule.rule_value == 0 ) %]
1181
                                    <option value="refund">Refund lost item charge</option>
1182
                                    <option value="refund_unpaid">Refund lost item charge (only if unpaid)</option>
1183
                                    <option value="charge">Refund lost item charge and charge new overdue fine</option>
1184
                                    <option value="restore">Refund lost item charge and restore overdue fine</option>
1185
                                    <option value="0" selected="selected">Leave lost item charge</option>
1186
                                    [% END %]
1187
                                [% END %]
1217
                              [% END %]
1188
                              [% END %]
1218
                                </option>
1189
                            </select>
1219
                            [% IF ( not refundProcessingFeeRule ) %]
1190
                        </td>
1220
                                <option value="refund">Refund lost item processing charge</option>
1191
                        <td>
1221
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1192
                            <select name="processingreturn">
1222
                                <option value="0">Leave lost item processing charge</option>
1193
                              [%# Default branch %]
1223
                            [% ELSE %]
1194
                              [% IF ( current_branch == '*' ) %]
1224
                                [% IF ( refundProcessingFeeRule.rule_value == 'refund' ) %]
1195
                                [% IF ( defaultProcessingRefundRule == 'refund' ) %]
1225
                                <option value="refund" selected="selected">Refund lost item processing charge</option>
1196
                                <option value="refund" selected="selected">Refund lost item processing charge</option>
1226
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1197
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1227
                                <option value="0">Leave lost item processing charge</option>
1198
                                <option value="0">Leave lost item processing charge</option>
1228
                                [% ELSIF ( refundProcessingFeeRule.rule_value == 'refund_unpaid' ) %]
1199
                                [% ELSIF ( defaultProcessingRefundRule == 'refund_unpaid' ) %]
1229
                                <option value="refund">Refund lost item processing charge</option>
1200
                                <option value="refund">Refund lost item charge</option>
1230
                                <option value="refund_unpaid" selected="selected">Refund lost item processing charge (only if unpaid)</option>
1201
                                <option value="refund_unpaid" selected="selected">Refund lost item processing charge (only if unpaid)</option>
1231
                                <option value="0">Leave lost item processing charge</option>
1202
                                <option value="0">Leave lost item processing charge</option>
1232
                                [% ELSIF ( refundProcessingFeeRule.rule_value == 0 ) %]
1203
                                [% ELSIF ( defaultProcessingRefundRule == 0 ) %]
1233
                                <option value="refund">Refund lost item processing charge</option>
1204
                                <option value="refund">Refund lost item processing charge</option>
1234
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1205
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1235
                                <option value="0" selected="selected">Leave lost item processing charge</option>
1206
                                <option value="0" selected="selected">Leave lost item processing charge</option>
1207
                                [% ELSE %]
1208
                                <option value="refund">Refund lost item processing charge</option>
1209
                                <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1210
                                <option value="0">Leave lost item processing charge</option>
1236
                                [% END %]
1211
                                [% END %]
1237
                            [% END %]
1212
                              [% ELSE %]
1238
                          [% END %]
1213
                              [%# Branch-specific %]
1239
                        </select>
1214
                                [% IF ( not refundProcessingFeeRule ) %]
1240
                    </td>
1215
                                    <option value="*" selected="selected">
1241
                    <td class="actions">
1216
                                [% ELSE %]
1242
                        <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
1217
                                    <option value="*">
1243
                    </td>
1218
                                [% END %]
1244
                    </td>
1219
                                  [% IF defaultProcessingRefundRule == 'refund' %]
1245
                </tr>
1220
                                    <span>Use default (Refund lost item processing charge)</span>
1246
            </table>
1221
                                  [% ELSIF defaultProcessingRefundRule == 'refund_unpaid' %]
1247
        </form>
1222
                                    Use default (Refund lost item processing charge (only if unpaid))
1223
                                  [% ELSE %]
1224
                                    <span>Use default (Leave lost item processing charge)</span>
1225
                                  [% END %]
1226
                                    </option>
1227
                                [% IF ( not refundProcessingFeeRule ) %]
1228
                                    <option value="refund">Refund lost item processing charge</option>
1229
                                    <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1230
                                    <option value="0">Leave lost item processing charge</option>
1231
                                [% ELSE %]
1232
                                    [% IF ( refundProcessingFeeRule.rule_value == 'refund' ) %]
1233
                                    <option value="refund" selected="selected">Refund lost item processing charge</option>
1234
                                    <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1235
                                    <option value="0">Leave lost item processing charge</option>
1236
                                    [% ELSIF ( refundProcessingFeeRule.rule_value == 'refund_unpaid' ) %]
1237
                                    <option value="refund">Refund lost item processing charge</option>
1238
                                    <option value="refund_unpaid" selected="selected">Refund lost item processing charge (only if unpaid)</option>
1239
                                    <option value="0">Leave lost item processing charge</option>
1240
                                    [% ELSIF ( refundProcessingFeeRule.rule_value == 0 ) %]
1241
                                    <option value="refund">Refund lost item processing charge</option>
1242
                                    <option value="refund_unpaid">Refund lost item processing charge (only if unpaid)</option>
1243
                                    <option value="0" selected="selected">Leave lost item processing charge</option>
1244
                                    [% END %]
1245
                                [% END %]
1246
                              [% END %]
1247
                            </select>
1248
                        </td>
1249
                        <td class="actions">
1250
                            <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
1251
                        </td>
1252
                    </tr>
1253
                </table>
1254
            </form>
1255
        </div><!-- /.page-section -->
1248
    </div>
1256
    </div>
1249
1257
1250
    <div id="holds-policy-by-item-type" class="container">
1258
    <div id="holds-policy-by-item-type" class="container">
1251
    <h3>[% IF humanbranch %]Holds policy by item type for [% Branches.GetName( humanbranch ) | html %][% ELSE %]Default holds policy by item type[% END %]</h3>
1259
    <h3>[% IF humanbranch %]Holds policy by item type for [% Branches.GetName( humanbranch ) | html %][% ELSE %]Default holds policy by item type[% END %]</h3>
1252
        <p>
1260
        <div class="page-section">
1253
            For this library, you can edit rules for given itemtypes, regardless
1261
            <p>
1254
            of the patron's category.
1262
                For this library, you can edit rules for given itemtypes, regardless of the patron's category.
1255
        </p>
1263
            </p>
1256
        <p>
1264
            <p>
1257
            Currently, this means hold policies.
1265
                Currently, this means hold policies. The various policies have the following effects:
1258
            The various policies have the following effects:
1266
            </p>
1259
        </p>
1267
            <ul>
1260
        <ul>
1268
                <li><strong>From any library:</strong> Patrons from any library may put this item on hold. <cite>(default if none is defined)</cite></li>
1261
            <li><strong>From any library:</strong> Patrons from any library may put this item on hold. <cite>(default if none is defined)</cite></li>
1269
                <li><strong>From local hold group:</strong> Only patrons from libraries in the same item's home library hold groups may put this book on hold.</li>
1262
            <li><strong>From local hold group:</strong> Only patrons from libraries in the same item's home library hold groups may put this book on hold.</li>
1270
                <li><strong>From home library:</strong> Only patrons from the item's home library may put this book on hold.</li>
1263
            <li><strong>From home library:</strong> Only patrons from the item's home library may put this book on hold.</li>
1271
                <li><strong>No holds allowed:</strong> No patron may put this book on hold.</li>
1264
            <li><strong>No holds allowed:</strong> No patron may put this book on hold.</li>
1272
            </ul>
1265
        </ul>
1273
1266
        <p><strong>Note: </strong>If the system preference 'AllowHoldPolicyOverride' is enabled, these policies can be overridden by your circulation staff.</br />
1274
            <p><strong>Note: </strong>If the system preference 'AllowHoldPolicyOverride' is enabled, these policies can be overridden by your circulation staff.</p>
1267
            <strong>Important:</strong>
1275
            <p><strong>Important:</strong></p>
1276
1268
            <ul>
1277
            <ul>
1269
                <li>The hold policies are applied based on the ReservesControlBranch system preference which is set to <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ReservesControlBranch">[% Koha.Preference('ReservesControlBranch') | html %]</a>.</li>
1278
                <li>The hold policies are applied based on the ReservesControlBranch system preference which is set to <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ReservesControlBranch">[% Koha.Preference('ReservesControlBranch') | html %]</a>.</li>
1270
                <li>The return policy is applied based on the CircControlReturnsBranch system preference which is set to <a href=""/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=CircControlReturnsBranch">[% Koha.Preference('CircControlReturnsBranch') | html %]</a>.</li>
1279
                <li>The return policy is applied based on the CircControlReturnsBranch system preference which is set to <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=CircControlReturnsBranch">[% Koha.Preference('CircControlReturnsBranch') | html %]</a>.</li>
1271
            </ul>
1280
            </ul>
1272
        </p>
1273
1281
1274
        <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
1282
            <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
1275
            <input type="hidden" name="op" value="add-branch-item" />
1283
                <input type="hidden" name="op" value="add-branch-item" />
1276
            <input type="hidden" name="branch" value="[% current_branch | html %]"/>
1284
                <input type="hidden" name="branch" value="[% current_branch | html %]"/>
1277
            <table>
1285
                <table>
1278
                <tr>
1286
                    <tr>
1279
                    <th>Item type</th>
1287
                        <th>Item type</th>
1280
                    <th>Hold policy</th>
1288
                        <th>Hold policy</th>
1281
                    <th>Hold pickup library match</th>
1289
                        <th>Hold pickup library match</th>
1282
                    <th>Return policy</th>
1290
                        <th>Return policy</th>
1283
                    <th>&nbsp;</th>
1291
                        <th>&nbsp;</th>
1284
                </tr>
1292
                    </tr>
1285
                [% FOREACH i IN itemtypeloop %]
1293
                    [% FOREACH i IN itemtypeloop %]
1286
                    [% SET holdallowed = CirculationRules.Search( branchcode, undef, i.itemtype, 'holdallowed' ) %]
1294
                        [% SET holdallowed = CirculationRules.Search( branchcode, undef, i.itemtype, 'holdallowed' ) %]
1287
                    [% SET hold_fulfillment_policy = CirculationRules.Search( branchcode, undef, i.itemtype, 'hold_fulfillment_policy' ) %]
1295
                        [% SET hold_fulfillment_policy = CirculationRules.Search( branchcode, undef, i.itemtype, 'hold_fulfillment_policy' ) %]
1288
                    [% SET returnbranch = CirculationRules.Search( branchcode, undef, i.itemtype, 'returnbranch' ) %]
1296
                        [% SET returnbranch = CirculationRules.Search( branchcode, undef, i.itemtype, 'returnbranch' ) %]
1289
1297
1290
                    [% IF holdallowed || hold_fulfillment_policy || returnbranch %]
1298
                        [% IF holdallowed || hold_fulfillment_policy || returnbranch %]
1291
                        <tr>
1299
                            <tr>
1292
                            <td>
1300
                                <td>
1293
                                [% i.translated_description | html %]
1301
                                    [% i.translated_description | html %]
1294
                            </td>
1302
                                </td>
1295
                            <td>
1303
                                <td>
1296
                                [% IF holdallowed == 'from_any_library' %]
1304
                                    [% IF holdallowed == 'from_any_library' %]
1297
                                    <span>From any library</span>
1305
                                        <span>From any library</span>
1298
                                [% ELSIF holdallowed == 'from_local_hold_group' %]
1306
                                    [% ELSIF holdallowed == 'from_local_hold_group' %]
1299
                                    <span>From local hold group</span>
1307
                                        <span>From local hold group</span>
1300
                                [% ELSIF holdallowed == 'from_home_library' %]
1308
                                    [% ELSIF holdallowed == 'from_home_library' %]
1301
                                    <span>From home library</span>
1309
                                        <span>From home library</span>
1302
                                [% ELSE %]
1310
                                    [% ELSE %]
1303
                                    <span>No holds allowed</span>
1311
                                        <span>No holds allowed</span>
1304
                                [% END %]
1312
                                    [% END %]
1305
                            </td>
1313
                                </td>
1306
                            <td>
1314
                                <td>
1307
                                [% IF hold_fulfillment_policy == 'any' %]
1315
                                    [% IF hold_fulfillment_policy == 'any' %]
1308
                                    <span>any library</span>
1316
                                        <span>any library</span>
1309
                                [% ELSIF hold_fulfillment_policy == 'homebranch' %]
1317
                                    [% ELSIF hold_fulfillment_policy == 'homebranch' %]
1310
                                    <span>item's home library</span>
1318
                                        <span>item's home library</span>
1311
                                [% ELSIF hold_fulfillment_policy == 'holdgroup' %]
1319
                                    [% ELSIF hold_fulfillment_policy == 'holdgroup' %]
1312
                                    <span>item's hold group</span>
1320
                                        <span>item's hold group</span>
1313
                                [% ELSIF hold_fulfillment_policy == 'patrongroup' %]
1321
                                    [% ELSIF hold_fulfillment_policy == 'patrongroup' %]
1314
                                    <span>patron's hold group</span>
1322
                                        <span>patron's hold group</span>
1315
                                [% ELSIF hold_fulfillment_policy == 'holdingbranch' %]
1323
                                    [% ELSIF hold_fulfillment_policy == 'holdingbranch' %]
1316
                                    <span>item's holding library</span>
1324
                                        <span>item's holding library</span>
1317
                                [% END %]
1325
                                    [% END %]
1318
                            </td>
1326
                                </td>
1319
                            <td>
1327
                                <td>
1320
                                [% IF returnbranch == 'homebranch' %]
1328
                                    [% IF returnbranch == 'homebranch' %]
1321
                                    <span>Item returns home</span>
1329
                                        <span>Item returns home</span>
1322
                                [% ELSIF returnbranch == 'holdingbranch' %]
1330
                                    [% ELSIF returnbranch == 'holdingbranch' %]
1323
                                    <span>Item returns to issuing branch</span>
1331
                                        <span>Item returns to issuing branch</span>
1324
                                [% ELSIF returnbranch == 'noreturn' %]
1332
                                    [% ELSIF returnbranch == 'noreturn' %]
1325
                                    <span>Item floats</span>
1333
                                        <span>Item floats</span>
1326
                                [% END %]
1334
                                    [% END %]
1327
                            </td>
1335
                                </td>
1328
                            <td class="actions">
1336
                                <td class="actions">
1329
                                <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-item&amp;itemtype=[% i.itemtype | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
1337
                                    <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete-branch-item&amp;itemtype=[% i.itemtype | uri %]&amp;branch=[% current_branch | uri %]"><i class="fa fa-trash"></i> Delete</a>
1330
                            </td>
1338
                                </td>
1331
                        </tr>
1339
                            </tr>
1332
                    [% END %]
1333
                [% END %]
1334
                <tr>
1335
                    <td>
1336
                        <select name="itemtype">
1337
                        [% FOREACH itemtypeloo IN itemtypeloop %]
1338
                            <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %]</option>
1339
                        [% END %]
1340
                        [% END %]
1340
                        </select>
1341
                    [% END %]
1341
                    </td>
1342
                    <tr>
1342
                    <td>
1343
                        <td>
1343
                        <select name="holdallowed">
1344
                            <select name="itemtype">
1344
                            <option value="from_any_library">From any library</option>
1345
                            [% FOREACH itemtypeloo IN itemtypeloop %]
1345
                            <option value="from_local_hold_group">From local hold group</option>
1346
                                <option value="[% itemtypeloo.itemtype | html %]">[% itemtypeloo.translated_description | html %]</option>
1346
                            <option value="from_home_library">From home library</option>
1347
                            [% END %]
1347
                            <option value="not_allowed">No holds allowed</option>
1348
                            </select>
1348
                        </select>
1349
                        </td>
1349
                    </td>
1350
                        <td>
1350
                    <td>
1351
                            <select name="holdallowed">
1351
                        <select name="hold_fulfillment_policy">
1352
                                <option value="from_any_library">From any library</option>
1352
                            <option value="any">
1353
                                <option value="from_local_hold_group">From local hold group</option>
1353
                                any library
1354
                                <option value="from_home_library">From home library</option>
1354
                            </option>
1355
                                <option value="not_allowed">No holds allowed</option>
1356
                            </select>
1357
                        </td>
1358
                        <td>
1359
                            <select name="hold_fulfillment_policy">
1360
                                <option value="any">
1361
                                    any library
1362
                                </option>
1355
1363
1356
                            <option value="holdgroup">
1364
                                <option value="holdgroup">
1357
                                item's hold group
1365
                                    item's hold group
1358
                            </option>
1366
                                </option>
1359
1367
1360
                            <option value="patrongroup">
1368
                                <option value="patrongroup">
1361
                                patron's hold group
1369
                                    patron's hold group
1362
                            </option>
1370
                                </option>
1363
1371
1364
                            <option value="homebranch">
1372
                                <option value="homebranch">
1365
                                item's home library
1373
                                    item's home library
1366
                            </option>
1374
                                </option>
1367
1375
1368
                            <option value="holdingbranch">
1376
                                <option value="holdingbranch">
1369
                                item's holding library
1377
                                    item's holding library
1370
                            </option>
1378
                                </option>
1371
                        </select>
1379
                            </select>
1372
                    </td>
1380
                        </td>
1373
                    <td>
1381
                        <td>
1374
                        <select name="returnbranch">
1382
                            <select name="returnbranch">
1375
                            <option value="homebranch">Item returns home</option>
1383
                                <option value="homebranch">Item returns home</option>
1376
                            <option value="holdingbranch">Item returns to issuing library</option>
1384
                                <option value="holdingbranch">Item returns to issuing library</option>
1377
                            <option value="noreturn">Item floats</option>
1385
                                <option value="noreturn">Item floats</option>
1378
                        </select>
1386
                            </select>
1379
                    </td>
1387
                        </td>
1380
                    <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
1388
                        <td class="actions"><button type="submit" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</button></td>
1381
                </tr>
1389
                    </tr>
1382
            </table>
1390
                </table>
1383
        </form>
1391
            </form>
1392
        </div><!-- /.page-section -->
1384
    </div>
1393
    </div>
1385
            </main>
1394
            </main>
1386
        </div> <!-- /.col-sm-10.col-sm-push-2 -->
1395
        </div> <!-- /.col-sm-10.col-sm-push-2 -->
1387
- 

Return to bug 32028