return 1;
}
-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();
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();
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();
map { $form->{$_} = $ref->{$_} } keys %{ $ref };
$query = <<SQL;
- SELECT b.*,
- ( EXISTS(SELECT i.bin_id FROM inventory i WHERE i.bin_id = b.id LIMIT 1)
- OR EXISTS(SELECT p.bin_id FROM parts p WHERE p.bin_id = b.id LIMIT 1))
- AS in_use
- FROM bin b
- WHERE b.warehouse_id = ?
+ SELECT b.*, use.in_use
+ FROM bin b
+ LEFT JOIN (
+ SELECT DISTINCT bin_id, TRUE AS in_use FROM inventory
+ UNION
+ SELECT DISTINCT bin_id, TRUE AS in_use FROM parts
+ ) use ON use.bin_id = b.id
+ WHERE b.warehouse_id = ?;
SQL
$form->{BINS} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}));
$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;