[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha/C4 Biblio.pm [rel_3_0]
From: |
Henri-Damien LAURENT |
Subject: |
[Koha-cvs] koha/C4 Biblio.pm [rel_3_0] |
Date: |
Mon, 02 Oct 2006 09:32:02 +0000 |
CVSROOT: /cvsroot/koha
Module name: koha
Branch: rel_3_0
Changes by: Henri-Damien LAURENT <hdl> 06/10/02 09:32:02
Modified files:
C4 : Biblio.pm
Log message:
Adding GetItemStatus and GetItemLocation function in order to make
serials-receive.pl work.
*************WARNING.***************
tested for UNIMARC and using 'marcflavour' system preferences to set
defaut_record_format.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Biblio.pm?cvsroot=koha&only_with_tag=rel_3_0&r1=1.178.2.9&r2=1.178.2.10
Patches:
Index: Biblio.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Biblio.pm,v
retrieving revision 1.178.2.9
retrieving revision 1.178.2.10
diff -u -b -r1.178.2.9 -r1.178.2.10
--- Biblio.pm 26 Sep 2006 07:54:20 -0000 1.178.2.9
+++ Biblio.pm 2 Oct 2006 09:32:02 -0000 1.178.2.10
@@ -83,7 +83,7 @@
&char_decode
&DisplayISBN
&itemcalculator &calculatelc
-&GetItemInfosOf
+&GetItemInfosOf &GetItemStatus &GetItemLocation
&GetBiblioItemInfosOf
);
@@ -241,6 +241,9 @@
=cut
+
+MARC::File::XML::default_record_format("UNIMARC") if
(C4::Context->preference("marcflavour") eq "UNIMARC");
+
sub MARCgettagslib {
my ( $dbh, $forlibrarian, $frameworkcode ) = @_;
$frameworkcode = "" unless $frameworkcode;
@@ -390,8 +393,8 @@
$sth->execute($bibid);
my ($marcxml)=$sth->fetchrow;
my $record = MARC::Record->new();
- MARC::File::XML::default_record_format("UNIMARC") if
(C4::Context->preference("marcflavour") eq "UNIMARC");
$record = MARC::Record::new_from_xml( $marcxml,"utf8" ) if $marcxml;
+ warn "record dans Biblio.pm ".$record->as_formatted;
return $record;
}
############OLD VERSION HERE###############################################
@@ -2507,6 +2510,129 @@
return(@results);
}
+=head2 getitemstatus
+
+ $itemstatushash = &getitemstatus($fwkcode);
+ returns information about status.
+ Can be MARC dependant.
+ fwkcode is optional.
+ But basically could be can be loan or not
+ Create a status selector with the following code
+
+=head3 in PERL SCRIPT
+
+my $itemstatushash = getitemstatus;
+my @itemstatusloop;
+foreach my $thisstatus (keys %$itemstatushash) {
+ my %row =(value => $thisstatus,
+ statusname =>
$itemstatushash->{$thisstatus}->{'statusname'},
+ );
+ push @itemstatusloop, \%row;
+}
+$template->param(statusloop=>address@hidden);
+
+
+=head3 in TEMPLATE
+ <select name="statusloop">
+ <option value="">Default</option>
+ <!-- TMPL_LOOP name="statusloop" -->
+ <option value="<!-- TMPL_VAR name="value" -->"
<!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR
name="statusname" --></option>
+ <!-- /TMPL_LOOP -->
+ </select>
+
+=cut
+sub GetItemStatus {
+# returns a reference to a hash of references to status...
+ my ($fwk)address@hidden;
+ my %itemstatus;
+ my $dbh = C4::Context->dbh;
+ my $sth;
+ $fwk='' unless ($fwk);
+ my
($tag,$subfield)=MARCfind_marc_from_kohafield($dbh,"items.notforloan",$fwk);
+ if ($tag and $subfield){
+ my $sth = $dbh->prepare("select authorised_value from
marc_subfield_structure where tagfield=? and tagsubfield=? and
frameworkcode=?");
+ $sth->execute($tag,$subfield,$fwk);
+ if (my ($authorisedvaluecat)=$sth->fetchrow){
+ my $authvalsth=$dbh->prepare("select authorised_value,
lib from authorised_values where category=? order by lib");
+ $authvalsth->execute($authorisedvaluecat);
+ while (my ($authorisedvalue,
$lib)=$authvalsth->fetchrow){
+ $itemstatus{$authorisedvalue}=$lib;
+ }
+ $authvalsth->finish;
+ return \%itemstatus;
+ exit 1;
+ } else{
+ #No authvalue list
+ # build default
+ }
+ $sth->finish;
+ }
+ #No authvalue list
+ #build default
+ $itemstatus{"1"}="Not For Loan";
+ return \%itemstatus;
+}
+=head2 getitemlocation
+
+ $itemlochash = &getitemlocation($fwk);
+ returns informations about location.
+ where fwk stands for an optional framework code.
+ Create a location selector with the following code
+
+=head3 in PERL SCRIPT
+
+my $itemlochash = getitemlocation;
+my @itemlocloop;
+foreach my $thisloc (keys %$itemlochash) {
+ my $selected = 1 if $thisbranch eq $branch;
+ my %row =(locval => $thisloc,
+ selected => $selected,
+ locname => $itemlochash->{$thisloc},
+ );
+ push @itemlocloop, \%row;
+}
+$template->param(itemlocationloop => address@hidden);
+
+=head3 in TEMPLATE
+ <select name="location">
+ <option value="">Default</option>
+ <!-- TMPL_LOOP name="itemlocationloop" -->
+ <option value="<!-- TMPL_VAR name="locval" -->"
<!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR
name="locname" --></option>
+ <!-- /TMPL_LOOP -->
+ </select>
+
+=cut
+sub GetItemLocation {
+# returns a reference to a hash of references to location...
+ my ($fwk)address@hidden;
+ my %itemlocation;
+ my $dbh = C4::Context->dbh;
+ my $sth;
+ $fwk='' unless ($fwk);
+ my
($tag,$subfield)=MARCfind_marc_from_kohafield($dbh,"items.location",$fwk);
+ if ($tag and $subfield){
+ my $sth = $dbh->prepare("select authorised_value from
marc_subfield_structure where tagfield=? and tagsubfield=? and
frameworkcode=?");
+ $sth->execute($tag,$subfield,$fwk);
+ if (my ($authorisedvaluecat)=$sth->fetchrow){
+ my $authvalsth=$dbh->prepare("select authorised_value,
lib from authorised_values where category=? order by lib");
+ $authvalsth->execute($authorisedvaluecat);
+ while (my ($authorisedvalue,
$lib)=$authvalsth->fetchrow){
+ $itemlocation{$authorisedvalue}=$lib;
+ }
+ $authvalsth->finish;
+ return \%itemlocation;
+ exit 1;
+ } else{
+ #No authvalue list
+ # build default
+ }
+ $sth->finish;
+ }
+ #No authvalue list
+ #build default
+ $itemlocation{"1"}="Not For Loan";
+ return \%itemlocation;
+}
sub countitems {
my ($bibitemnum) = @_;
@@ -3219,8 +3345,14 @@
=cut
-# $Id: Biblio.pm,v 1.178.2.9 2006/09/26 07:54:20 hdl Exp $
+# $Id: Biblio.pm,v 1.178.2.10 2006/10/02 09:32:02 hdl Exp $
# $Log: Biblio.pm,v $
+# Revision 1.178.2.10 2006/10/02 09:32:02 hdl
+# Adding GetItemStatus and GetItemLocation function in order to make
serials-receive.pl work.
+#
+# *************WARNING.***************
+# tested for UNIMARC and using 'marcflavour' system preferences to set
defaut_record_format.
+#
# Revision 1.178.2.9 2006/09/26 07:54:20 hdl
# Bug FIX: Correct accents for UNIMARC biblio MARC details.
# (Adding the use of default_record_format in MARCgetbiblio if UNIMARC
marcflavour is chosen. This should be widely used as soon as we use xml records)
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0],
Henri-Damien LAURENT <=
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], paul poulain, 2006/10/11
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], paul poulain, 2006/10/11
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], Antoine Farnault, 2006/10/16
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], Bruno Toumi, 2006/10/19
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], Antoine Farnault, 2006/10/20
- [Koha-cvs] koha/C4 Biblio.pm [rel_3_0], Antoine Farnault, 2006/10/31