From 24b5fab8335d56967823674c6adb931787aa64d2 Mon Sep 17 00:00:00 2001 From: tipaul Date: Tue, 3 Jul 2007 08:48:14 +0000 Subject: [PATCH] do not use REPLACE in SQL statements : it is not standard SQL, and don't work with integrity contraints : it's a delete/insert, not an UPDATE if the row exist. fixes the problem for borrower categories --- admin/categorie.pl | 14 ++++++++++---- .../intranet-tmpl/prog/en/admin/categorie.tmpl | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/admin/categorie.pl b/admin/categorie.pl index b6f4a022c8..d2d9dd01b8 100755 --- a/admin/categorie.pl +++ b/admin/categorie.pl @@ -111,10 +111,17 @@ if ($op eq 'add_form') { # called by add_form, used to insert/modify data in DB } elsif ($op eq 'add_validate') { $template->param(add_validate => 1); + my $is_a_modif = $input->param("is_a_modif"); my $dbh = C4::Context->dbh; - my $sth=$dbh->prepare("replace categories (categorycode,description,enrolmentperiod,upperagelimit,dateofbirthrequired,enrolmentfee,reservefee,overduenoticerequired,category_type) values (?,?,?,?,?,?,?,?,?)"); - $sth->execute(map { $input->param($_) } ('categorycode','description','enrolmentperiod','upperagelimit','dateofbirthrequired','enrolmentfee','reservefee','overduenoticerequired','category_type')); - $sth->finish; + if ($is_a_modif) { + my $sth=$dbh->prepare("UPDATE categories SET description=?,enrolmentperiod=?,upperagelimit=?,dateofbirthrequired=?,enrolmentfee=?,reservefee=?,overduenoticerequired=?,category_type=? WHERE categorycode=?"); + $sth->execute(map { $input->param($_) } ('description','enrolmentperiod','upperagelimit','dateofbirthrequired','enrolmentfee','reservefee','overduenoticerequired','category_type','categorycode')); + $sth->finish; + } else { + my $sth=$dbh->prepare("INSERT INTO categories (categorycode,description,enrolmentperiod,upperagelimit,dateofbirthrequired,enrolmentfee,reservefee,overduenoticerequired,category_type) values (?,?,?,?,?,?,?,?,?)"); + $sth->execute(map { $input->param($_) } ('categorycode','description','enrolmentperiod','upperagelimit','dateofbirthrequired','enrolmentfee','reservefee','overduenoticerequired','category_type')); + $sth->finish; + } print "Content-Type: text/html\n\n"; exit; @@ -181,7 +188,6 @@ if ($op eq 'add_form') { category_type => $results->[$i]{'category_type'}, "type_".$results->[$i]{'category_type'} => 1, toggle => $toggle ); - warn "ICI". $results->[$i]{'category_type'}; push @loop, \%row; if ( $toggle eq 0 ) { diff --git a/koha-tmpl/intranet-tmpl/prog/en/admin/categorie.tmpl b/koha-tmpl/intranet-tmpl/prog/en/admin/categorie.tmpl index 40759f8607..ee2a1c30cb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/admin/categorie.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/admin/categorie.tmpl @@ -87,7 +87,7 @@ + " /> -- 2.20.1
Category code - " />
Category code