1;
+require "$form->{path}/common.pl";
+
# end of main
sub add { &{"add_$form->{type}"} }
$form->{description} =~ s/\"/"/g;
if (@{ $form->{TAXKEY} }) {
- $form->{selecttaxkey} = "<option value=0>Keine Steuer 0%\n";
foreach $item (@{ $form->{TAXKEY} }) {
- if ($item->{taxkey} == $form->{taxkey_id}) {
+ if ($item->{tax} == $form->{tax}) {
$form->{selecttaxkey} .=
- "<option value=$item->{taxkey} selected>$item->{taxdescription}\n";
+ "<option value=$item->{tax} selected>$item->{taxdescription}\n";
} else {
$form->{selecttaxkey} .=
- "<option value=$item->{taxkey}>$item->{taxdescription}\n";
+ "<option value=$item->{tax}>$item->{taxdescription}\n";
}
}
$taxkey = qq|
<tr>
<th align=right>| . $locale->text('Steuersatz') . qq|</th>
- <td><select name=taxkey_id>$form->{selecttaxkey}</select></td>
- <input type=hidden name=selecttaxkey value="$form->{selecttaxkey}">
+ <td><select name=tax>$form->{selecttaxkey}</select></td>
+ <th align=right>| . $locale->text('Gültig ab') . qq|</th>
+ <td><input name=startdate value="$form->{startdate}"></td>
</tr>|;
if (@{ $form->{NEWACCOUNT} }) {
"$form->{script}?action=add_buchungsgruppe&path=$form->{path}&login=$form->{login}&password=$form->{password}"
unless $form->{callback};
AM->get_buchungsgruppe(\%myconfig, \%$form);
+ if ($eur) {
+ $form->{"inventory_accno_id"} = $form->{"std_inventory_accno_id"};
+ }
&buchungsgruppe_header;
&form_footer;
. qq|</th>|;
$column_header{income_accno_1} =
qq|<th class=listheading>|
- . $locale->text('Erlöse EU o. UStId')
+ . $locale->text('Erlöse EU m. UStId')
. qq|</th>|;
$column_header{expense_accno_1} =
qq|<th class=listheading>|
- . $locale->text('Aufwand EU o. UStId')
+ . $locale->text('Aufwand EU m. UStId')
. qq|</th>|;
$column_header{income_accno_2} =
qq|<th class=listheading>|
- . $locale->text('Erlöse EU m. UStId')
+ . $locale->text('Erlöse EU o. UStId')
. qq|</th>|;
$column_header{expense_accno_2} =
qq|<th class=listheading>|
- . $locale->text('Aufwand EU m. UStId')
+ . $locale->text('Aufwand EU o. UStId')
. qq|</th>|;
$column_header{income_accno_3} =
qq|<th class=listheading>|
# $locale->text('Buchungsgruppe hinzufügen')
# $locale->text('Buchungsgruppe bearbeiten')
- $form->{description} =~ s/\"/"/g;
+ my ($acc_inventory, $acc_income, $acc_expense) = ({}, {}, {});
+ my %acc_type_map = (
+ "IC" => $acc_inventory,
+ "IC_income" => $acc_income,
+ "IC_sale" => $acc_income,
+ "IC_expense" => $acc_expense,
+ "IC_cogs" => $acc_expense,
+ );
- # build the popup menus
- $form->{taxaccounts} = "";
- foreach $key (keys %{ $form->{IC_links} }) {
+ foreach $key (keys(%acc_type_map)) {
foreach $ref (@{ $form->{IC_links}{$key} }) {
-
- # if this is a tax field
- if ($key =~ /IC_tax/) {
- if ($key =~ /$item/) {
- $form->{taxaccounts} .= "$ref->{accno} ";
- $form->{"IC_tax_$ref->{accno}_description"} =
- "$ref->{accno}--$ref->{description}";
-
- if ($form->{id}) {
- if ($form->{amount}{ $ref->{accno} }) {
- $form->{"IC_tax_$ref->{accno}"} = "checked";
- }
- } else {
- $form->{"IC_tax_$ref->{accno}"} = "checked";
- }
- }
- } else {
-
- $form->{"select$key"} .=
- "<option value=$ref->{id} $ref->{selected}>$ref->{accno}--$ref->{description}\n";
- if (($key eq "IC") && ($ref->{selected} eq "selected")) {
- $form->{IC_default} = $ref->{id};
- }
- if ($form->{amount}{$key} eq $ref->{accno}) {
- $form->{$key} = "$ref->{accno}--$ref->{description}";
- }
-
- }
+ $acc_type_map{$key}->{$ref->{"id"}} = $ref;
}
}
- $form->{selectIC_income} = $form->{selectIC_sale};
- $form->{selectIC_expense} = $form->{selectIC_cogs};
- $form->{IC_income} = $form->{IC_sale};
- $form->{IC_expense} = $form->{IC_cogs};
+
+ foreach my $type (qw(IC IC_income IC_expense)) {
+ $form->{"select$type"} =
+ join("",
+ map({ "<option value=$_->{id} $_->{selected}>" .
+ "$_->{accno}--" . H($_->{description}) . "</option>" }
+ sort({ $a->{"accno"} cmp $b->{"accno"} }
+ values(%{$acc_type_map{$type}}))));
+ }
if ($form->{id}) {
$form->{selectIC} =~ s/selected//g;
- $form->{selectIC} =~ s/ value=\$form->{inventory_accno_id}/ value=\$form->{inventory_accno_id} selected/;
+ $form->{selectIC} =~ s/ value=$form->{inventory_accno_id}/ value=$form->{inventory_accno_id} selected/;
$form->{selectIC_income} =~ s/selected//g;
$form->{selectIC_income} =~ s/ value=$form->{income_accno_id_0}/ value=$form->{income_accno_id_0} selected/;
$form->{selectIC_expense} =~ s/selected//g;
</tr>|;
} else {
$linkaccounts = qq|
- <input type=hidden name=inventory_accno_id value=1>|;
- }
+ <input type=hidden name=inventory_accno_id value=$form->{inventory_accno_id}>|;
+ }
- $linkaccounts .= qq|
+ $linkaccounts .= qq|
<tr>
<th align=right>| . $locale->text('Erlöse Inland') . qq|</th>
<td><select name=income_accno_id_0>$form->{selectIC_income}</select></td>
<tr height="5"></tr>
<tr>
<th align=right>| . $locale->text('Buchungsgruppe') . qq|</th>
- <td><input name=description size=30 value="$form->{description}"></td>
+ <td><input name=description size=30 value="| . $form->quote($form->{description}) . qq|"></td>
<tr>
$linkaccounts
<td colspan=2><hr size=3 noshade></td>
}
-sub add_adr {
- $lxdebug->enter_sub();
-
- $form->{title} = "Add";
-
- $form->{callback} =
- "$form->{script}?action=add_adr&path=$form->{path}&login=$form->{login}&password=$form->{password}"
- unless $form->{callback};
-
- &adr_header;
- &form_footer;
-
- $lxdebug->leave_sub();
-}
-
-sub edit_adr {
- $lxdebug->enter_sub();
-
- $form->{title} = "Edit";
-
- AM->get_adr(\%myconfig, \%$form);
-
- &adr_header;
-
- $form->{orphaned} = 1;
- &form_footer;
-
- $lxdebug->leave_sub();
-}
-
-sub list_adr {
- $lxdebug->enter_sub();
-
- AM->adr(\%myconfig, \%$form);
-
- $form->{callback} =
- "$form->{script}?action=list_adr&path=$form->{path}&login=$form->{login}&password=$form->{password}";
-
- $callback = $form->escape($form->{callback});
-
- $form->{title} = $locale->text('ADR');
-
- @column_index = qw(adr_code adr_description);
-
- $column_header{adr_description} =
- qq|<th class=listheading width=60%>|
- . $locale->text('ADR Description')
- . qq|</th>|;
- $column_header{adr_code} =
- qq|<th class=listheading width=10%>|
- . $locale->text('ADR Code')
- . qq|</th>|;
-
- $form->header;
-
- print qq|
-<body>
-
-<table width=100%>
- <tr>
- <th class=listtop>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <td>
- <table width=100%>
- <tr class=listheading>
-|;
-
- map { print "$column_header{$_}\n" } @column_index;
-
- print qq|
- </tr>
-|;
-
- foreach $ref (@{ $form->{ALL} }) {
-
- $i++;
- $i %= 2;
-
- print qq|
- <tr valign=top class=listrow$i>
-|;
-
-
- $column_data{adr_code} =
- qq|<td><a href=$form->{script}?action=edit_adr&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{adr_code}</td>|;
- $column_data{adr_description} = qq|<td align=left>$ref->{adr_description}</td>|;
-
-
- map { print "$column_data{$_}\n" } @column_index;
-
- print qq|
- </tr>
-|;
- }
-
- print qq|
- </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-
-<br>
-<form method=post action=$form->{script}>
-
-<input name=callback type=hidden value="$form->{callback}">
-
-<input type=hidden name=type value=adr>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<input class=submit type=submit name=action value="|
- . $locale->text('Add') . qq|">|;
-
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
-
- print qq|
-
- </form>
-
- </body>
- </html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub adr_header {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text("$form->{title} ADR");
-
- # $locale->text('Add ADR')
- # $locale->text('Edit ADR')
-
- $form->{adr_description} =~ s/\"/"/g;
- $form->{adr_code} =~ s/\"/"/g;
-
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=id value=$form->{id}>
-<input type=hidden name=type value=adr>
-
-<table width=100%>
- <tr>
- <th class=listtop colspan=2>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr>
- <th align=right>| . $locale->text('ADR Code') . qq|</th>
- <td><input name=adr_code size=30 value="$form->{adr_code}"></td>
- <tr>
- <tr>
- <th align=right>| . $locale->text('ADR Description') . qq|</th>
- <td><input name=adr_description size=60 value="$form->{adr_description}"></td>
- </tr>
- <td colspan=2><hr size=3 noshade></td>
- </tr>
-</table>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub save_adr {
- $lxdebug->enter_sub();
-
- $form->isblank("adr_description", $locale->text('ADR Description missing!'));
- $form->isblank("adr_code", $locale->text('ADR Code missing!'));
- AM->save_adr(\%myconfig, \%$form);
- $form->redirect($locale->text('ADR saved!'));
-
- $lxdebug->leave_sub();
-}
-
-
-sub delete_adr {
- $lxdebug->enter_sub();
-
- AM->delete_adr(\%myconfig, \%$form);
- $form->redirect($locale->text('ADR deleted!'));
-
- $lxdebug->leave_sub();
-}
-
-
sub add_payment {
$lxdebug->enter_sub();
"$form->{script}?action=add_payment&path=$form->{path}&login=$form->{login}&password=$form->{password}"
unless $form->{callback};
+ $form->{terms_netto} = 0;
+ $form->{terms_skonto} = 0;
+ $form->{percent_skonto} = 0;
&payment_header;
&form_footer;
<th align=right>| . $locale->text('Description') . qq|</th>
<td><input name=description size=30 value="$form->{description}"></td>
<tr>
- <tr>
- <th align=right>| . $locale->text('Ranking') . qq|</th>
- <td><input name=ranking size=30 value="$form->{ranking}"></td>
- <tr>
<tr>
<th align=right>| . $locale->text('Long Description') . qq|</th>
<td><input name=description_long size=50 value="$form->{description_long}"></td>
</tr>
</table>
</td>
- </tr>
- <tr class=listheading>
- <th colspan=2>| . $locale->text('Tax Accounts') . qq|</th>
- </tr>
- <tr>
- <td colspan=2>
- <table>
- <tr>
- <th> </th>
- <th>| . $locale->text('Rate') . qq| (%)</th>
- <th>| . $locale->text('Number') . qq|</th>
- </tr>
-|;
-
- foreach $accno (sort keys %{ $form->{taxrates} }) {
- print qq|
- <tr>
- <th align=right>$form->{taxrates}{$accno}{description}</th>
- <td><input name=$form->{taxrates}{$accno}{id} size=6 value=$form->{taxrates}{$accno}{rate}></td>
- <td><input name="taxnumber_$form->{taxrates}{$accno}{id}" value="$form->{taxrates}{$accno}{taxnumber}"></td>
- </tr>
-|;
- $form->{taxaccounts} .= "$form->{taxrates}{$accno}{id} ";
- }
-
- chop $form->{taxaccounts};
-
- print qq|
-<input name=taxaccounts type=hidden value="$form->{taxaccounts}">
-
- </table>
- </td>
- </tr>
- </table>
+ </tr>|;
+# <tr class=listheading>
+# <th colspan=2>| . $locale->text('Tax Accounts') . qq|</th>
+# </tr>
+# <tr>
+# <td colspan=2>
+# <table>
+# <tr>
+# <th> </th>
+# <th>| . $locale->text('Rate') . qq| (%)</th>
+# <th>| . $locale->text('Number') . qq|</th>
+# </tr>
+# |;
+#
+# foreach $accno (sort keys %{ $form->{taxrates} }) {
+# print qq|
+# <tr>
+# <th align=right>$form->{taxrates}{$accno}{description}</th>
+# <td><input name=$form->{taxrates}{$accno}{id} size=6 value=$form->{taxrates}{$accno}{rate}></td>
+# <td><input name="taxnumber_$form->{taxrates}{$accno}{id}" value="$form->{taxrates}{$accno}{taxnumber}"></td>
+# </tr>
+# |;
+# $form->{taxaccounts} .= "$form->{taxrates}{$accno}{id} ";
+# }
+#
+# chop $form->{taxaccounts};
+#
+# print qq|
+# <input name=taxaccounts type=hidden value="$form->{taxaccounts}">
+#
+# </table>
+# </td>
+# </tr>
+print qq| </table>
</td>
</tr>
<tr>