X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FBranch.pm;h=7bd03264b7228a12d7a5683802265452d346ae8a;hb=3b0d4e04e09f37e8dcbaba71abd47980bfef7059;hp=35424d7fcf3ca384d3e0973cd5aa30d6440ec8fe;hpb=4677ae739015f062ad2db5f9aa49b5c05628ec5f;p=koha_gimpoz diff --git a/C4/Branch.pm b/C4/Branch.pm index 35424d7fcf..7bd03264b7 100644 --- a/C4/Branch.pm +++ b/C4/Branch.pm @@ -17,9 +17,9 @@ package C4::Branch; use strict; +#use warnings; FIXME - Bug 2505 require Exporter; use C4::Context; -use C4::Koha; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); @@ -44,8 +44,10 @@ BEGIN { &ModBranchCategoryInfo &DelBranch &DelBranchCategory + &CheckCategoryUnique + &mybranch ); - @EXPORT_OK = qw( &onlymine &mybranch ); + @EXPORT_OK = qw( &onlymine &mybranch get_branch_code_from_name ); } =head1 NAME @@ -66,11 +68,12 @@ The functions in this module deal with branches. $branches = &GetBranches(); - Returns informations about ALL branches, IndependantBranches Insensitive. - GetBranchInfo() returns the same information without the problems of this function - (namespace collision, mainly). - Create a branch selector with the following code. - +Returns informations about ALL branches, IndependantBranches Insensitive. +GetBranchInfo() returns the same information without the problems of this function +(namespace collision, mainly). + +Create a branch selector with the following code. + =head3 in PERL SCRIPT my $branches = GetBranches; @@ -141,7 +144,7 @@ sub onlymine { return C4::Context->preference('IndependantBranches') && C4::Context->userenv && - C4::Context->userenv->{flags}!=1 && + C4::Context->userenv->{flags} %2 != 1 && C4::Context->userenv->{branch} ; } @@ -156,7 +159,7 @@ sub GetBranchesLoop (;$$) { # since this is what most pages want anyway my $onlymine = @_ ? shift : onlymine(); my $branches = GetBranches($onlymine); my @loop; - foreach (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) { + foreach ( sort { uc($branches->{$a}->{branchname}) cmp uc($branches->{$b}->{branchname}) } keys %$branches ) { push @loop, { value => $_, selected => ($_ eq $branch) ? 1 : 0, @@ -199,34 +202,45 @@ sub ModBranch { my $query = " INSERT INTO branches (branchcode,branchname,branchaddress1, - branchaddress2,branchaddress3,branchphone, - branchfax,branchemail,branchip,branchprinter) - VALUES (?,?,?,?,?,?,?,?,?,?) + branchaddress2,branchaddress3,branchzip,branchcity,branchstate, + branchcountry,branchphone,branchfax,branchemail, + branchurl,branchip,branchprinter,branchnotes) + VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) "; my $sth = $dbh->prepare($query); $sth->execute( $data->{'branchcode'}, $data->{'branchname'}, $data->{'branchaddress1'}, $data->{'branchaddress2'}, - $data->{'branchaddress3'}, $data->{'branchphone'}, - $data->{'branchfax'}, $data->{'branchemail'}, + $data->{'branchaddress3'}, $data->{'branchzip'}, + $data->{'branchcity'}, $data->{'branchstate'}, + $data->{'branchcountry'}, + $data->{'branchphone'}, $data->{'branchfax'}, + $data->{'branchemail'}, $data->{'branchurl'}, $data->{'branchip'}, $data->{'branchprinter'}, + $data->{'branchnotes'}, ); return 1 if $dbh->err; } else { my $query = " UPDATE branches SET branchname=?,branchaddress1=?, - branchaddress2=?,branchaddress3=?,branchphone=?, - branchfax=?,branchemail=?,branchip=?,branchprinter=? + branchaddress2=?,branchaddress3=?,branchzip=?, + branchcity=?,branchstate=?,branchcountry=?,branchphone=?, + branchfax=?,branchemail=?,branchurl=?,branchip=?, + branchprinter=?,branchnotes=? WHERE branchcode=? "; my $sth = $dbh->prepare($query); $sth->execute( $data->{'branchname'}, $data->{'branchaddress1'}, $data->{'branchaddress2'}, - $data->{'branchaddress3'}, $data->{'branchphone'}, - $data->{'branchfax'}, $data->{'branchemail'}, + $data->{'branchaddress3'}, $data->{'branchzip'}, + $data->{'branchcity'}, $data->{'branchstate'}, + $data->{'branchcountry'}, + $data->{'branchphone'}, $data->{'branchfax'}, + $data->{'branchemail'}, $data->{'branchurl'}, $data->{'branchip'}, $data->{'branchprinter'}, + $data->{'branchnotes'}, $data->{'branchcode'}, ); } @@ -379,51 +393,20 @@ sub GetBranch ($$) { =head2 GetBranchDetail - $branchname = &GetBranchDetail($branchcode); + $branch = &GetBranchDetail($branchcode); -Given the branch code, the function returns the corresponding -branch name for a comprehensive information display +Given the branch code, the function returns a +hashref for the corresponding row in the branches table. =cut sub GetBranchDetail { - my ($branchcode) = @_; - my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare("SELECT * FROM branches WHERE branchcode = ?"); + my ($branchcode) = shift or return; + my $sth = C4::Context->dbh->prepare("SELECT * FROM branches WHERE branchcode = ?"); $sth->execute($branchcode); - my $branchname = $sth->fetchrow_hashref(); - $sth->finish(); - return $branchname; + return $sth->fetchrow_hashref(); } -=head2 get_branchinfos_of - - my $branchinfos_of = get_branchinfos_of(@branchcodes); - -Associates a list of branchcodes to the information of the branch, taken in -branches table. - -Returns a href where keys are branchcodes and values are href where keys are -branch information key. - - print 'branchname is ', $branchinfos_of->{$code}->{branchname}; - -=cut - -sub get_branchinfos_of { - my @branchcodes = @_; - - my $query = ' - SELECT branchcode, - branchname - FROM branches - WHERE branchcode IN (' - . join( ',', map( { "'" . $_ . "'" } @branchcodes ) ) . ') -'; - return C4::Koha::get_infos_of( $query, 'branchcode' ); -} - - =head2 GetBranchesInCategory my $branches = GetBranchesInCategory($categorycode); @@ -519,20 +502,42 @@ sets the data from the editbranch form, and writes to the database... sub ModBranchCategoryInfo { my ($data) = @_; my $dbh = C4::Context->dbh; - if ($data->{'add'}){ - # we are doing an insert - my $sth = $dbh->prepare("INSERT INTO branchcategories (categorycode,categoryname,codedescription,categorytype) VALUES (?,?,?,?)"); - $sth->execute(uc( $data->{'categorycode'} ),$data->{'categoryname'}, $data->{'codedescription'},$data->{'categorytype'} ); - $sth->finish(); - } - else { - # modifying - my $sth = $dbh->prepare("UPDATE branchcategories SET categoryname=?,codedescription=?,categorytype=? WHERE categorycode=?"); - $sth->execute($data->{'categoryname'}, $data->{'codedescription'},$data->{'categorytype'},uc( $data->{'categorycode'} ) ); - $sth->finish(); - } + if ($data->{'add'}){ + # we are doing an insert + my $sth = $dbh->prepare("INSERT INTO branchcategories (categorycode,categoryname,codedescription,categorytype) VALUES (?,?,?,?)"); + $sth->execute(uc( $data->{'categorycode'} ),$data->{'categoryname'}, $data->{'codedescription'},$data->{'categorytype'} ); + $sth->finish(); + } + else { + # modifying + my $sth = $dbh->prepare("UPDATE branchcategories SET categoryname=?,codedescription=?,categorytype=? WHERE categorycode=?"); + $sth->execute($data->{'categoryname'}, $data->{'codedescription'},$data->{'categorytype'},uc( $data->{'categorycode'} ) ); + $sth->finish(); + } } +=head2 CheckCategoryUnique + +if (CheckCategoryUnique($categorycode)){ + # do something +} + +=cut + +sub CheckCategoryUnique { + my $categorycode = shift; + my $dbh = C4::Context->dbh; + my $sth = $dbh->prepare("SELECT categorycode FROM branchcategories WHERE categorycode = ?"); + $sth->execute(uc( $categorycode) ); + if (my $data = $sth->fetchrow_hashref){ + return 0; + } + else { + return 1; + } +} + + =head2 DeleteBranchCategory DeleteBranchCategory($categorycode); @@ -566,11 +571,20 @@ sub CheckBranchCategorycode { return $total; } +sub get_branch_code_from_name { + my @branch_name = @_; + my $query = "SELECT branchcode FROM branches WHERE branchname=?;"; + my $dbh = C4::Context->dbh(); + my $sth = $dbh->prepare($query); + $sth->execute(@branch_name); + return $sth->fetchrow_array; +} + 1; __END__ =head1 AUTHOR -Koha Developement team +Koha Development Team =cut