do not use REPLACE in SQL statements : it is not standard SQL, and don't work with...
authortipaul <tipaul>
Tue, 3 Jul 2007 08:48:14 +0000 (08:48 +0000)
committertipaul <tipaul>
Tue, 3 Jul 2007 08:48:14 +0000 (08:48 +0000)
admin/categorie.pl
koha-tmpl/intranet-tmpl/prog/en/admin/categorie.tmpl

index b6f4a02..d2d9dd0 100755 (executable)
@@ -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<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=categorie.pl\"></html>";
        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 )
                {
index 40759f8..ee2a1c3 100644 (file)
@@ -87,7 +87,7 @@
        <table>
        <!-- TMPL_IF NAME="categorycode" -->
        <tr><th>Category code</th><td><!-- TMPL_VAR NAME="categorycode" -->
-                               <input type="hidden" name="categorycode" value="<!-- TMPL_VAR NAME="categorycode" -->" /></td></tr>
+                               <input type="hidden" name="categorycode" value="<!-- TMPL_VAR NAME="categorycode" -->" /><input type="hidden" name="is_a_modif" value="1" /></td></tr>
        <!-- TMPL_ELSE -->
        <tr><th>Category code</th><td><input type="text" name="categorycode" size="10" maxlength="10" onblur="toUC(this)" /></td></tr>
        <!-- /TMPL_IF -->