koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/admin aqbookfund.pl


From: Antoine Farnault
Subject: [Koha-cvs] koha/admin aqbookfund.pl
Date: Mon, 31 Jul 2006 15:56:06 +0000

CVSROOT:        /sources/koha
Module name:    koha
Changes by:     Antoine Farnault <toins>        06/07/31 15:56:06

Modified files:
        admin          : aqbookfund.pl 

Log message:
        POD added, Call to Bookfund.pm added, SQL code movde in Bookfund.pm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/admin/aqbookfund.pl?cvsroot=koha&r1=1.28&r2=1.29

Patches:
Index: aqbookfund.pl
===================================================================
RCS file: /sources/koha/koha/admin/aqbookfund.pl,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- aqbookfund.pl       21 Jul 2006 10:17:13 -0000      1.28
+++ aqbookfund.pl       31 Jul 2006 15:56:06 -0000      1.29
@@ -1,24 +1,6 @@
 #!/usr/bin/perl
 
-#script to administer the aqbudget table
 #written 20/02/2002 by address@hidden
-# This software is placed under the gnu General Public License, v2 
(http://www.gnu.org/licenses/gpl.html)
-
-# ALGO :
-# this script use an $op to know what to do.
-# if $op is empty or none of the above values,
-#      - the default screen is build (with all records, or filtered datas).
-#      - the   user can clic on add, modify or delete record.
-# if $op=add_form
-#      - if primkey exists, this is a modification,so we read the $primkey 
record
-#      - builds the add/modify form
-# if $op=add_validate
-#      - the user has just send datas, so we create/modify the record
-# if $op=delete_form
-#      - we show the record having primkey=$primkey and ask for deletion 
validation form
-# if $op=delete_confirm
-#      - we delete the record having primkey=$primkey
-
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -37,15 +19,45 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
+
+=head1 NAME
+
+aqbookfund.pl
+
+=head1 DESCRIPTION
+
+script to administer the aqbudget table.
+
+=head1 CGI PARAMETERS
+
+=over 4
+
+=item op
+this script use an C<$op> to know what to do.
+C<op> can be equal to:
+* empty or none of the above values, then
+    - the default screen is build (with all records, or filtered datas).
+       - the   user can clic on add, modify or delete record.
+* add_form, then
+       - if primkey exists, this is a modification,so we read the $primkey 
record
+       - builds the add/modify form
+* add_validate, then
+       - the user has just send datas, so we create/modify the record
+* delete_form, then
+       - we show the record having primkey=$primkey and ask for deletion 
validation form
+* delete_confirm, then
+    - we delete the record having primkey=$primkey
+
+=cut
+
 use strict;
 use CGI;
 use HTML::Template;
 use List::Util qw/min/;
-
 use C4::Auth;
 use C4::Koha;
 use C4::Context;
-use C4::Acquisition;
+use C4::Bookfund;
 use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Search;
@@ -81,10 +93,6 @@
 }
 $template->param(action => $script_name);
 
-# my @branches;
-# my @select_branch;
-# my %select_branches;
-
 my $branches = GetBranches;
 
 ################## ADD_FORM ##################################
