Projekte: Leeren Reiter "Projekt-Details" entfernt.
[kivitendo-erp.git] / bin / mozilla / todo.pl
index 0f8cf3d..44b9eaf 100644 (file)
 # GNU General Public License for more details.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
 #######################################################################
 
+use SL::TODO;
+
+use strict;
+
 sub create_todo_list {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  $main::auth->assert('productivity');
+
+  my $form     = $main::form;
+
+  my %params   = @_;
+  my $postfix  = $params{login_screen} ? '_login' : '';
+
+  my %todo_cfg = TODO->get_user_config('login' => $::myconfig{login});
+
+  if ($params{login_screen} && !$todo_cfg{show_after_login}) {
+    $main::lxdebug->leave_sub();
+    return '';
+  }
 
   my (@todo_items, $todo_list);
 
-  push @todo_items, todo_list_follow_ups();
-  push @todo_items, todo_list_overdue_sales_quotations();
+  push @todo_items, todo_list_follow_ups()               if ($todo_cfg{"show_follow_ups${postfix}"});
+  push @todo_items, todo_list_overdue_sales_quotations() if ($todo_cfg{"show_overdue_sales_quotations${postfix}"});
 
   @todo_items = grep { $_ } @todo_items;
   $todo_list  = join("", @todo_items);
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 
   return $todo_list;
 }
 
 sub show_todo_list {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  $main::auth->assert('productivity');
+
+  my $form     = $main::form;
+  my $locale   = $main::locale;
 
   $form->{todo_list} = create_todo_list();
   $form->{title}     = $locale->text('TODO list');
@@ -52,29 +76,33 @@ sub show_todo_list {
   $form->header();
   print $form->parse_html_template('todo/show_todo_list');
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub todo_list_follow_ups {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  $main::auth->assert('productivity');
 
   require "bin/mozilla/fu.pl";
 
   my $content = report_for_todo_list();
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 
   return $content;
 }
 
 sub todo_list_overdue_sales_quotations {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  $main::auth->assert('productivity');
 
   require "bin/mozilla/oe.pl";
 
   my $content = report_for_todo_list();
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 
   return $content;
 }