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

(-)a/C4/Circulation.pm (-4 / +21 lines)
Lines 1124-1129 Check whether the item can be returned to the provided branch Link Here
1124
1124
1125
=item C<$branch> is the branchcode where the return is taking place
1125
=item C<$branch> is the branchcode where the return is taking place
1126
1126
1127
=item C<$itemtype> is the document type of the item
1128
1127
=back
1129
=back
1128
1130
1129
Returns:
1131
Returns:
Lines 1139-1151 Returns: Link Here
1139
=cut
1141
=cut
1140
1142
1141
sub CanBookBeReturned {
1143
sub CanBookBeReturned {
1142
  my ($item, $branch) = @_;
1144
  my ($item, $branch, $itemtype) = @_;
1143
  my $allowreturntobranch = C4::Context->preference("AllowReturnToBranch") || 'anywhere';
1144
1145
1145
  # assume return is allowed to start
1146
  # assume return is allowed to start
1146
  my $allowed = 1;
1147
  my $allowed = 1;
1147
  my $message;
1148
  my $message;
1148
1149
1150
  my $allowreturntobranch = C4::Context->preference("AllowReturnToBranch") || 'anywhere';
1151
  if ($allowreturntobranch eq 'anywhere') {
1152
    # if we try a checkin that would result in a forbidden branchtransfer, refuse the return as well
1153
    # first, find branchtransferlimit value for this item
1154
    my $branchtransferlimitvalue = (C4::Context->preference("item-level_itypes") && C4::Context->preference("BranchTransferLimitsType") eq 'ccode') ? $item->{ccode} : $itemtype;
1155
    if ( $item->{'homebranch'} ne $branch
1156
                 && ( C4::Context->preference("IndependentBranches")
1157
                 or ( C4::Context->preference("UseBranchTransferLimits") and not IsBranchTransferAllowed($item->{'homebranch'}, $branch, $branchtransferlimitvalue) )
1158
                 )
1159
       )
1160
    {
1161
       $allowed = 0;
1162
       $message = $item->{'homebranch'};
1163
       return ($allowed, $message);
1164
    }
1165
  }
1166
1149
  # identify all cases where return is forbidden
1167
  # identify all cases where return is forbidden
1150
  if ($allowreturntobranch eq 'homebranch' && $branch ne $item->{'homebranch'}) {
1168
  if ($allowreturntobranch eq 'homebranch' && $branch ne $item->{'homebranch'}) {
1151
     $allowed = 0;
1169
     $allowed = 0;
Lines 1924-1930 sub AddReturn { Link Here
1924
    }
1942
    }
1925
1943
1926
    # check if the return is allowed at this branch
1944
    # check if the return is allowed at this branch
1927
    my ($returnallowed, $message) = CanBookBeReturned($item_unblessed, $branch);
1945
    my ($returnallowed, $message) = CanBookBeReturned($item, $branch, $itemtype);
1928
    unless ($returnallowed){
1946
    unless ($returnallowed){
1929
        $messages->{'Wrongbranch'} = {
1947
        $messages->{'Wrongbranch'} = {
1930
            Wrongbranch => $branch,
1948
            Wrongbranch => $branch,
1931
- 

Return to bug 7376