ActionBar: Angebote/Aufträge: E-Mail-Versand über Dialog implementiert
[kivitendo-erp.git] / bin / mozilla / fu.pl
index 1879be0..660e982 100644 (file)
@@ -10,6 +10,8 @@ use strict;
 sub _collect_links {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $dest = shift;
 
   my $form     = $main::form;
@@ -28,6 +30,8 @@ sub _collect_links {
 sub add {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
@@ -57,6 +61,8 @@ sub add {
 sub edit {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -82,6 +88,8 @@ sub edit {
 sub display_form {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
 
   $form->get_lists("employees" => "EMPLOYEES");
@@ -91,9 +99,7 @@ sub display_form {
   $params{trans_id}   = $form->{LINKS}->[0]->{trans_id} if (@{ $form->{LINKS} });
   $form->{FOLLOW_UPS} = FU->follow_ups(%params);
 
-  $form->{jsscript}   = 1;
-
-  $form->header();
+  $form->header(no_layout => $::form->{POPUP_MODE});
   print $form->parse_html_template('fu/add_edit');
 
   $main::lxdebug->leave_sub();
@@ -102,6 +108,8 @@ sub display_form {
 sub save_follow_up {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -118,7 +126,7 @@ sub save_follow_up {
   if ($form->{POPUP_MODE}) {
     $form->header();
     print $form->parse_html_template('fu/close_window');
-    exit 0;
+    $::dispatcher->end_request;
   }
 
   $form->{SAVED_MESSAGE} = $locale->text('Follow-Up saved.');
@@ -139,6 +147,8 @@ sub save_follow_up {
 sub finish {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -162,7 +172,7 @@ sub finish {
   if ($form->{POPUP_MODE}) {
     $form->header();
     print $form->parse_html_template('fu/close_window');
-    exit 0;
+    $::dispatcher->end_request;
   }
 
   $form->redirect() if ($form->{callback});
@@ -175,6 +185,8 @@ sub finish {
 sub delete {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -198,7 +210,7 @@ sub delete {
   if ($form->{POPUP_MODE}) {
     $form->header();
     print $form->parse_html_template('fu/close_window');
-    exit 0;
+    $::dispatcher->end_request;
   }
 
   $form->redirect() if ($form->{callback});
@@ -211,12 +223,13 @@ sub delete {
 sub search {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
   $form->get_lists("employees" => "EMPLOYEES");
 
-  $form->{jsscript} = 1;
   $form->{title}    = $locale->text('Follow-Ups');
 
   $form->header();
@@ -228,10 +241,12 @@ sub search {
 sub report {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
-  my $cgi      = $main::cgi;
+  my $cgi      = $::request->{cgi};
 
   my @report_params = qw(created_for subject body reference follow_up_date_from follow_up_date_to itime_from itime_to due_only all_users done not_done);
 
@@ -300,6 +315,7 @@ sub report {
                        'attachment_basename'  => $locale->text('follow_up_list') . strftime('_%Y%m%d', localtime time),
     );
   $report->set_options_from_form();
+  $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
 
   my $idx      = 0;
   my $callback = build_std_url('action=report', grep { $form->{$_} } @report_params);
@@ -339,6 +355,8 @@ sub report {
 sub report_for_todo_list {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
 
   my @report_params = qw(created_for subject body reference follow_up_date_from follow_up_date_to itime_from itime_to due_only all_users done not_done);
@@ -346,7 +364,7 @@ sub report_for_todo_list {
   my %params   = (
     'due_only'          => 1,
     'not_done'          => 1,
-    'created_for_login' => $form->{login},
+    'created_for_login' => $::myconfig{login},
     );
 
   my $follow_ups = FU->follow_ups(%params);
@@ -378,12 +396,14 @@ sub report_for_todo_list {
 sub edit_access_rights {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
   my $access = FU->retrieve_access_rights();
 
-  $form->get_lists("employees" => "EMPLOYEES");
+  $form->{EMPLOYEES} = SL::DB::Manager::Employee->get_all_sorted(query => [ deleted => 0 ]);
 
   map { $_->{access} = $access->{$_->{id}} } @{ $form->{EMPLOYEES} };
 
@@ -398,6 +418,8 @@ sub edit_access_rights {
 sub save_access_rights {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -426,6 +448,8 @@ sub continue {
 }
 
 sub save {
+  $main::auth->assert('productivity');
+
   if ($main::form->{save_nextsub}) {
     call_sub($main::form->{save_nextsub});
   } else {