| Lines 163-171
          The following tables are available witin the HOLDPLACED message:
      
      
        Link Here | 
        
          | 163 |  | 163 |  | 
        
          | 164 | sub AddReserve { | 164 | sub AddReserve { | 
        
          | 165 |     my ( | 165 |     my ( | 
          
            
              | 166 |         $branch,    $borrowernumber, $biblionumber, | 166 |         $branch,   $borrowernumber, $biblionumber, $bibitems, | 
            
              | 167 |         $bibitems,  $priority, $resdate, $expdate, $notes, | 167 |         $priority, $resdate,        $expdate,      $notes, | 
            
              | 168 |         $title,      $checkitem, $found | 168 |         $title,    $checkitem,      $found,        $itemtype | 
        
          | 169 |     ) = @_; | 169 |     ) = @_; | 
        
          | 170 |  | 170 |  | 
        
          | 171 |     if ( Koha::Holds->search( { borrowernumber => $borrowernumber, biblionumber => $biblionumber } )->count() > 0 ) { | 171 |     if ( Koha::Holds->search( { borrowernumber => $borrowernumber, biblionumber => $biblionumber } )->count() > 0 ) { | 
  
    | Lines 193-198
          sub AddReserve {
      
      
        Link Here | 
        
          | 193 |         $waitingdate = $resdate; | 193 |         $waitingdate = $resdate; | 
        
          | 194 |     } | 194 |     } | 
        
          | 195 |  | 195 |  | 
            
              |  |  | 196 |     # Don't add itemtype limit if specific item is selected | 
            
              | 197 |     $itemtype = undef if $checkitem; | 
            
              | 198 |  | 
        
          | 196 |     # updates take place here | 199 |     # updates take place here | 
        
          | 197 |     my $hold = Koha::Hold->new( | 200 |     my $hold = Koha::Hold->new( | 
        
          | 198 |         { | 201 |         { | 
  
    | Lines 205-211
          sub AddReserve {
      
      
        Link Here | 
        
          | 205 |             itemnumber     => $checkitem, | 208 |             itemnumber     => $checkitem, | 
        
          | 206 |             found          => $found, | 209 |             found          => $found, | 
        
          | 207 |             waitingdate    => $waitingdate, | 210 |             waitingdate    => $waitingdate, | 
          
            
              | 208 |             expirationdate => $expdate | 211 |             expirationdate => $expdate, | 
            
              |  |  | 212 |             itemtype       => $itemtype, | 
        
          | 209 |         } | 213 |         } | 
        
          | 210 |     )->store(); | 214 |     )->store(); | 
        
          | 211 |     my $reserve_id = $hold->id(); | 215 |     my $reserve_id = $hold->id(); | 
  
    | Lines 312-318
          sub GetReservesFromBiblionumber {
      
      
        Link Here | 
        
          | 312 |                 expirationdate, | 316 |                 expirationdate, | 
        
          | 313 |                 lowestPriority, | 317 |                 lowestPriority, | 
        
          | 314 |                 suspend, | 318 |                 suspend, | 
          
            
              | 315 |                 suspend_until | 319 |                 suspend_until, | 
            
              |  |  | 320 |                 itemtype | 
        
          | 316 |         FROM     reserves | 321 |         FROM     reserves | 
        
          | 317 |         WHERE biblionumber = ? "; | 322 |         WHERE biblionumber = ? "; | 
        
          | 318 |     push( @params, $biblionumber ); | 323 |     push( @params, $biblionumber ); | 
  
    | Lines 948-955
          sub CheckReserves {
      
      
        Link Here | 
        
          | 948 |  | 953 |  | 
        
          | 949 |                 # See if this item is more important than what we've got so far | 954 |                 # See if this item is more important than what we've got so far | 
        
          | 950 |                 if ( ( $res->{'priority'} && $res->{'priority'} < $priority ) || $local_hold_match ) { | 955 |                 if ( ( $res->{'priority'} && $res->{'priority'} < $priority ) || $local_hold_match ) { | 
            
              | 951 |                     $borrowerinfo ||= C4::Members::GetMember( borrowernumber => $res->{'borrowernumber'} ); |  |  | 
        
          | 952 |                     $iteminfo ||= C4::Items::GetItem($itemnumber); | 956 |                     $iteminfo ||= C4::Items::GetItem($itemnumber); | 
            
              |  |  | 957 |                     next if $res->{itemtype} && $res->{itemtype} ne _get_itype( $iteminfo ); | 
            
              | 958 |                     $borrowerinfo ||= C4::Members::GetMember( borrowernumber => $res->{'borrowernumber'} ); | 
        
          | 953 |                     my $branch = GetReservesControlBranch( $iteminfo, $borrowerinfo ); | 959 |                     my $branch = GetReservesControlBranch( $iteminfo, $borrowerinfo ); | 
        
          | 954 |                     my $branchitemrule = C4::Circulation::GetBranchItemRule($branch,$iteminfo->{'itype'}); | 960 |                     my $branchitemrule = C4::Circulation::GetBranchItemRule($branch,$iteminfo->{'itype'}); | 
        
          | 955 |                     next if ($branchitemrule->{'holdallowed'} == 0); | 961 |                     next if ($branchitemrule->{'holdallowed'} == 0); | 
  
    | Lines 1835-1841
          sub _Findgroupreserve {
      
      
        Link Here | 
        
          | 1835 |                reserves.timestamp           AS timestamp, | 1841 |                reserves.timestamp           AS timestamp, | 
        
          | 1836 |                biblioitems.biblioitemnumber AS biblioitemnumber, | 1842 |                biblioitems.biblioitemnumber AS biblioitemnumber, | 
        
          | 1837 |                reserves.itemnumber          AS itemnumber, | 1843 |                reserves.itemnumber          AS itemnumber, | 
          
            
              | 1838 |                reserves.reserve_id          AS reserve_id | 1844 |                reserves.reserve_id          AS reserve_id, | 
            
              |  |  | 1845 |                reserves.itemtype            AS itemtype | 
        
          | 1839 |         FROM reserves | 1846 |         FROM reserves | 
        
          | 1840 |         JOIN biblioitems USING (biblionumber) | 1847 |         JOIN biblioitems USING (biblionumber) | 
        
          | 1841 |         JOIN hold_fill_targets USING (biblionumber, borrowernumber, itemnumber) | 1848 |         JOIN hold_fill_targets USING (biblionumber, borrowernumber, itemnumber) | 
  
    | Lines 1869-1875
          sub _Findgroupreserve {
      
      
        Link Here | 
        
          | 1869 |                reserves.timestamp           AS timestamp, | 1876 |                reserves.timestamp           AS timestamp, | 
        
          | 1870 |                biblioitems.biblioitemnumber AS biblioitemnumber, | 1877 |                biblioitems.biblioitemnumber AS biblioitemnumber, | 
        
          | 1871 |                reserves.itemnumber          AS itemnumber, | 1878 |                reserves.itemnumber          AS itemnumber, | 
          
            
              | 1872 |                reserves.reserve_id          AS reserve_id | 1879 |                reserves.reserve_id          AS reserve_id, | 
            
              |  |  | 1880 |                reserves.itemtype            AS itemtype | 
        
          | 1873 |         FROM reserves | 1881 |         FROM reserves | 
        
          | 1874 |         JOIN biblioitems USING (biblionumber) | 1882 |         JOIN biblioitems USING (biblionumber) | 
        
          | 1875 |         JOIN hold_fill_targets USING (biblionumber, borrowernumber) | 1883 |         JOIN hold_fill_targets USING (biblionumber, borrowernumber) | 
  
    | Lines 1902-1908
          sub _Findgroupreserve {
      
      
        Link Here | 
        
          | 1902 |                reserves.priority                   AS priority, | 1910 |                reserves.priority                   AS priority, | 
        
          | 1903 |                reserves.timestamp                  AS timestamp, | 1911 |                reserves.timestamp                  AS timestamp, | 
        
          | 1904 |                reserves.itemnumber                 AS itemnumber, | 1912 |                reserves.itemnumber                 AS itemnumber, | 
          
            
              | 1905 |                reserves.reserve_id                 AS reserve_id | 1913 |                reserves.reserve_id                 AS reserve_id, | 
            
              |  |  | 1914 |                reserves.itemtype                   AS itemtype | 
        
          | 1906 |         FROM reserves | 1915 |         FROM reserves | 
        
          | 1907 |         WHERE reserves.biblionumber = ? | 1916 |         WHERE reserves.biblionumber = ? | 
        
          | 1908 |           AND (reserves.itemnumber IS NULL OR reserves.itemnumber = ?) | 1917 |           AND (reserves.itemnumber IS NULL OR reserves.itemnumber = ?) |