Lines 67-73
BEGIN {
Link Here
|
67 |
|
67 |
|
68 |
CheckItemPreSave |
68 |
CheckItemPreSave |
69 |
|
69 |
|
70 |
GetItemStatus |
|
|
71 |
GetItemLocation |
70 |
GetItemLocation |
72 |
GetLostItems |
71 |
GetLostItems |
73 |
GetItemsForInventory |
72 |
GetItemsForInventory |
Lines 780-876
has copy-and-paste work.
Link Here
|
780 |
|
779 |
|
781 |
=cut |
780 |
=cut |
782 |
|
781 |
|
783 |
=head2 GetItemStatus |
|
|
784 |
|
785 |
$itemstatushash = GetItemStatus($fwkcode); |
786 |
|
787 |
Returns a list of valid values for the |
788 |
C<items.notforloan> field. |
789 |
|
790 |
NOTE: does B<not> return an individual item's |
791 |
status. |
792 |
|
793 |
Can be MARC dependent. |
794 |
fwkcode is optional. |
795 |
But basically could be can be loan or not |
796 |
Create a status selector with the following code |
797 |
|
798 |
=head3 in PERL SCRIPT |
799 |
|
800 |
my $itemstatushash = getitemstatus; |
801 |
my @itemstatusloop; |
802 |
foreach my $thisstatus (keys %$itemstatushash) { |
803 |
my %row =(value => $thisstatus, |
804 |
statusname => $itemstatushash->{$thisstatus}->{'statusname'}, |
805 |
); |
806 |
push @itemstatusloop, \%row; |
807 |
} |
808 |
$template->param(statusloop=>\@itemstatusloop); |
809 |
|
810 |
=head3 in TEMPLATE |
811 |
|
812 |
<select name="statusloop" id="statusloop"> |
813 |
<option value="">Default</option> |
814 |
[% FOREACH statusloo IN statusloop %] |
815 |
[% IF ( statusloo.selected ) %] |
816 |
<option value="[% statusloo.value %]" selected="selected">[% statusloo.statusname %]</option> |
817 |
[% ELSE %] |
818 |
<option value="[% statusloo.value %]">[% statusloo.statusname %]</option> |
819 |
[% END %] |
820 |
[% END %] |
821 |
</select> |
822 |
|
823 |
=cut |
824 |
|
825 |
sub GetItemStatus { |
826 |
|
827 |
# returns a reference to a hash of references to status... |
828 |
my ($fwk) = @_; |
829 |
my %itemstatus; |
830 |
my $dbh = C4::Context->dbh; |
831 |
my $sth; |
832 |
$fwk = '' unless ($fwk); |
833 |
my ( $tag, $subfield ) = |
834 |
GetMarcFromKohaField( "items.notforloan", $fwk ); |
835 |
if ( $tag and $subfield ) { |
836 |
my $sth = |
837 |
$dbh->prepare( |
838 |
"SELECT authorised_value |
839 |
FROM marc_subfield_structure |
840 |
WHERE tagfield=? |
841 |
AND tagsubfield=? |
842 |
AND frameworkcode=? |
843 |
" |
844 |
); |
845 |
$sth->execute( $tag, $subfield, $fwk ); |
846 |
if ( my ($authorisedvaluecat) = $sth->fetchrow ) { |
847 |
my $authvalsth = |
848 |
$dbh->prepare( |
849 |
"SELECT authorised_value,lib |
850 |
FROM authorised_values |
851 |
WHERE category=? |
852 |
ORDER BY lib |
853 |
" |
854 |
); |
855 |
$authvalsth->execute($authorisedvaluecat); |
856 |
while ( my ( $authorisedvalue, $lib ) = $authvalsth->fetchrow ) { |
857 |
$itemstatus{$authorisedvalue} = $lib; |
858 |
} |
859 |
return \%itemstatus; |
860 |
} |
861 |
else { |
862 |
|
863 |
#No authvalue list |
864 |
# build default |
865 |
} |
866 |
} |
867 |
|
868 |
#No authvalue list |
869 |
#build default |
870 |
$itemstatus{"1"} = "Not For Loan"; |
871 |
return \%itemstatus; |
872 |
} |
873 |
|
874 |
=head2 GetItemLocation |
782 |
=head2 GetItemLocation |
875 |
|
783 |
|
876 |
$itemlochash = GetItemLocation($fwk); |
784 |
$itemlochash = GetItemLocation($fwk); |
877 |
- |
|
|