6 unless ($::form->{login}) {
10 return $::form->{login};
14 my %users = $::auth->read_all_users;
17 print $::form->parse_html_template('admin_printer/login', {
18 users => [ values %users ],
22 sub printer_dispatcher {
23 $::lxdebug->dump(0, "testing", $::form);
24 for (qw(get_login_form list_printers add_printer edit_printer save_printer delete_printer list_users)) {
26 ::call_sub($::locale->findsub($_));
30 die "cannot find sub";
33 sub printer_management {
38 $::lxdebug->enter_sub;
40 my $login = get_login();
41 my %users = $::auth->read_all_users;
44 print $::form->parse_html_template('admin_printer/edit', {
45 title => $::locale->text("Add Printer"),
47 users => [ values %users ],
54 $::lxdebug->enter_sub;
56 my $login = get_login();
57 my $id = $::form->{id} or $::form->{printer}{id} or &add_printer;
58 my %users = $::auth->read_all_users;
60 my $printer = SL::Printer->get_printer(id => $id, login => $login);
63 print $::form->parse_html_template('admin_printer/edit', {
64 title => $::locale->text("Edit Printer"),
66 users => [ values %users ],
69 $::lxdebug->leave_sub;
73 $::lxdebug->enter_sub;
75 my $login = get_login();
76 my $printers = SL::Printer->all_printers(login => $login);
77 my %users = $::auth->read_all_users;
80 print $::form->parse_html_template('admin_printer/list', {
81 title => $::locale->text('Printer'),
82 all_printers => $printers,
83 edit_link => build_std_url("login=$login", 'action=edit_printer', 'id='),
84 users => [ values %users ],
87 $::lxdebug->leave_sub;
92 $::lxdebug->enter_sub;
94 my $login = get_login();
95 my $printer = $::form->{printer} || die 'no printer to save';
97 $::form->error($::locale->text('Description missing!')) unless $printer->{printer_description};
98 $::form->error($::locale->text('Printer Command missing!')) unless $printer->{printer_command};
100 SL::Printer->save_printer(%$::form);
103 $::lxdebug->leave_sub;
107 $::lxdebug->enter_sub;
109 my $login = get_login();
110 my $printer = $::form->{printer} || die 'no printer to delete';
112 SL::Printer->delete_printer(%$::form);
115 $::lxdebug->leave_sub;