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

(-)a/koha-tmpl/intranet-tmpl/prog/js/holds.js (-1 / +28 lines)
Lines 100-106 $(document).ready(function() { Link Here
100
                    },
100
                    },
101
                    {
101
                    {
102
                        "mDataProp": function( oObj ) {
102
                        "mDataProp": function( oObj ) {
103
                            return oObj.branchcode || "";
103
                            if( oObj.branches.length > 1 && oObj.found !== 'W' && oObj.found !== 'T' ){
104
                                var branchSelect='<select class="hold_location_select" reserve_id="'+oObj.reserve_id+'" name="pick-location">';
105
                                for ( var i=0; i < oObj.branches.length; i++ ){
106
                                    var selectedbranch;
107
                                    if( oObj.branches[i].selected ){selectedbranch=" selected='selected' "}else{selectedbranch=''}
108
                                    branchSelect += '<option value="'+ oObj.branches[i].value +'"'+selectedbranch+'>'+oObj.branches[i].branchname+'</option>';
109
                                }
110
                                branchSelect +='</select>';
111
                                return branchSelect;
112
                            }
113
                            else { return oObj.branchcode || ""; }
104
                        }
114
                        }
105
                    },
115
                    },
106
                    { "mDataProp": "expirationdate_formatted" },
116
                    { "mDataProp": "expirationdate_formatted" },
Lines 176-181 $(document).ready(function() { Link Here
176
                      }
186
                      }
177
                    });
187
                    });
178
                });
188
                });
189
190
                $(".hold_location_select").change(function(){
191
                    if( confirm( _("Do you want to change the pickup location?") ) ){
192
                        $.post('/cgi-bin/koha/svc/hold/update_location', { "reserve_id": $(this).attr('reserve_id'), "updated_branch": $(this).val() }, function( data ){
193
                            if ( data.success ) {
194
                                holdsTable.api().ajax.reload();
195
                            }
196
                        else {
197
                            if ( data.error == "HOLD_NOT_FOUND" ) {
198
                                alert ( RESUME_HOLD_ERROR_NOT_FOUND );
199
                                holdsTable.api().ajax.reload();
200
                            }
201
                        }
202
                      });
203
                    }
204
                });
205
179
            });
206
            });
180
207
181
            if ( $("#holds-table").length ) {
208
            if ( $("#holds-table").length ) {
(-)a/svc/hold/update_location (+65 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2015 ByWater Solutions
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU General Public License as published by the Free Software
9
# Foundation; either version 3 of the License, or (at your option) any later
10
# version.
11
#
12
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License along
17
# with Koha; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20
use Modern::Perl;
21
22
use CGI;
23
use JSON qw(to_json);
24
25
use C4::Context;
26
use C4::Output qw(output_with_http_headers);
27
use C4::Auth qw(check_cookie_auth);
28
use C4::Reserves qw(ModReserve);
29
use Koha::DateUtils qw(dt_from_string);
30
use Koha::Holds;
31
32
my $input = new CGI;
33
34
my ( $auth_status, $sessionID ) =
35
  check_cookie_auth( $input->cookie('CGISESSID'), { circulate => 'circulate_remaining_permissions' } );
36
37
if ( $auth_status ne "ok" ) {
38
    print $input->header(-type => 'text/plain', -status => '403 Forbidden');
39
    exit 0;
40
}
41
42
my $reserve_id = $input->param('reserve_id');
43
my $updated_branch = $input->param('updated_branch');
44
45
my $hold = Koha::Holds->find( $reserve_id );
46
47
unless ( $hold ) {
48
    my $json = to_json( { success => 0, error => "HOLD_NOT_FOUND" } );
49
    output_with_http_headers( $input, undef, $json, "json" );
50
    exit;
51
}
52
53
ModReserve( {
54
                rank => $hold->priority,
55
                reserve_id => $hold->reserve_id,
56
                branchcode => $updated_branch,
57
                itemnumber => $hold->itemnumber,
58
                borrowernumber => $hold->borrowernumber,
59
                biblionumber => $hold->biblionumber
60
            });
61
62
$hold = Koha::Holds->find( $reserve_id );
63
64
my $json = to_json( { success => ( $hold->branchcode eq $updated_branch )  } );
65
output_with_http_headers( $input, undef, $json, "json" );
(-)a/svc/holds (-2 / +2 lines)
Lines 24-30 use JSON qw(to_json); Link Here
24
24
25
use C4::Auth qw(check_cookie_auth);
25
use C4::Auth qw(check_cookie_auth);
26
use C4::Biblio qw(GetMarcBiblio GetFrameworkCode GetRecordValue );
26
use C4::Biblio qw(GetMarcBiblio GetFrameworkCode GetRecordValue );
27
use C4::Branch qw(GetBranchName);
27
use C4::Branch qw(GetBranchName GetBranchesLoop);
28
use C4::Charset;
28
use C4::Charset;
29
use C4::Circulation qw(GetTransfers);
29
use C4::Circulation qw(GetTransfers);
30
use C4::Context;
30
use C4::Context;
Lines 86-91 while ( my $h = $holds_rs->next() ) { Link Here
86
        author         => $h->biblio()->author(),
86
        author         => $h->biblio()->author(),
87
        reserve_id     => $h->reserve_id(),
87
        reserve_id     => $h->reserve_id(),
88
        branchcode     => $h->branch()->branchname(),
88
        branchcode     => $h->branch()->branchname(),
89
        branches       => GetBranchesLoop($h->branch()->branchcode()),
89
        reservedate    => $h->reservedate(),
90
        reservedate    => $h->reservedate(),
90
        expirationdate => $h->expirationdate(),
91
        expirationdate => $h->expirationdate(),
91
        suspend        => $h->suspend(),
92
        suspend        => $h->suspend(),
92
- 

Return to bug 8030