@@ -94,18 +102,7 @@
        my $dataaqbookfund;
        my $header;
        if ($bookfundid) {
-                my $query = '
-SELECT bookfundid,
-       bookfundname,
-       bookfundgroup,
-       branchcode
-  FROM aqbookfund
-  WHERE bookfundid = ?
-';
-               my $sth=$dbh->prepare($query);
-               $sth->execute($bookfundid);
-               $dataaqbookfund = $sth->fetchrow_hashref;
-               $sth->finish;
+       $dataaqbookfund = GetBookFund($bookfundid);
            }
        if ($bookfundid) {
            $header = "Modify book fund";
@@ -149,88 +146,46 @@
 elsif ($op eq 'add_validate') {
        my $bookfundid = uc $input->param('bookfundid');
 
-        my ($query, $sth);
+    my $number = Countbookfund($bookfundid);
 
-        $query = '
-SELECT COUNT(*) AS counter
-  FROM aqbookfund
-  WHERE bookfundid = ?
-';
-        $sth=$dbh->prepare($query);
-       $sth->execute($bookfundid);
-        my $data = $sth->fetchrow_hashref;
-       $sth->finish;
-        my $bookfund_already_exists = $data->{counter} > 0 ? 1 : 0;
+    my $bookfund_already_exists = $number > 0 ? 1 : 0;
 
         if ($bookfund_already_exists) {
-            $query = '
-UPDATE aqbookfund
-  SET bookfundname = ?,
-      branchcode = ?
-  WHERE bookfundid = ?
-';
-            $sth=$dbh->prepare($query);
-            $sth->execute(
-                $input->param('bookfundname'),
-                $input->param('branchcode') || undef,
-                $bookfundid,
-            );
-            $sth->finish;
+        my $bookfundname = $input->param('bookfundname');
+        my $branchcode = $input->param('branchcode') || undef;
 
-            # budgets depending on a bookfund must have the same branchcode
-            # if the bookfund branchcode is set
-            if (defined $input->param('branchcode')) {
-                $query = '
-UPDATE aqbudget
-  SET branchcode = ?
-';
-                $sth=$dbh->prepare($query);
-                $sth->execute($input->param('branchcode'));
-                $sth->finish;
-            }
+        ModBookFund($bookfundname,$branchcode,$bookfundid);
         }
         else {
-            $query = '
-INSERT
-  INTO aqbookfund
-  (bookfundid, bookfundname, branchcode)
-  VALUES
-  (?, ?, ?)
-';
-            $sth=$dbh->prepare($query);
-            $sth->execute(
+        NewBookFund(
                 $bookfundid,
                 $input->param('bookfundname'),
-                $input->param('branchcode') || undef,
+            $input->param('branchcode')
             );
-            $sth->finish;
         }
-
         $input->redirect('aqbookfund.pl');
-                                                                               
# END $OP eq ADD_VALIDATE
+# END $OP eq ADD_VALIDATE
+}
 ################## DELETE_CONFIRM ##################################
 # called by default form, used to confirm deletion of data in DB
-} elsif ($op eq 'delete_confirm') {
-       my $sth=$dbh->prepare("select bookfundid,bookfundname,bookfundgroup 
from aqbookfund where bookfundid=?");
-       $sth->execute($bookfundid);
-       my $data=$sth->fetchrow_hashref;
-       $sth->finish;
+
+elsif ($op eq 'delete_confirm') {
+    my $data = GetBookFund($bookfundid);
        $template->param(bookfundid => $bookfundid);
        $template->param(bookfundname => $data->{'bookfundname'});
-                                                                               
                        # END $OP eq DELETE_CONFIRM
+} # END $OP eq DELETE_CONFIRM
+
+
 ################## DELETE_CONFIRMED ##################################
 # called by delete_confirm, used to effectively confirm deletion of data in DB
-} elsif ($op eq 'delete_confirmed') {
-       my $bookfundid=uc($input->param('bookfundid'));
-       my $sth=$dbh->prepare("delete from aqbookfund where bookfundid=?");
-       $sth->execute($bookfundid);
-       $sth->finish;
-       $sth=$dbh->prepare("delete from aqbudget where bookfundid=?");
-       $sth->execute($bookfundid);
-       $sth->finish;
-                                                                               
                        # END $OP eq DELETE_CONFIRMED
+elsif ($op eq 'delete_confirmed') {
+    DelBookFund(uc($input->param('bookfundid')));
+
+}# END $OP eq DELETE_CONFIRMED
+
+
 ################## DEFAULT ##################################
-} else { # DEFAULT
+else { # DEFAULT
     my ($query, $sth);
 
     $template->param(scriptname => $script_name);
@@ -252,21 +207,14 @@
     }
 
     my @bookfundids_loop;
-    $query = '
-SELECT bookfundid
-  FROM aqbookfund
-';
-    $sth = $dbh->prepare($query);
-    $sth->execute();
+    my $sth = GetBookFundsId();
+
     while (my $row = $sth->fetchrow_hashref) {
-        if (defined $input->param('filter_bookfundid')
-            and $input->param('filter_bookfundid') eq $row->{bookfundid}) {
+        if (defined $input->param('filter_bookfundid') and 
$input->param('filter_bookfundid') eq $row->{bookfundid}){
             $row->{selected} = 1;
         }
-
         push @bookfundids_loop, $row;
     }
-    $sth->finish;
 
     $template->param(
         filter_bookfundids => address@hidden,
@@ -275,58 +223,24 @@
     );
 
     # searching the bookfunds corresponding to our filtering rules
-    my @bindings;
+    my @results = SearchBookFund(
+        $input->param('filter'),
+        $input->param('filter_bookfundid'),
+        $input->param('filter_bookfundname'),
+        $input->param('filter_branchcode'),
+    );
 
-    $query = '
-SELECT bookfundid,
-       bookfundname,
-       bookfundgroup,
-       branchcode
-  FROM aqbookfund
-  WHERE 1 = 1';
-    if ($input->param('filter')) {
-        if ($input->param('filter_bookfundid')) {
-            $query.= '
-    AND bookfundid = ?
-';
-            push @bindings, $input->param('filter_bookfundid');
-        }
-        if ($input->param('filter_bookfundname')) {
-            $query.= '
-    AND bookfundname like ?
-';
-            push @bindings, '%'.$input->param('filter_bookfundname').'%';
-        }
-        if ($input->param('filter_branchcode')) {
-            $query.= '
-    AND branchcode = ?
-';
-            push @bindings, $input->param('filter_branchcode');
-        }
-    }
-    $query.= '
-  ORDER BY bookfundid
-';
-
-    $sth = $dbh->prepare($query);
-    $sth->execute(@bindings);
-    my @results;
-    while (my $row = $sth->fetchrow_hashref) {
-        push @results, $row;
+    # does the book funds have budgets?
+    my @loop_id;
+    my $sth = GetBookFundsId();
+    while (my $row = $sth->fetchrow){
+        push @loop_id, $row;
     }
 
-    # does the book funds have budgets?
-    $query = '
-SELECT bookfundid,
-       COUNT(*) AS counter
-  FROM aqbudget
-  GROUP BY bookfundid
-';
-    $sth = $dbh->prepare($query);
-    $sth->execute();
-    my %nb_budgets_of;
-    while (my $row = $sth->fetchrow_hashref) {
-        $nb_budgets_of{ $row->{bookfundid} } = $row->{counter};
+    my ($id,%nb_budgets_of);
+    foreach $id (@loop_id){
+        my $number = Countbookfund($id);
+        $nb_budgets_of{$id} = $number;
     }
 
     # pagination informations
@@ -366,8 +280,10 @@
         )
     );
 } #---- END $OP eq DEFAULT
-$template->param(intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+$template->param(
+    intranetcolorstylesheet 
=>C4::Context->preference("intranetcolorstylesheet"),
                intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
                IntranetNav => C4::Context->preference("IntranetNav"),
                );
+
 output_html_with_http_headers $input, $cookie, $template->output;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]