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

(-)a/circ/branchtransfers.pl (-1 / +7 lines)
Lines 167-172 my $biblionumber; Link Here
167
#####################
167
#####################
168
168
169
my $hold;
169
my $hold;
170
my $patron;
171
my $found_biblio;
170
if ($found){
172
if ($found){
171
    $hold = Koha::Holds->find(
173
    $hold = Koha::Holds->find(
172
        { reserve_id => $found->{reserve_id} },
174
        { reserve_id => $found->{reserve_id} },
Lines 174-179 if ($found){ Link Here
174
    );
176
    );
175
    $itemnumber = $found->{'itemnumber'};
177
    $itemnumber = $found->{'itemnumber'};
176
    $borrowernumber = $found->{'borrowernumber'};
178
    $borrowernumber = $found->{'borrowernumber'};
179
    $patron         = Koha::Patrons->find($borrowernumber);
180
    $found_biblio   = Koha::Biblios->find( $found->{'biblionumber'} );
177
181
178
    if ( $found->{'ResFound'} eq "Waiting" ) {
182
    if ( $found->{'ResFound'} eq "Waiting" ) {
179
        $waiting = 1;
183
        $waiting = 1;
Lines 238-244 $template->param( Link Here
238
    settransit              => $settransit,
242
    settransit              => $settransit,
239
    trsfitemloop            => \@trsfitemloop,
243
    trsfitemloop            => \@trsfitemloop,
240
    errmsgloop              => \@errmsgloop,
244
    errmsgloop              => \@errmsgloop,
241
    PatronAutoComplete    => C4::Context->preference("PatronAutoComplete"),
245
    PatronAutoComplete      => C4::Context->preference("PatronAutoComplete"),
246
    patron                  => $patron,
247
    found_biblio            => $found_biblio,
242
);
248
);
243
249
244
# Checking if there is a Fast Cataloging Framework
250
# Checking if there is a Fast Cataloging Framework
(-)a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss (+16 lines)
Lines 1021-1026 fieldset { Link Here
1021
        }
1021
        }
1022
    }
1022
    }
1023
1023
1024
    &.barcode_input {
1025
        label {
1026
            &.hint {
1027
                display: block;
1028
                margin-bottom: .5em;
1029
            }
1030
        }
1031
1032
        select {
1033
            font-size: 120%;
1034
            max-width: 50%;
1035
            padding: .5em 0;
1036
        }
1037
    }
1038
1024
    &.brief {
1039
    &.brief {
1025
        div {
1040
        div {
1026
            &.hint {
1041
            &.hint {
Lines 1575-1580 i { Link Here
1575
}
1590
}
1576
1591
1577
.form-control-group {
1592
.form-control-group {
1593
    margin-bottom: .5rem;
1578
    white-space: nowrap;
1594
    white-space: nowrap;
1579
}
1595
}
1580
1596
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/branchtransfers.tt (-100 / +146 lines)
Lines 5-10 Link Here
5
[% USE AuthorisedValues %]
5
[% USE AuthorisedValues %]
6
[% PROCESS 'i18n.inc' %]
6
[% PROCESS 'i18n.inc' %]
7
[% SET footerjs = 1 %]
7
[% SET footerjs = 1 %]
8
[% PROCESS 'member-display-address-style.inc' %]
8
[% INCLUDE 'doc-head-open.inc' %]
9
[% INCLUDE 'doc-head-open.inc' %]
9
<title>[% FILTER collapse %]
10
<title>[% FILTER collapse %]
10
    [% t("Transfers") | html %] &rsaquo;
11
    [% t("Transfers") | html %] &rsaquo;
Lines 12-19 Link Here
12
    [% t("Koha") | html %]
13
    [% t("Koha") | html %]
13
[% END %]</title>
14
[% END %]</title>
14
[% INCLUDE 'doc-head-close.inc' %]
15
[% INCLUDE 'doc-head-close.inc' %]
16
[% FILTER collapse %]
17
    <style>
18
        #tobranchcd-error {
19
            display: block;
20
        }
21
        #transfer_confirm {
22
            font-size: 110%;
23
            line-height: 130%;
24
        }
25
        #transfer_confirm .modal-footer {
26
            display: flex;
27
            flex-wrap: wrap;
28
            gap: .5rem;
29
            justify-content: center;
30
        }
31
    </style>
32
[% END %]
15
</head>
33
</head>
16
34
35
[% BLOCK display_holdpatron_address %]
36
    [% PROCESS 'display-address-style' %]
37
[% END %]
38
17
<body id="circ_branchtransfers" class="circ">
39
<body id="circ_branchtransfers" class="circ">
18
    [% WRAPPER 'header.inc' %]
40
    [% WRAPPER 'header.inc' %]
19
        [% INCLUDE 'circ-search.inc' %]
41
        [% INCLUDE 'circ-search.inc' %]
Lines 40-143 Link Here
40
                <main>
62
                <main>
41
                    [% INCLUDE 'messages.inc' %]
63
                    [% INCLUDE 'messages.inc' %]
42
64
43
                    <h1>Transfer items</h1>
44
45
                    [% IF ( found ) %]
65
                    [% IF ( found ) %]
46
                        <h3>Reserve found</h3>
66
                        [% BLOCK transfer_hidden_fields %]
47
                        <div class="page-section">
67
                            [% FOREACH trsfitemloo IN trsfitemloop %]
48
                            <table>
68
                                <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
49
                                <caption>
69
                                <input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
50
                                    [% IF ( reserved ) %]
70
                                <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
51
                                        <span>Hold found for [% INCLUDE 'patron-title.inc' patron => hold.patron | html %]</span> (<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber | uri %]">[% borrowernumber | html %]</a>).
71
                            [% END %]
52
                                    [% END %]
72
                        [% END %]
53
                                    [% IF ( waiting ) %]
73
54
                                        <span>Item is marked waiting at [% branchname | html %] for [% name | html %]</span> (<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber | uri %]">[% borrowernumber | html %]</a>).
74
                        <h1>Transfers</h1>
55
                                    [% END %]
75
56
                                    [% IF ( transferred ) %]
76
                        <!-- Modal -->
57
                                        <span>Item has been trapped to fill a hold and is in transit for [% name | html %]</span> (<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber | uri %]">[% borrowernumber | html %]</a>).
77
                        <div class="modal block in" id="transfer_confirm" tabindex="-1" role="dialog" aria-labelledby="transfer_confirmLabel" data-backdrop="static" data-show="true">
58
                                    [% END %]
78
                            <div class="modal-dialog" role="document">
59
                                </caption>
79
                                <div class="modal-content">
60
                                <tr>
80
                                    <div class="modal-header">
61
                                    <th>
81
                                        <h3 id="transfer_confirmLabel">
62
                                        [% IF ( reserved ) %]
63
                                            Transfer item to [% Branches.GetName( hold.branchcode ) | html %]:
64
                                        [% END %]
65
                                        [% IF ( waiting or transferred ) %]Cancel hold and then attempt transfer: [% END %]
66
                                    </th>
67
                                    <td>
68
                                        <form method="post" name="mainform" id="mainform" action="branchtransfers.pl">
69
                                            [% INCLUDE 'csrf-token.inc' %]
70
                                            [% FOREACH trsfitemloo IN trsfitemloop %]
71
                                                <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
72
                                                <input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
73
                                                <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
74
                                            [% END %]
75
                                            <input type="hidden" name="reserve_id" value="[% hold.reserve_id | html %]" />
76
                                            <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
77
                                            <input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
78
                                            <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
79
                                            <input type="hidden" name="barcode" value="[% barcode | html %]" />
80
                                            [% IF ( waiting or transferred or processing ) %]
81
                                                <input type="hidden" name="op" value="cud-KillWaiting" />
82
                                                <input type="submit" class="btn btn-primary" value="Cancel" />
83
                                            [% END %]
84
                                            [% IF ( reserved ) %]
82
                                            [% IF ( reserved ) %]
85
                                                <input type="hidden" name="op" value="cud-SetTransit" />
83
                                                <span>Hold found:</span>
86
                                                <input type="submit" class="btn btn-primary" value="Transfer" />
84
                                            [% ELSIF ( waiting ) %]
85
                                                <span>Hold found (item is already waiting):</span>
86
                                            [% ELSIF ( transferred) %]
87
                                                <span>Hold found (item is waiting and in transit):</span>
87
                                            [% END %]
88
                                            [% END %]
88
                                        </form>
89
                                                <br />
89
                                    </td>
90
                                                [% INCLUDE 'biblio-title.inc' biblio=found_biblio link=1 %]
90
                                </tr>
91
                                                [% IF ( barcode ) %]
91
                                [% IF ( reserved ) %]
92
                                                    (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% biblionumber | uri %]&amp;itemnumber=[% itemnumber | uri %]#item[% itemnumber | uri %]">[% barcode | html %]</a>)
92
                                    <tr>
93
                                                [% END %]
93
                                        <th>Cancel hold and then attempt transfer:</th>
94
                                        </h3>
94
                                        <td>
95
                                    </div>
95
                                            <form method="post" name="mainform" id="mainform" action="branchtransfers.pl">
96
                                    <div class="modal-body">
96
                                                [% INCLUDE 'csrf-token.inc' %]
97
                                        [% IF ( reserved || waiting || transferred ) %]
97
                                                [% FOREACH trsfitemloo IN trsfitemloop %]
98
                                            <h5>Hold for:</h5>
98
                                                    <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
99
                                            <ul>
99
                                                    <input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
100
                                                <li>
100
                                                    <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
101
                                                    [% INCLUDE 'patron-title.inc' patron=hold.patron hide_patron_infos_if_needed=1 invert_name=1 link_to="circulation_reserves" %]
102
                                                    <span class="patron-category"> - [% patron.category.description | html %]</span>
103
                                                </li>
104
                                                [% INCLUDE display_holdpatron_address %]
105
                                                [% IF ( patron.phone ) %]
106
                                                    <li> [% patron.phone | html %]</li>
107
                                                [% END %]
108
109
                                                [% IF ( patron.email ) %]
110
                                                    <li><a id="boremail" href="mailto:[% patron.email | html %]">[% patron.email | html %]</a></li>
111
                                                [% END %]
112
113
                                                [% IF ( patron.is_debarred ) %]
114
                                                    <li class="error">Patron is RESTRICTED</li>
101
                                                [% END %]
115
                                                [% END %]
116
117
                                                [% IF ( patron.gonenoaddress ) %]
118
                                                    <li class="error">Patron's address is in doubt</li>
119
                                                [% END %]
120
                                            </ul>
121
                                            <h4>Transfer to: [% Branches.GetName( hold.branchcode ) | html %]</h4>
122
                                        [% END %]
123
                                    </div>
124
125
                                    <div class="modal-footer">
126
                                        <div>
127
                                            <form method="post" action="branchtransfers.pl">
128
                                                [% INCLUDE 'csrf-token.inc' %]
129
                                                [% PROCESS transfer_hidden_fields %]
102
                                                <input type="hidden" name="reserve_id" value="[% hold.reserve_id | html %]" />
130
                                                <input type="hidden" name="reserve_id" value="[% hold.reserve_id | html %]" />
103
                                                <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
131
                                                <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
104
                                                <input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
132
                                                <input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
105
                                                <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
133
                                                <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
106
                                                <input type="hidden" name="barcode" value="[% barcode | html %]">
134
                                                <input type="hidden" name="barcode" value="[% barcode | html %]" />
107
                                                <input type="hidden" name="op" value="cud-KillReserved" />
135
                                                [% IF ( waiting or transferred or processing ) %]
108
                                                <input type="submit" class="btn btn-primary" value="Cancel" />
136
                                                    <input type="hidden" name="op" value="cud-KillWaiting" />
137
                                                    <button type="submit" class="btn btn-default"><i class="fa fa-trash"></i> Cancel hold and attempt transfer</button>
138
                                                [% END %]
139
                                                [% IF ( reserved ) %]
140
                                                    <input type="hidden" name="op" value="cud-SetTransit" />
141
                                                    <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Transfer to [% Branches.GetName( hold.branchcode ) | html %]</button>
142
                                                [% END %]
109
                                            </form>
143
                                            </form>
110
                                        </td>
144
                                        </div>
111
                                    </tr>
145
112
                                [% END # /IF reserved  %]
146
                                        [% IF ( reserved ) %]
113
                                <tr>
147
                                            <div>
114
                                    <th>Ignore and return to transfers: </th>
148
                                                <form method="post" action="branchtransfers.pl">
115
                                    <td>
149
                                                    [% INCLUDE 'csrf-token.inc' %]
116
                                        <form method="get" name="mainform" id="mainform" action="branchtransfers.pl">
150
                                                    [% PROCESS transfer_hidden_fields %]
117
                                            <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
151
                                                    <input type="hidden" name="reserve_id" value="[% hold.reserve_id | html %]" />
118
                                            <input type="hidden" name="barcode" />
152
                                                    <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
119
                                            [% FOREACH trsfitemloo IN trsfitemloop %]
153
                                                    <input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
120
                                                <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
154
                                                    <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
121
                                                <input type="hidden" name="fb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.frombrcd | html %]" />
155
                                                    <input type="hidden" name="barcode" value="[% barcode | html %]">
122
                                                <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
156
                                                    <input type="hidden" name="op" value="cud-KillReserved" />
123
                                            [% END %]
157
                                                    <button type="submit" class="btn btn-default"><i class="fa fa-trash"></i> Cancel hold and attempt transfer</button>
124
                                            <input type="submit" class="btn btn-primary" value="Ignore" />
158
                                                </form>
125
                                        </form>
159
                                            </div>
126
                                    </td>
160
                                        [% END # /IF reserved  %]
127
                                </tr>
161
128
                            </table>
162
                                        <div>
129
                        </div> <!-- /.page-section -->
163
                                            <form method="get" action="branchtransfers.pl">
164
                                                <input type="hidden" name="tobranchcd" value="[% tobranchcd | html %]" />
165
                                                <input type="hidden" name="barcode" />
166
                                                [% PROCESS transfer_hidden_fields %]
167
                                                <button type="submit" class="btn btn-default deny"><i class="fa fa-times"></i> Ignore and return to transfers</button>
168
                                            </form>
169
                                        </div>
170
                                    </div> <!-- /.modal-footer -->
171
                                </div> <!-- /.modal-content -->
172
                            </div> <!-- /.modal-dialog -->
173
                        </div> <!-- /.modal -->
174
130
                    [% ELSE # /IF found %]
175
                    [% ELSE # /IF found %]
131
                        [% IF ( reqmessage ) %]
176
                        [% IF ( reqmessage ) %]
132
                            <div class="dialog message">
177
                            <div class="dialog message">
133
                                <ul>
134
                                [% IF ( cancelled ) %]
178
                                [% IF ( cancelled ) %]
135
                                    <li>Reserve cancelled</li>
179
                                    <p>Hold cancelled</p>
136
                                [% END %]
180
                                [% END %]
137
                                [% IF ( settransit ) %]
181
                                [% IF ( settransit ) %]
138
                                    <li>Item is now in transit to [% Branches.GetName(tobranchcd) | html %]</li>
182
                                    <p>Item is now in transit to [% Branches.GetName(tobranchcd) | html %]</p>
139
                                [% END %]
183
                                [% END %]
140
                                </ul>
141
                            </div>
184
                            </div>
142
                        [% END %]
185
                        [% END %]
143
186
Lines 178-199 Link Here
178
                        [% END # /errmsgloop %]
221
                        [% END # /errmsgloop %]
179
222
180
                        <div id="branchtransfers">
223
                        <div id="branchtransfers">
181
                            <form method="post" name="mainform" id="mainform" action="/cgi-bin/koha/circ/branchtransfers.pl">
224
                            <form method="post" action="/cgi-bin/koha/circ/branchtransfers.pl" class="validated">
182
                                [% INCLUDE 'csrf-token.inc' %]
225
                                [% INCLUDE 'csrf-token.inc' %]
183
                                <fieldset class="brief">
226
                                <fieldset class="barcode_input">
184
                                    <legend>Transfer</legend>
227
                                    <h1>Transfers</h1>
185
                                    <ol>
228
                                    <div class="form-control-group">
186
                                    <li>
229
                                        <label for="tobranchcd" class="hint">Destination library: </label>
187
                                        <label for="tobranchcd">Destination library: </label>
230
                                        <select name="tobranchcd" id="tobranchcd" class="required select2" required="required">
188
                                            <select name="tobranchcd" id="tobranchcd">
231
                                            [% PROCESS options_for_libraries libraries => Branches.all( selected => tobranchcd, unfiltered => 1) %]
189
                                                [% PROCESS options_for_libraries libraries => Branches.all( selected => tobranchcd, unfiltered => 1) %]
232
                                        </select>
190
                                            </select>
233
                                        <span class="required">Required</span>
191
                                    </li>
234
                                    </div>
192
                                    <li>
235
                                    <div class="form-control-group">
193
                                        <label for="barcode">Enter barcode: </label>
236
                                        <label class="hint" for="barcode">Enter item barcode: </label>
194
                                        <input name="barcode" id="barcode" size="15" class="focus" type="text" /> <input type="submit" class="btn btn-primary" value="Submit" />
237
                                        <input name="barcode" id="barcode" size="15" class="barcode focus" placeholder="Enter item barcode" type="text" />
195
                                    </li>
238
                                        <input class="btn btn-default" type="submit" value="Transfer" />
196
                                    </ol>
239
                                    </div>
197
                                </fieldset>
240
                                </fieldset>
198
                                [% FOREACH trsfitemloo IN trsfitemloop %]
241
                                [% FOREACH trsfitemloo IN trsfitemloop %]
199
                                    <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
242
                                    <input type="hidden" name="bc-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.item.barcode | html %]" />
Lines 201-207 Link Here
201
                                    <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
244
                                    <input type="hidden" name="tb-[% trsfitemloo.counter | html %]" value="[% trsfitemloo.tobrcd | html %]" />
202
                                [% END %]
245
                                [% END %]
203
                                <input type="hidden" name="op" value="cud-transfer" />
246
                                <input type="hidden" name="op" value="cud-transfer" />
204
                            </form> <!-- /#mainform -->
247
                            </form>
205
                        </div> <!-- /#branchtransfers -->
248
                        </div> <!-- /#branchtransfers -->
206
249
207
                        [% IF ( trsfitemloop ) %]
250
                        [% IF ( trsfitemloop ) %]
Lines 255-260 Link Here
255
        </div> <!-- /.row -->
298
        </div> <!-- /.row -->
256
299
257
[% MACRO jsinclude BLOCK %]
300
[% MACRO jsinclude BLOCK %]
301
    [% INCLUDE 'select2.inc' %]
258
    <script>
302
    <script>
259
        $(".printtransferslip").on("click", function(e){
303
        $(".printtransferslip").on("click", function(e){
260
            e.preventDefault();
304
            e.preventDefault();
Lines 262-267 Link Here
262
            var to_branch = $(this).attr('data-tobranch');
306
            var to_branch = $(this).attr('data-tobranch');
263
            window.open("/cgi-bin/koha/circ/transfer-slip.pl?transferitem=" + itemnumber + "&branchcode=" + to_branch);
307
            window.open("/cgi-bin/koha/circ/transfer-slip.pl?transferitem=" + itemnumber + "&branchcode=" + to_branch);
264
        });
308
        });
309
        [% IF ( found ) %]
310
            $("#transfer_confirm").modal("show");
311
        [% END %]
265
    </script>
312
    </script>
266
[% END %]
313
[% END %]
267
314
268
- 

Return to bug 25682