Nur beim Erzeugen der Summen-/Saldenliste auch die Eröffnungsbilanzwerte auslesen...
[kivitendo-erp.git] / bin / mozilla / ic.pl
index eb31718..5f16184 100644 (file)
@@ -134,7 +134,7 @@ sub confirm_price_update {
   $form->header;
 
   map { delete $form->{$_} } qw(action header);
-  
+
   print $form->parse_html_template('ic/confirm_price_update', { HIDDENS => [ map { name => $_, value => $form->{$_} }, keys %$form ] });
 
   $lxdebug->leave_sub();
@@ -969,7 +969,7 @@ sub addtop100 {
 #  l_linetotal l_priceupdate l_bin l_rop l_weight l_image l_drawing l_microfiche
 #  l_partsgroup l_subtotal l_soldtotal l_deliverydate
 #
-# hiddens: 
+# hiddens:
 #  nextsub revers lastsort sort ndxs_counter
 #
 sub generate_report {
@@ -1002,10 +1002,10 @@ sub generate_report {
   }    #fi
 
   # special case if we have a serialnumber limit search
-  # serialnumbers are only given in invoices and orders, 
+  # serialnumbers are only given in invoices and orders,
   # so they can only pop up in bought, sold, rfq, and quoted stuff
-  $form->{no_sn_joins} = 'Y' if (   !$form->{bought} && !$form->{sold} 
-                                 && !$form->{rfq}    && !$form->{quoted} 
+  $form->{no_sn_joins} = 'Y' if (   !$form->{bought} && !$form->{sold}
+                                 && !$form->{rfq}    && !$form->{quoted}
                                  && ($form->{l_serialnumber} || $form->{serialnumber}));
 
   # special case for any checkbox of bought | sold | onorder | ordered | rfq | quoted.
@@ -1068,7 +1068,7 @@ sub generate_report {
 
   # generate callback and optionstrings
   my @options;
-  for my  $key (@itemstatus_keys, @callback_keys) { 
+  for my  $key (@itemstatus_keys, @callback_keys) {
     next if ($form->{itemstatus} ne $key && !$form->{$key});
     push @options, $optiontexts{$key};
   }
@@ -1239,7 +1239,7 @@ sub generate_report {
 
     # set module stuff
     if ($ref->{module} eq 'oe') {
-      my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{type}), 'id=' . E($ref->{trans_id}), 'callback');
+      my $edit_oe_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{customer_id} ne '' ? 'sales_order' : 'purchase_order'), 'id=' . E($ref->{trans_id}), 'callback');
       $row->{ordnumber}{link} = $edit_oe_link;
       $row->{quonumber}{link} = $edit_oe_link if (!$ref->{ordnumber});
 
@@ -1295,7 +1295,7 @@ sub generate_report {
 
 sub parts_subtotal {
   $lxdebug->enter_sub();
-  
+
   $auth->assert('part_service_assembly_edit');
 
   # imports
@@ -1462,8 +1462,8 @@ sub form_header {
 
   map { $form->{"is_$_"}  = ($form->{item} eq $_) } qw(part service assembly);
   map { $form->{$_}       =~ s/"/"/g;        } qw(unit);
-  $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS', 
+
+  $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS',
                    'partsgroup'    => 'all_partsgroup');
 
   IC->retrieve_buchungsgruppen(\%myconfig, $form);
@@ -1478,7 +1478,7 @@ sub form_header {
   $form->{fokus} = "ic.partnumber";
 
   $form->header;
-  print $form->parse_html_template('ic/form_header', { ALL_PRICE_FACTORS => $form->{ALL_PRICE_FACTORS}, 
+  print $form->parse_html_template('ic/form_header', { ALL_PRICE_FACTORS => $form->{ALL_PRICE_FACTORS},
                                                        ALL_UNITS         => $form->{ALL_UNITS},
                                                        BUCHUNGSGRUPPEN   => $form->{BUCHUNGSGRUPPEN},
                                                        payment_terms     => $form->{payment_terms},
@@ -1491,101 +1491,7 @@ sub form_footer {
 
   $auth->assert('part_service_assembly_edit');
 
-  if ($form->{item} eq "assembly") {
-
-    print qq|
-       <tr>
-         <td>
-            <table width="100%">
-              <tr>
-                <th colspan=2 align=right>| . $locale->text('Total') . qq|&nbsp;</th>
-                <th align=right>| . $form->format_amount(\%myconfig, $form->{assemblytotal}, 2) . qq|</th>
-              </tr>
-            </table>
-          </td>
-        </tr>
-        <input type=hidden name=assembly_rows value=$form->{assembly_rows}>
-|;
-  }
-
-  print qq|
-      <input type=hidden name=callback value="$form->{callback}">
-      <input type=hidden name=previousform value="$form->{previousform}">
-      <input type=hidden name=taxaccount2 value="$form->{taxaccount2}">
-      <input type=hidden name=vc value=$form->{vc}>
-  <tr>
-    <td><hr size=3 noshade></td>
-  </tr>
-</table>
-
-<br>
-<input class=submit type=submit name=action value="|
-    . $locale->text('Update') . qq|">
-  |;
-
-  unless ($form->{item} eq "service") {
-    print qq|
-      <input type=hidden name=makemodel_rows value=$form->{makemodel_rows}>
-    |;
-  }
-
-  print qq|
-     <input type=hidden name=price_rows value=$form->{price_rows}>|;
-
-  print qq|
-      <input class=submit type=submit name=action value="|
-    . $locale->text('Save') . qq|">|;
-
-  if ($form->{id}) {
-
-    if (!$form->{previousform}) {
-      print qq|
-      <input class=submit type=submit name=action value="|
-        . $locale->text('Save as new') . qq|">|;
-    }
-
-    if ($form->{orphaned}) {
-      if (!$form->{previousform}) {
-        if ($form->{item} eq 'assembly') {
-          if (!$form->{onhand}) {
-            print qq|
-      <input class=submit type=submit name=action value="|
-              . $locale->text('Delete') . qq|">|;
-          }
-        } else {
-          print qq|
-      <input class=submit type=submit name=action value="|
-            . $locale->text('Delete') . qq|">|;
-        }
-      }
-    }
-  }
-
-  if (!$form->{previousform}) {
-    if ($form->{menubar}) {
-      require "bin/mozilla/menu.pl";
-      &menubar;
-    }
-  }
-# button for saving history
-  if($form->{id} ne "") {
-       print qq|
-               <input type=button class=submit onclick=set_history_window(|
-               . $form->{id} 
-               . qq|); name=history id=history value=|
-               . $locale->text('history') 
-               . qq|>|;
-  }
-# /button for saving history
-  print qq|
-
-</form>
-
-<script type="text/javascript" src="js/wz_tooltip.js"></script>
-
-</body>
-</html>
-|;
+  print $form->parse_html_template('ic/form_footer');
 
   $lxdebug->leave_sub();
 }
@@ -1593,33 +1499,9 @@ sub form_footer {
 sub makemodel_row {
   $lxdebug->enter_sub();
   my ($numrows) = @_;
-  
-  print qq|
-  <tr>
-    <td>
-      <table width=100%>
-       <tr>
-         <th class="listheading">| . $locale->text('Make') . qq|</th>
-         <th class="listheading">| . $locale->text('Model') . qq|</th>
-       </tr>
-|;
 
-  for my $i (1 .. $numrows) {
-    $form->{"make_$i"}  =~ s/\"/&quot;/g;
-    $form->{"model_$i"} =~ s/\"/&quot;/g;
-    print qq|
-       <tr>
-         <td width=50%><input name="make_$i" size=30 value="$form->{"make_$i"}"></td>
-         <td width=50%><input name="model_$i" size=30 value="$form->{"model_$i"}"></td>
-       </tr>
-|;
-  }
-
-  print qq|
-      </table>
-    </td>
-  </tr>
-|;
+  my @mm_data = grep { any { $_ ne '' } @$_{qw(make model)} } map +{ make => $form->{"make_$_"}, model => $form->{"model_$_"} }, 1 .. $numrows;
+  print $form->parse_html_template('ic/makemodel', { MM_DATA => [ @mm_data, {} ], mm_rows => scalar @mm_data + 1 });
 
   $lxdebug->leave_sub();
 }
@@ -1872,8 +1754,8 @@ sub save {
   }
 
   if (!$form->{buchungsgruppen_id}) {
-    $form->error($locale->text("Parts must have an entry type.") . " " . 
-     $locale->text("If you see this message, you most likely just setup your LX-Office and haven't added any entry types. If this is the case, the option is accessible for administrators in the System menu.") 
+    $form->error($locale->text("Parts must have an entry type.") . " " .
+     $locale->text("If you see this message, you most likely just setup your LX-Office and haven't added any entry types. If this is the case, the option is accessible for administrators in the System menu.")
     );
   }