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

(-)a/installer/data/mysql/atomicupdate/bug_36120.pl (-10 / +14 lines)
Lines 8-33 return { Link Here
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
9
10
        unless ( column_exists( 'bookings', 'pickup_library_id' ) ) {
10
        unless ( column_exists( 'bookings', 'pickup_library_id' ) ) {
11
          $dbh->do(q{
11
            $dbh->do(
12
                q{
12
              ALTER TABLE bookings
13
              ALTER TABLE bookings
13
              ADD COLUMN `pickup_library_id` varchar(10) DEFAULT NULL COMMENT 'Identifier for booking pickup library' AFTER `item_id`,
14
              ADD COLUMN `pickup_library_id` varchar(10) DEFAULT NULL COMMENT 'Identifier for booking pickup library' AFTER `item_id`,
14
              ADD CONSTRAINT `bookings_ibfk_4` FOREIGN KEY (`pickup_library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
15
              ADD CONSTRAINT `bookings_ibfk_4` FOREIGN KEY (`pickup_library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
15
          });
16
          }
17
            );
16
18
17
          say $out "Added column 'bookings.pickup_library_id'";
19
            say $out "Added column 'bookings.pickup_library_id'";
18
20
19
          $dbh->do(
21
            $dbh->do(
20
              q{UPDATE bookings JOIN items ON bookings.item_id = items.itemnumber SET bookings.pickup_library_id = items.homebranch }
22
                q{UPDATE bookings JOIN items ON bookings.item_id = items.itemnumber SET bookings.pickup_library_id = items.homebranch }
21
          );
23
            );
22
24
23
          say $out "Set existing bookings pickup location to item homebranch";
25
            say $out "Set existing bookings pickup location to item homebranch";
24
26
25
          $dbh->do(q{
27
            $dbh->do(
28
                q{
26
              ALTER TABLE bookings
29
              ALTER TABLE bookings
27
              MODIFY pickup_library_id varchar(10) NOT NULL COMMENT 'Identifier for booking pickup library'
30
              MODIFY pickup_library_id varchar(10) NOT NULL COMMENT 'Identifier for booking pickup library'
28
          });
31
          }
32
            );
29
33
30
          say $out "Set pickup_library_id to NOT NULL";
34
            say $out "Set pickup_library_id to NOT NULL";
31
        }
35
        }
32
    },
36
    },
33
};
37
};
(-)a/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js (-12 / +13 lines)
Lines 140-156 $("#placeBookingModal").on("show.bs.modal", function (e) { Link Here
140
    });
140
    });
141
    function setLocationsPicker(response) {
141
    function setLocationsPicker(response) {
142
        let $pickupSelect = $("#pickup_library_id");
142
        let $pickupSelect = $("#pickup_library_id");
143
        let bookableItemnumbers = bookable_items.map(function(object) { return object.item_id; });
143
        let bookableItemnumbers = bookable_items.map(function (object) {
144
            return object.item_id;
145
        });
144
        $pickupSelect.empty();
146
        $pickupSelect.empty();
145
147
146
        $.each(response, function(index, pickup_location) {
148
        $.each(response, function (index, pickup_location) {
147
            if (containsAny(pickup_location.pickup_items, bookableItemnumbers)) {
149
            if (
150
                containsAny(pickup_location.pickup_items, bookableItemnumbers)
151
            ) {
148
                let option = $(
152
                let option = $(
149
                    '<option value="' +
153
                    '<option value="' +
150
                    pickup_location.library_id +
154
                        pickup_location.library_id +
151
                    '">' +
155
                        '">' +
152
                    pickup_location.name +
156
                        pickup_location.name +
153
                    "</option>"
157
                        "</option>"
154
                );
158
                );
155
159
156
                option.attr(
160
                option.attr(
Lines 202-217 $("#placeBookingModal").on("show.bs.modal", function (e) { Link Here
202
            success: function (response) {
206
            success: function (response) {
203
                if (dataFetched === true) {
207
                if (dataFetched === true) {
204
                    setLocationsPicker(response);
208
                    setLocationsPicker(response);
205
206
                } else {
209
                } else {
207
                    var interval = setInterval(function() {
210
                    var interval = setInterval(function () {
208
                        if (dataFetched === true) {
211
                        if (dataFetched === true) {
209
                            // Data is fetched, execute the callback and stop the interval
212
                            // Data is fetched, execute the callback and stop the interval
210
                            setLocationsPicker(response);
213
                            setLocationsPicker(response);
211
                            clearInterval(interval);
214
                            clearInterval(interval);
212
                        }
215
                        }
213
                    }, 100);
216
                    }, 100);
214
                };
217
                }
215
            },
218
            },
216
            error: function (xhr, status, error) {
219
            error: function (xhr, status, error) {
217
                console.log("Pickup location fetch failed: ", error);
220
                console.log("Pickup location fetch failed: ", error);
Lines 861-867 $("#placeBookingForm").on("submit", function (e) { Link Here
861
});
864
});
862
865
863
$("#placeBookingModal").on("hidden.bs.modal", function (e) {
866
$("#placeBookingModal").on("hidden.bs.modal", function (e) {
864
865
    // Reset patron select
867
    // Reset patron select
866
    $("#booking_patron_id").val(null).trigger("change");
868
    $("#booking_patron_id").val(null).trigger("change");
867
    $("#booking_patron_id").empty();
869
    $("#booking_patron_id").empty();
868
- 

Return to bug 36120