WebshopApi: falsche sql update Abhängigkeit
[kivitendo-erp.git] / SL / AM.pm
index 7818fb1..7616edb 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -410,147 +410,6 @@ sub _delete_account {
   return 1;
 }
 
-sub lead {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  my $dbh = SL::DB->client->dbh;
-
-  my $query = qq|SELECT id, lead
-                 FROM leads
-                 ORDER BY 2|;
-
-  my $sth = $dbh->prepare($query);
-  $sth->execute || $form->dberror($query);
-
-  while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
-    push @{ $form->{ALL} }, $ref;
-  }
-
-  $sth->finish;
-
-  $main::lxdebug->leave_sub();
-}
-
-sub get_lead {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  my $dbh = SL::DB->client->dbh;
-
-  my $query =
-    qq|SELECT l.id, l.lead | .
-    qq|FROM leads l | .
-    qq|WHERE l.id = ?|;
-  my $sth = $dbh->prepare($query);
-  $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
-
-  my $ref = $sth->fetchrow_hashref("NAME_lc");
-
-  map { $form->{$_} = $ref->{$_} } keys %$ref;
-
-  $sth->finish;
-
-  $main::lxdebug->leave_sub();
-}
-
-sub save_lead {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-  my ($query);
-
-  my $dbh = SL::DB->client->dbh;
-
-  my @values = ($form->{description});
-  # id is the old record
-  if ($form->{id}) {
-    $query = qq|UPDATE leads SET
-                lead = ?
-                WHERE id = ?|;
-    push(@values, $form->{id});
-  } else {
-    $query = qq|INSERT INTO leads
-                (lead)
-                VALUES (?)|;
-  }
-  do_query($form, $dbh, $query, @values);
-
-  $main::lxdebug->leave_sub();
-}
-
-sub delete_lead {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-  my ($query);
-
-  SL::DB->client->with_transaction(sub {
-    $query = qq|DELETE FROM leads WHERE id = ?|;
-    do_query($form, SL::DB->client->dbh, $query, $form->{id});
-    1;
-  }) or do { die SL::DB->client->error };
-
-  $main::lxdebug->leave_sub();
-}
-
-sub language {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form, $return_list) = @_;
-
-  my $dbh = SL::DB->client->dbh;
-
-  my $query =
-    "SELECT id, description, template_code, article_code, " .
-    "  output_numberformat, output_dateformat, output_longdates " .
-    "FROM language ORDER BY description";
-
-  my $sth = $dbh->prepare($query);
-  $sth->execute || $form->dberror($query);
-
-  my $ary = [];
-
-  while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
-    push(@{ $ary }, $ref);
-  }
-
-  $sth->finish;
-
-  $main::lxdebug->leave_sub();
-
-  if ($return_list) {
-    return @{$ary};
-  } else {
-    $form->{ALL} = $ary;
-  }
-}
-
-sub get_language {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  my $dbh = SL::DB->client->dbh;
-
-  my $query =
-    "SELECT description, template_code, article_code, " .
-    "  output_numberformat, output_dateformat, output_longdates " .
-    "FROM language WHERE id = ?";
-  my $sth = $dbh->prepare($query);
-  $sth->execute($form->{"id"}) || $form->dberror($query . " ($form->{id})");
-
-  my $ref = $sth->fetchrow_hashref("NAME_lc");
-
-  map { $form->{$_} = $ref->{$_} } keys %$ref;
-
-  $sth->finish;
-
-  $main::lxdebug->leave_sub();
-}
-
 sub get_language_details {
   $main::lxdebug->enter_sub();
 
@@ -569,64 +428,6 @@ sub get_language_details {
   return @res;
 }
 
-sub save_language {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  SL::DB->client->with_transaction(sub {
-    my $dbh = SL::DB->client->dbh;
-    my (@values, $query);
-
-    map({ push(@values, $form->{$_}); }
-        qw(description template_code article_code
-           output_numberformat output_dateformat output_longdates));
-
-    # id is the old record
-    if ($form->{id}) {
-      $query =
-        "UPDATE language SET " .
-        "  description = ?, template_code = ?, article_code = ?, " .
-        "  output_numberformat = ?, output_dateformat = ?, " .
-        "  output_longdates = ? " .
-        "WHERE id = ?";
-      push(@values, $form->{id});
-    } else {
-      $query =
-        "INSERT INTO language (" .
-        "  description, template_code, article_code, " .
-        "  output_numberformat, output_dateformat, output_longdates" .
-        ") VALUES (?, ?, ?, ?, ?, ?)";
-    }
-    do_query($form, $dbh, $query, @values);
-    1;
-  }) or do { die SL::DB->client->error };
-
-  $main::lxdebug->leave_sub();
-}
-
-sub delete_language {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-  my $query;
-
-  SL::DB->client->with_transaction(sub {
-    my $dbh = SL::DB->client->dbh;
-
-    foreach my $table (qw(generic_translations units_language)) {
-      $query = qq|DELETE FROM $table WHERE language_id = ?|;
-      do_query($form, $dbh, $query, $form->{"id"});
-    }
-
-    $query = "DELETE FROM language WHERE id = ?";
-    do_query($form, $dbh, $query, $form->{"id"});
-    1;
-  }) or do { die SL::DB->client->error };
-
-  $main::lxdebug->leave_sub();
-}
-
 sub prepare_template_filename {
   $main::lxdebug->enter_sub();
 
@@ -634,30 +435,24 @@ sub prepare_template_filename {
 
   my ($filename, $display_filename);
 
-  if ($form->{type} eq "stylesheet") {
-    $filename = "css/$myconfig->{stylesheet}";
-    $display_filename = $myconfig->{stylesheet};
-
-  } else {
-    $filename = $form->{formname};
+  $filename = $form->{formname};
 
-    if ($form->{language}) {
-      my ($id, $template_code) = split(/--/, $form->{language});
-      $filename .= "_${template_code}";
-    }
+  if ($form->{language}) {
+    my ($id, $template_code) = split(/--/, $form->{language});
+    $filename .= "_${template_code}";
+  }
 
-    if ($form->{printer}) {
-      my ($id, $template_code) = split(/--/, $form->{printer});
-      $filename .= "_${template_code}";
-    }
+  if ($form->{printer}) {
+    my ($id, $template_code) = split(/--/, $form->{printer});
+    $filename .= "_${template_code}";
+  }
 
-    $filename .= "." . ($form->{format} eq "html" ? "html" : "tex");
-    if ($form->{"formname"} =~ m|\.\.| || $form->{"formname"} =~ m|^/|) {
-      $filename =~ s|.*/||;
-    }
-    $display_filename = $filename;
-    $filename = SL::DB::Default->get->templates . "/$filename";
+  $filename .= "." . ($form->{format} eq "html" ? "html" : "tex");
+  if ($form->{"formname"} =~ m|\.\.| || $form->{"formname"} =~ m|^/|) {
+    $filename =~ s|.*/||;
   }
+  $display_filename = $filename;
+  $filename = SL::DB::Default->get->templates . "/$filename";
 
   $main::lxdebug->leave_sub();
 
@@ -1378,76 +1173,6 @@ sub delete_tax {
   $main::lxdebug->leave_sub();
 }
 
-sub save_price_factor {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  SL::DB->client->with_transaction(sub {
-    my $dbh = SL::DB->client->dbh;
-
-    my $query;
-    my @values = ($form->{description}, conv_i($form->{factor}));
-
-    if ($form->{id}) {
-      $query = qq|UPDATE price_factors SET description = ?, factor = ? WHERE id = ?|;
-      push @values, conv_i($form->{id});
-
-    } else {
-      $query = qq|INSERT INTO price_factors (description, factor, sortkey) VALUES (?, ?, (SELECT COALESCE(MAX(sortkey), 0) + 1 FROM price_factors))|;
-    }
-
-    do_query($form, $dbh, $query, @values);
-    1;
-  }) or do { die SL::DB->client->error };
-
-  $main::lxdebug->leave_sub();
-}
-
-sub get_all_price_factors {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  my $dbh = SL::DB->client->dbh;
-
-  $form->{PRICE_FACTORS} = selectall_hashref_query($form, $dbh, qq|SELECT * FROM price_factors ORDER BY sortkey|);
-
-  $main::lxdebug->leave_sub();
-}
-
-sub get_price_factor {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  # connect to database
-  my $dbh = SL::DB->client->dbh;
-
-  my $query = qq|SELECT description, factor,
-                   ((SELECT COUNT(*) FROM parts      WHERE price_factor_id = ?) +
-                    (SELECT COUNT(*) FROM invoice    WHERE price_factor_id = ?) +
-                    (SELECT COUNT(*) FROM orderitems WHERE price_factor_id = ?)) = 0 AS orphaned
-                 FROM price_factors WHERE id = ?|;
-
-  ($form->{description}, $form->{factor}, $form->{orphaned}) = selectrow_query($form, $dbh, $query, (conv_i($form->{id})) x 4);
-
-  $main::lxdebug->leave_sub();
-}
-
-sub delete_price_factor {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  SL::DB->client->with_transaction(sub {
-    do_query($form, SL::DB->client->dbh, qq|DELETE FROM price_factors WHERE id = ?|, conv_i($form->{id}));
-    1;
-  }) or do { die SL::DB->client->error };
-
-  $main::lxdebug->leave_sub();
-}
-
 sub save_warehouse {
   $main::lxdebug->enter_sub();
 
@@ -1593,4 +1318,22 @@ SQL
   $main::lxdebug->leave_sub();
 }
 
+sub get_eur_categories {
+  my ($self, $myconfig, $form) = @_;
+
+  my $dbh = SL::DB->client->dbh;
+  my %eur_categories = selectall_as_map($form, $dbh, "select * from eur_categories order by id", 'id', 'description');
+
+  return \%eur_categories;
+}
+
+sub get_bwa_categories {
+  my ($self, $myconfig, $form) = @_;
+
+  my $dbh = SL::DB->client->dbh;
+  my %bwa_categories = selectall_as_map($form, $dbh, "select * from bwa_categories order by id", 'id', 'description');
+
+  return \%bwa_categories;
+}
+
 1;