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

(-)a/C4/Items.pm (-87 lines)
Lines 67-73 BEGIN { Link Here
67
    
67
    
68
        CheckItemPreSave
68
        CheckItemPreSave
69
    
69
    
70
        GetItemLocation
71
        GetLostItems
70
        GetLostItems
72
        GetItemsForInventory
71
        GetItemsForInventory
73
        GetItemInfosOf
72
        GetItemInfosOf
Lines 775-865 has copy-and-paste work. Link Here
775
774
776
=cut
775
=cut
777
776
778
=head2 GetItemLocation
779
780
  $itemlochash = GetItemLocation($fwk);
781
782
Returns a list of valid values for the
783
C<items.location> field.
784
785
NOTE: does B<not> return an individual item's
786
location.
787
788
where fwk stands for an optional framework code.
789
Create a location selector with the following code
790
791
=head3 in PERL SCRIPT
792
793
  my $itemlochash = getitemlocation;
794
  my @itemlocloop;
795
  foreach my $thisloc (keys %$itemlochash) {
796
      my $selected = 1 if $thisbranch eq $branch;
797
      my %row =(locval => $thisloc,
798
                  selected => $selected,
799
                  locname => $itemlochash->{$thisloc},
800
               );
801
      push @itemlocloop, \%row;
802
  }
803
  $template->param(itemlocationloop => \@itemlocloop);
804
805
=head3 in TEMPLATE
806
807
  <select name="location">
808
      <option value="">Default</option>
809
  <!-- TMPL_LOOP name="itemlocationloop" -->
810
      <option value="<!-- TMPL_VAR name="locval" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="locname" --></option>
811
  <!-- /TMPL_LOOP -->
812
  </select>
813
814
=cut
815
816
sub GetItemLocation {
817
818
    # returns a reference to a hash of references to location...
819
    my ($fwk) = @_;
820
    my %itemlocation;
821
    my $dbh = C4::Context->dbh;
822
    my $sth;
823
    $fwk = '' unless ($fwk);
824
    my ( $tag, $subfield ) =
825
      GetMarcFromKohaField( "items.location", $fwk );
826
    if ( $tag and $subfield ) {
827
        my $sth =
828
          $dbh->prepare(
829
            "SELECT authorised_value
830
            FROM marc_subfield_structure 
831
            WHERE tagfield=? 
832
                AND tagsubfield=? 
833
                AND frameworkcode=?"
834
          );
835
        $sth->execute( $tag, $subfield, $fwk );
836
        if ( my ($authorisedvaluecat) = $sth->fetchrow ) {
837
            my $authvalsth =
838
              $dbh->prepare(
839
                "SELECT authorised_value,lib
840
                FROM authorised_values
841
                WHERE category=?
842
                ORDER BY lib"
843
              );
844
            $authvalsth->execute($authorisedvaluecat);
845
            while ( my ( $authorisedvalue, $lib ) = $authvalsth->fetchrow ) {
846
                $itemlocation{$authorisedvalue} = $lib;
847
            }
848
            return \%itemlocation;
849
        }
850
        else {
851
852
            #No authvalue list
853
            # build default
854
        }
855
    }
856
857
    #No authvalue list
858
    #build default
859
    $itemlocation{"1"} = "Not For Loan";
860
    return \%itemlocation;
861
}
862
863
=head2 GetLostItems
777
=head2 GetLostItems
864
778
865
  $items = GetLostItems( $where );
779
  $items = GetLostItems( $where );
866
- 

Return to bug 18278