Loeschen von Drafts flexibler.
[kivitendo-erp.git] / bin / mozilla / rp.pl
index 034fa4f..966df6e 100644 (file)
@@ -36,6 +36,7 @@
 #======================================================================
 
 require "$form->{path}/arap.pl";
+require "bin/mozilla/common.pl";
 
 use SL::PE;
 use SL::RP;
@@ -130,6 +131,21 @@ sub report {
        </tr>
 | if $form->{selectdepartment};
 
+  $form->get_lists("projects" => { "key" => "ALL_PROJECTS",
+                                   "all" => 1 });
+
+  my %project_labels = ();
+  my @project_values = ("");
+  foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
+    push(@project_values, $item->{"id"});
+    $project_labels{$item->{"id"}} = $item->{"projectnumber"};
+  }
+
+  my $projectnumber =
+    NTI($cgi->popup_menu('-name' => "project_id",
+                         '-values' => \@project_values,
+                         '-labels' => \%project_labels));
+
   # use JavaScript Calendar or not
   $form->{jsscript} = $jscalendar;
   $jsscript = "";
@@ -280,7 +296,7 @@ $jsscript
     print qq|
        <tr>
          <th align=right nowrap>| . $locale->text('Project') . qq|</th>
-         <td colspan=3><input name=projectnumber size=25</td>
+         <td colspan=3>$projectnumber</td>
        </tr>
         <input type=hidden name=nextsub value=generate_income_statement>
 </table>
@@ -390,7 +406,7 @@ $jsscript
     print qq|
        <tr>
          <th align=right nowrap>| . $locale->text('Project') . qq|</th>
-         <td colspan=3><input name=projectnumber size=25</td>
+         <td colspan=3>$projectnumber</td>
        </tr>
         <input type=hidden name=nextsub value=generate_bwa>
 </table>
@@ -1062,10 +1078,6 @@ sub generate_income_statement {
   $form->{endbold} = "</b>";
   $form->{br}      = "<br>";
 
-  &get_project(generate_income_statement);
-
-  $form->{projectnumber} = $form->{projectnumber_1};
-
   if ($form->{reporttype} eq "custom") {
 
     #forgotten the year --> thisyear
@@ -1253,7 +1265,8 @@ sub generate_balance_sheet {
   $form->{IN} = "balance_sheet.html";
 
   # setup company variables for the form
-  map { $form->{$_} = $myconfig{$_} }
+  map { $form->{$_} = $myconfig{$_};
+        $form->{$_} =~ s/\\n/\n/g; }
     (qw(company address businessnumber nativecurr));
 
   $form->{templates} = $myconfig{templates};
@@ -1850,16 +1863,10 @@ sub aging {
 <input class=submit type=submit name=action value="|
       . $locale->text('Print') . qq|">
 <input class=submit type=submit name=action value="|
-      . $locale->text('E-mail') . qq|">
-|;
-  }
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
+      . $locale->text('E-mail') . qq|">|;
+}
 
-  print qq|
+print qq|
 </form>
 
 </body>
@@ -2119,7 +2126,13 @@ sub print_form {
       }
     }
   }
-
+  # saving the history
+  if(!exists $form->{addition} && $form->{id} ne "") {
+       $form->{addition} = "PRINTED";
+       $form->{what_done} = $form->{type};
+       $form->save_history($form->dbconnect(\%myconfig));
+  }
+  # /saving the history 
   $lxdebug->leave_sub();
 }
 
@@ -2132,10 +2145,10 @@ sub statement_details {
   push @{ $form->{duedate} },   $ref->{duedate};
 
   foreach $item (qw(c0 c30 c60 c90)) {
-    eval {
+    if ($ref->{exchangerate} * 1) {
       $ref->{$item} =
         $form->round_amount($ref->{$item} / $ref->{exchangerate}, 2);
-    };
+    }
     $form->{"${item}total"} += $ref->{$item};
     $form->{total}          += $ref->{$item};
     push @{ $form->{$item} },
@@ -2719,8 +2732,6 @@ sub generate_bwa {
   $form->{endbold} = "</b>";
   $form->{br}      = "<br>";
 
-  #  &get_project(generate_bwa);
-
   if ($form->{reporttype} eq "custom") {
 
     #forgotten the year --> thisyear