Head & rel_2_2 merged
[koha-ffzg.git] / admin / currency.pl
index fb74712..f78f0e6 100755 (executable)
@@ -68,9 +68,6 @@ sub StringSearch  {
 
 my $input = new CGI;
 my $searchfield=$input->param('searchfield');
-my $pkfield="currency";
-my $reqsel="select currency,rate from currency where $pkfield='$searchfield'";
-my $reqdel="delete from currency where $pkfield='$searchfield'";
 #my $branchcode=$input->param('branchcode');
 my $offset=$input->param('offset');
 my $script_name="/cgi-bin/koha/admin/currency.pl";
@@ -80,10 +77,11 @@ my $op = $input->param('op');
 $searchfield=~ s/\,//g;
 
 my ($template, $loggedinuser, $cookie) 
-    = get_template_and_user({template_name => "parameters/currency.tmpl",
+    = get_template_and_user({template_name => "admin/currency.tmpl",
                              query => $input,
                              type => "intranet",
-                             authnotrequired => 0,
+                            flagsrequired => {parameters => 1, management => 1},
+                            authnotrequired => 0,
                              debug => 1,
                              });
 
@@ -99,8 +97,8 @@ if ($op eq 'add_form') {
        my $data;
        if ($searchfield) {
                my $dbh = C4::Context->dbh;
-               my $sth=$dbh->prepare("select currency,rate from currency where currency='$searchfield'");
-               $sth->execute;
+               my $sth=$dbh->prepare("select currency,rate from currency where currency=?");
+               $sth->execute($searchfield);
                $data=$sth->fetchrow_hashref;
                $sth->finish;
        }
@@ -113,24 +111,35 @@ if ($op eq 'add_form') {
 } elsif ($op eq 'add_validate') {
        $template->param(add_validate => 1);
        my $dbh = C4::Context->dbh;
-       my $query = "replace currency (currency,rate) values (";
-       $query.= $dbh->quote($input->param('currency')).",";
-       $query.= $dbh->quote($input->param('rate')).")";
-       my $sth=$dbh->prepare($query);
-       $sth->execute;
-       $sth->finish;
+
+       my $check = $dbh->prepare("select * from currency where currency = ?");
+       $check->execute($input->param('currency'));
+       if ( $check->fetchrow )
+       {
+               my $sth = $dbh->prepare("UPDATE currency SET rate = ? WHERE currency = ?");
+               $sth->execute($input->param('rate'),$input->param('currency'));
+               $sth->finish;
+       }
+       else
+       {
+               my $sth = $dbh->prepare("INSERT INTO currency (currency, rate) VALUES (?,?)");
+               $sth->execute($input->param('currency'),$input->param('rate'));
+               $sth->finish;
+       }        
+
+       $check->finish;
                                                                                                        # END $OP eq ADD_VALIDATE
 ################## DELETE_CONFIRM ##################################
 # called by default form, used to confirm deletion of data in DB
 } elsif ($op eq 'delete_confirm') {
        $template->param(delete_confirm => 1);
        my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare("select count(*) as total from aqbooksellers where currency='$searchfield'");
-       $sth->execute;
+       my $sth=$dbh->prepare("select count(*) as total from aqbooksellers where currency=?");
+       $sth->execute($searchfield);
        my $total = $sth->fetchrow_hashref;
        $sth->finish;
-       my $sth2=$dbh->prepare($reqsel);
-       $sth2->execute;
+       my $sth2=$dbh->prepare("select currency,rate from currency where currency=?");
+       $sth2->execute($searchfield);
        my $data=$sth2->fetchrow_hashref;
        $sth2->finish;
 
@@ -146,8 +155,8 @@ if ($op eq 'add_form') {
 } elsif ($op eq 'delete_confirmed') {
        $template->param(delete_confirmed => 1);
        my $dbh = C4::Context->dbh;
-       my $sth=$dbh->prepare($reqdel);
-       $sth->execute;
+       my $sth=$dbh->prepare("delete from currency where currency=?");
+       $sth->execute($searchfield);
        $sth->finish;
                                                                                                        # END $OP eq DELETE_CONFIRMED
 ################## DEFAULT ##################################
@@ -185,6 +194,9 @@ if ($op eq 'add_form') {
                                 nextpage => $offset+$pagesize);
        }
 } #---- END $OP eq DEFAULT
-
+$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;