Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[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 use strict;
33
34 sub create_todo_list {
35   $main::lxdebug->enter_sub();
36
37   my $form     = $main::form;
38
39   my %params   = @_;
40   my $postfix  = $params{login_screen} ? '_login' : '';
41
42   my %todo_cfg = TODO->get_user_config('login' => $form->{login});
43
44   if ($params{login_screen} && !$todo_cfg{show_after_login}) {
45     $main::lxdebug->leave_sub();
46     return '';
47   }
48
49   my (@todo_items, $todo_list);
50
51   push @todo_items, todo_list_follow_ups()               if ($todo_cfg{"show_follow_ups${postfix}"});
52   push @todo_items, todo_list_overdue_sales_quotations() if ($todo_cfg{"show_overdue_sales_quotations${postfix}"});
53
54   @todo_items = grep { $_ } @todo_items;
55   $todo_list  = join("", @todo_items);
56
57   $main::lxdebug->leave_sub();
58
59   return $todo_list;
60 }
61
62 sub show_todo_list {
63   $main::lxdebug->enter_sub();
64
65   my $form     = $main::form;
66   my $locale   = $main::locale;
67
68   $form->{todo_list} = create_todo_list();
69   $form->{title}     = $locale->text('TODO list');
70
71   $form->header();
72   print $form->parse_html_template('todo/show_todo_list');
73
74   $main::lxdebug->leave_sub();
75 }
76
77 sub todo_list_follow_ups {
78   $main::lxdebug->enter_sub();
79
80   require "bin/mozilla/fu.pl";
81
82   my $content = report_for_todo_list();
83
84   $main::lxdebug->leave_sub();
85
86   return $content;
87 }
88
89 sub todo_list_overdue_sales_quotations {
90   $main::lxdebug->enter_sub();
91
92   require "bin/mozilla/oe.pl";
93
94   my $content = report_for_todo_list();
95
96   $main::lxdebug->leave_sub();
97
98   return $content;
99 }
100
101 1;