Merge remote branch 'kc/master' into new/enh/bug_5917
[koha_gimpoz] / C4 / Branch.pm
index 18177ec..1f26e35 100644 (file)
@@ -17,6 +17,7 @@ package C4::Branch;
 
 
 use strict;
+#use warnings; FIXME - Bug 2505
 require Exporter;
 use C4::Context;
 use C4::Koha;
@@ -44,6 +45,8 @@ BEGIN {
                &ModBranchCategoryInfo
                &DelBranch
                &DelBranchCategory
+               &CheckCategoryUnique
+               &mybranch
        );
        @EXPORT_OK = qw( &onlymine &mybranch get_branch_code_from_name );
 }
@@ -66,11 +69,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;
@@ -156,7 +160,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, 
@@ -525,20 +529,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);
@@ -586,6 +612,6 @@ __END__
 
 =head1 AUTHOR
 
-Koha Developement team <info@koha.org>
+Koha Development Team <http://koha-community.org/>
 
 =cut