8f09fee5a5f58207fa8e969623fd059315cebf1a
[kivitendo-erp.git] / bin / mozilla / todo.pl
1 #=====================================================================
2 # LX-Office ERP
3 # Copyright (C) 2004
4 # Based on SQL-Ledger Version 2.1.9
5 # Web http://www.lx-office.org
6 #
7 ######################################################################
8 # SQL-Ledger Accounting
9 # Copyright (c) 1998-2002
10 #
11 #  Author: Dieter Simader
12 #   Email: dsimader@sql-ledger.org
13 #     Web: http://www.sql-ledger.org
14 #
15 #
16 # This program is free software; you can redistribute it and/or modify
17 # it under the terms of the GNU General Public License as published by
18 # the Free Software Foundation; either version 2 of the License, or
19 # (at your option) any later version.
20 #
21 # This program is distributed in the hope that it will be useful,
22 # but WITHOUT ANY WARRANTY; without even the implied warranty of
23 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 # GNU General Public License for more details.
25 # You should have received a copy of the GNU General Public License
26 # along with this program; if not, write to the Free Software
27 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28 #######################################################################
29
30 use SL::TODO;
31
32 sub create_todo_list {
33   $lxdebug->enter_sub();
34
35   my %params   = @_;
36   my $postfix  = '_login' if ($params{login_screen});
37
38   my %todo_cfg = TODO->get_user_config('login' => $form->{login});
39
40   if ($params{login_screen} && !$todo_cfg{show_after_login}) {
41     $lxdebug->leave_sub();
42     return '';
43   }
44
45   my (@todo_items, $todo_list);
46
47   push @todo_items, todo_list_follow_ups()               if ($todo_cfg{"show_follow_ups${postfix}"});
48   push @todo_items, todo_list_overdue_sales_quotations() if ($todo_cfg{"show_overdue_sales_quotations${postfix}"});
49
50   @todo_items = grep { $_ } @todo_items;
51   $todo_list  = join("", @todo_items);
52
53   $lxdebug->leave_sub();
54
55   return $todo_list;
56 }
57
58 sub show_todo_list {
59   $lxdebug->enter_sub();
60
61   $form->{todo_list} = create_todo_list();
62   $form->{title}     = $locale->text('TODO list');
63
64   $form->header();
65   print $form->parse_html_template('todo/show_todo_list');
66
67   $lxdebug->leave_sub();
68 }
69
70 sub todo_list_follow_ups {
71   $lxdebug->enter_sub();
72
73   require "bin/mozilla/fu.pl";
74
75   my $content = report_for_todo_list();
76
77   $lxdebug->leave_sub();
78
79   return $content;
80 }
81
82 sub todo_list_overdue_sales_quotations {
83   $lxdebug->enter_sub();
84
85   require "bin/mozilla/oe.pl";
86
87   my $content = report_for_todo_list();
88
89   $lxdebug->leave_sub();
90
91   return $content;
92 }
93
94 1;