[Koha-cvs] Changes to koha/C4/Koha.pm [rel_2_2]

Henri-Damien LAURENT laurenthdl at alinto.com
Mon Nov 21 18:10:39 CET 2005


Index: koha/C4/Koha.pm
diff -u koha/C4/Koha.pm:1.22.2.1 koha/C4/Koha.pm:1.22.2.2
--- koha/C4/Koha.pm:1.22.2.1	Wed Sep 28 14:35:57 2005
+++ koha/C4/Koha.pm	Mon Nov 21 17:10:37 2005
@@ -60,7 +60,8 @@
 			&getitemtypes &getitemtypeinfo
 			&getframeworks &getframeworkinfo
 			&getauthtypes &getauthtype
-			&getallthemes &getalllanguages 
+			&getallthemes &getalllanguages
+			&getallbranches
 			$DEBUG);
 
 use vars qw();
@@ -173,6 +174,8 @@
   $branches = &getbranches();
   returns informations about branches.
   Create a branch selector with the following code
+  Is branchIndependant sensitive
+   When IndependantBranches is set AND user is not superlibrarian, displays only user's branch
   
 =head3 in PERL SCRIPT
 
@@ -211,6 +214,64 @@
 	} else {
     	$sth = $dbh->prepare("Select * from branches order by branchname");
 	}
+	$sth->execute;
+	while (my $branch=$sth->fetchrow_hashref) {
+		my $nsth = $dbh->prepare("select categorycode from branchrelations where branchcode = ?");
+		$nsth->execute($branch->{'branchcode'});
+		while (my ($cat) = $nsth->fetchrow_array) {
+			# FIXME - This seems wrong. It ought to be
+			# $branch->{categorycodes}{$cat} = 1;
+			# otherwise, there's a namespace collision if there's a
+			# category with the same name as a field in the 'branches'
+			# table (i.e., don't create a category called "issuing").
+			# In addition, the current structure doesn't really allow
+			# you to list the categories that a branch belongs to:
+			# you'd have to list keys %$branch, and remove those keys
+			# that aren't fields in the "branches" table.
+			$branch->{$cat} = 1;
+			}
+			$branches{$branch->{'branchcode'}}=$branch;
+	}
+	return (\%branches);
+}
+
+=head2 getallbranches
+
+  $branches = &getallbranches();
+  returns informations about ALL branches.
+  Create a branch selector with the following code
+  IndependantBranches Insensitive...
+  
+=head3 in PERL SCRIPT
+
+my $branches = getallbranches;
+my @branchloop;
+foreach my $thisbranch (keys %$branches) {
+	my $selected = 1 if $thisbranch eq $branch;
+	my %row =(value => $thisbranch,
+				selected => $selected,
+				branchname => $branches->{$thisbranch}->{'branchname'},
+			);
+	push @branchloop, \%row;
+}
+
+
+=head3 in TEMPLATE  
+			<select name="branch">
+				<option value="">Default</option>
+			<!-- TMPL_LOOP name="branchloop" -->
+				<option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="branchname" --></option>
+			<!-- /TMPL_LOOP -->
+			</select>
+
+=cut
+
+sub getallbranches {
+# returns a reference to a hash of references to ALL branches...
+	my %branches;
+	my $dbh = C4::Context->dbh;
+	my $sth;
+   	$sth = $dbh->prepare("Select * from branches order by branchname");
 	$sth->execute;
 	while (my $branch=$sth->fetchrow_hashref) {
 		my $nsth = $dbh->prepare("select categorycode from branchrelations where branchcode = ?");





More information about the Koha-cvs mailing list