X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/48c946bdc28fa827a579e9e211bdb942f9c1d298..a3f90d6fa23d0a8d026682511e7624bd847d532f:/SL/Printer.pm diff --git a/SL/Printer.pm b/SL/Printer.pm new file mode 100644 index 000000000..346d734a2 --- /dev/null +++ b/SL/Printer.pm @@ -0,0 +1,83 @@ +package SL::Printer; + +use SL::DBUtils; + +sub all_printers { + $::lxdebug->enter_sub; + + my ($self, %params) = @_; + + my $dbh = $::auth->get_user_dbh($params{login}); + + my $query = qq|SELECT * FROM printers ORDER BY printer_description|; + my @printers = selectall_hashref_query($::form, $dbh, $query); + + $::lxdebug->leave_sub; + + return wantarray ? @printers : \@printers; +} + +sub get_printer { + $::lxdebug->enter_sub; + + my ($self, %params) = @_; + + my $dbh = $::auth->get_user_dbh($params{login}); + + my $query = qq|SELECT * FROM printers WHERE id = ?|; + my ($printer) = selectfirst_hashref_query($::form, $dbh, $query, $params{id}); + + $::lxdebug->leave_sub; + + return $printer; +} + +sub save_printer { + $main::lxdebug->enter_sub(); + + my ($self, %params) = @_; + + # connect to database + my $dbh = $::auth->get_user_dbh($params{login}); + my $printer = $params{printer}; + + unless ($printer->{id}) { + ($printer->{id}) = selectfirst_array_query($::form, $dbh, "SELECT nextval('id'::text)"); + do_query($::form, $dbh, "INSERT INTO printers (id, printer_description) VALUES (?, '')", $printer->{id}); + } + + my $query = <{printer_description}, + $printer->{template_code}, + $printer->{printer_command}, + $printer->{id}, + ); + + $dbh->commit; + + $::lxdebug->leave_sub; +} + +sub delete_printer { + $::lxdebug->enter_sub; + + my ($self, %params) = @_; + + my $dbh = $::auth->get_user_dbh($params{login}); + + my $query = qq|DELETE FROM printers WHERE id = ?|; + do_query($::form, $dbh, $query, $params{id}); + + $dbh->commit; + + $::lxdebug->leave_sub; +} + +1;