X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fam.pl;h=0ce8c2ee6d371106e68626fec8b151b91b757a06;hb=da10bf753ae49b8322e79fc1bb9276a092403b9a;hp=2a522808c9a86c45d87925c0ace5a724084f4fcb;hpb=54e4131e091831e00a861fe2c4f53e344b87ddca;p=kivitendo-erp.git diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl index 2a522808c..0ce8c2ee6 100644 --- a/bin/mozilla/am.pl +++ b/bin/mozilla/am.pl @@ -40,6 +40,10 @@ use Data::Dumper; 1; + + +require "$form->{path}/common.pl"; + # end of main sub add { &{"add_$form->{type}"} } @@ -92,14 +96,16 @@ sub account_header { $form->{description} =~ s/\"/"/g; if (@{ $form->{TAXKEY} }) { - $form->{selecttaxkey} = ""; @@ -174,10 +180,14 @@ sub account_header { 76 => $locale->text('UStVA-Nr. 76'), 77 => $locale->text('UStVA-Nr. 77'), 80 => $locale->text('UStVA-Nr. 80'), + 81 => $locale->text('UStVA-Nr. 81 left'), + 811 => $locale->text('UStVA-Nr. 81 right'), 84 => $locale->text('UStVA-Nr. 84'), 85 => $locale->text('UStVA-Nr. 85'), 86 => $locale->text('UStVA-Nr. 86 left'), 861 => $locale->text('UStVA-Nr. 86 right'), + 89 => $locale->text('UStVA-Nr. 89 left'), + 891 => $locale->text('UStVA-Nr. 89 right'), 91 => $locale->text('UStVA-Nr. 91'), 93 => $locale->text('UStVA-Nr. 93 left'), 931 => $locale->text('UStVA-Nr. 93 right'), @@ -292,22 +302,23 @@ sub account_header { |; - $form->{selectbilanz} = "|; + foreach $item (qw(1,000.00 1000.00 1.000,00 1000,00)) { + $numberformat .= + ($item eq $form->{output_numberformat}) + ? ""; + } + + my $dateformat = + qq||; + foreach $item (qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd)) { + $dateformat .= + ($item eq $form->{output_dateformat}) + ? ""; + } + print qq| @@ -1475,15 +1440,33 @@ sub language_header { | . $locale->text('Language') . qq| - + | . $locale->text('Template Code') . qq| - {template_code}> + | . $locale->text('Article Code') . qq| - {article_code}> + + + + | . $locale->text('Number Format') . qq| + + + + | . $locale->text('Date Format') . qq| + + + + | . $locale->text('Long Dates') . qq| + {output_longdates} ? " checked" : "") . + qq|>| . $locale->text("Yes") . + qq|{output_longdates} ? "" : " checked") . + qq|>| . $locale->text("No") . + qq|
@@ -1526,6 +1509,11 @@ sub add_buchungsgruppe { "$form->{script}?action=add_buchungsgruppe&path=$form->{path}&login=$form->{login}&password=$form->{password}" unless $form->{callback}; AM->get_buchungsgruppe(\%myconfig, \%$form); + $form->{"inventory_accno_id"} = $form->{"std_inventory_accno_id"}; + for (my $i = 0; 4 > $i; $i++) { + map({ $form->{"${_}_accno_id_$i"} = $form->{"std_${_}_accno_id"}; } + qw(income expense)); + } &buchungsgruppe_header; &form_footer; @@ -1559,14 +1547,26 @@ sub list_buchungsgruppe { $form->{title} = $locale->text('Buchungsgruppen'); - @column_index = qw(description inventory_accno income_accno_0 expense_accno_0 income_accno_1 expense_accno_1 income_accno_2 expense_accno_2 income_accno_3 expense_accno_3 ); + @column_index = qw(up down description inventory_accno + income_accno_0 expense_accno_0 + income_accno_1 expense_accno_1 + income_accno_2 expense_accno_2 + income_accno_3 expense_accno_3 ); + $column_header{up} = + qq|| + . qq|| . $locale->text(| + . qq||; + $column_header{down} = + qq|| + . qq|| . $locale->text(| + . qq||; $column_header{description} = - qq|| + qq|| . $locale->text('Description') . qq||; $column_header{inventory_accno} = - qq|| + qq|| . $locale->text('Bestandskonto') . qq||; $column_header{income_accno_0} = @@ -1579,19 +1579,19 @@ sub list_buchungsgruppe { . qq||; $column_header{income_accno_1} = qq|| - . $locale->text('Erlöse EU o. UStId') + . $locale->text('Erlöse EU m. UStId') . qq||; $column_header{expense_accno_1} = qq|| - . $locale->text('Aufwand EU o. UStId') + . $locale->text('Aufwand EU m. UStId') . qq||; $column_header{income_accno_2} = qq|| - . $locale->text('Erlöse EU m. UStId') + . $locale->text('Erlöse EU o. UStId') . qq||; $column_header{expense_accno_2} = qq|| - . $locale->text('Aufwand EU m. UStId') + . $locale->text('Aufwand EU o. UStId') . qq||; $column_header{income_accno_3} = qq|| @@ -1623,6 +1623,11 @@ sub list_buchungsgruppe { |; + my $swap_link = qq|$form->{script}?action=swap_buchungsgruppen&|; + map({ $swap_link .= $_ . "=" . $form->escape($form->{$_}) . "&" } + qw(login password path)); + + my $row = 0; foreach $ref (@{ $form->{ALL} }) { $i++; @@ -1632,6 +1637,27 @@ sub list_buchungsgruppe { |; + if ($row) { + my $pref = $form->{ALL}->[$row - 1]; + $column_data{up} = + qq|| . + qq|| . + qq|| . $locale->text(| . + qq||; + } else { + $column_data{up} = qq| |; + } + + if ($row == (scalar(@{ $form->{ALL} }) - 1)) { + $column_data{down} = qq| |; + } else { + my $nref = $form->{ALL}->[$row + 1]; + $column_data{down} = + qq|| . + qq|| . + qq|| . $locale->text(| . + qq||; + } $column_data{description} = qq|{script}?action=edit_buchungsgruppe&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{description}|; @@ -1654,6 +1680,8 @@ sub list_buchungsgruppe { print qq| |; + + $row++; } print qq| @@ -1677,14 +1705,7 @@ sub list_buchungsgruppe { {password}> |; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| + . $locale->text('Add') . qq|"> @@ -1703,50 +1724,33 @@ sub buchungsgruppe_header { # $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"} .= - "" } + 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; @@ -1762,11 +1766,11 @@ sub buchungsgruppe_header { |; } else { $linkaccounts = qq| - |; - } + {inventory_accno_id}>|; + } - $linkaccounts .= qq| + $linkaccounts .= qq| | . $locale->text('Erlöse Inland') . qq| @@ -1841,7 +1845,7 @@ sub buchungsgruppe_header { | . $locale->text('Buchungsgruppe') . qq| - + $linkaccounts
@@ -1872,6 +1876,15 @@ sub delete_buchungsgruppe { $lxdebug->leave_sub(); } +sub swap_buchungsgruppen { + $lxdebug->enter_sub(); + + AM->swap_sortkeys(\%myconfig, $form, "buchungsgruppen"); + list_buchungsgruppe(); + + $lxdebug->leave_sub(); +} + sub add_printer { $lxdebug->enter_sub(); @@ -1996,14 +2009,7 @@ sub list_printer { {password}> |; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| + . $locale->text('Add') . qq|"> @@ -2082,229 +2088,36 @@ sub delete_printer { $lxdebug->leave_sub(); } - -sub add_adr { +sub add_payment { $lxdebug->enter_sub(); $form->{title} = "Add"; $form->{callback} = - "$form->{script}?action=add_adr&path=$form->{path}&login=$form->{login}&password=$form->{password}" + "$form->{script}?action=add_payment&path=$form->{path}&login=$form->{login}&password=$form->{password}" unless $form->{callback}; - &adr_header; + $form->{terms_netto} = 0; + $form->{terms_skonto} = 0; + $form->{percent_skonto} = 0; + my @languages = AM->language(\%myconfig, $form, 1); + map({ $_->{"language"} = $_->{"description"}; + $_->{"language_id"} = $_->{"id"}; } @languages); + $form->{"TRANSLATION"} = \@languages; + &payment_header; &form_footer; $lxdebug->leave_sub(); } -sub edit_adr { +sub edit_payment { $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|| - . $locale->text('ADR Description') - . qq||; - $column_header{adr_code} = - qq|| - . $locale->text('ADR Code') - . qq||; - - $form->header; - - print qq| - - - - - - - - - - - - - -
$form->{title}
- - -|; - - map { print "$column_header{$_}\n" } @column_index; - - print qq| - -|; - - foreach $ref (@{ $form->{ALL} }) { - - $i++; - $i %= 2; - - print qq| - -|; - - - $column_data{adr_code} = - qq||; - $column_data{adr_description} = qq||; - - - map { print "$column_data{$_}\n" } @column_index; - - print qq| - -|; - } - - print qq| -
{script}?action=edit_adr&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{adr_code}$ref->{adr_description}
-

- -
-
{script}> - - - - - -{path}> -{login}> -{password}> - -|; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| - -
- - - -|; - - $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| - - -
{script}> - -{id}> - - - - - - - - - - - - - - - - - -
$form->{title}
| . $locale->text('ADR Code') . qq|
| . $locale->text('ADR Description') . qq|

-|; - - $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->{title} = "Add"; - - $form->{callback} = - "$form->{script}?action=add_payment&path=$form->{path}&login=$form->{login}&password=$form->{password}" - unless $form->{callback}; - - &payment_header; - &form_footer; - - $lxdebug->leave_sub(); -} - -sub edit_payment { - $lxdebug->enter_sub(); - - $form->{title} = "Edit"; - - AM->get_payment(\%myconfig, \%$form); + AM->get_payment(\%myconfig, $form); + $form->{percent_skonto} = + $form->format_amount(\%myconfig, $form->{percent_skonto} * 100); &payment_header; @@ -2319,15 +2132,23 @@ sub list_payment { AM->payment(\%myconfig, \%$form); - $form->{callback} = - "$form->{script}?action=list_payment&path=$form->{path}&login=$form->{login}&password=$form->{password}"; + $form->{callback} = build_std_url("action=list_payment"); $callback = $form->escape($form->{callback}); $form->{title} = $locale->text('Payment Terms'); - @column_index = qw(description description_long terms_netto terms_skonto percent_skonto); + @column_index = qw(up down description description_long terms_netto + terms_skonto percent_skonto); + $column_header{up} = + qq|| + . qq|| . $locale->text(| + . qq||; + $column_header{down} = + qq|| + . qq|| . $locale->text(| + . qq||; $column_header{description} = qq|| . $locale->text('Description') @@ -2371,6 +2192,9 @@ sub list_payment { |; + my $swap_link = build_std_url("action=swap_payment_terms"); + + my $row = 0; foreach $ref (@{ $form->{ALL} }) { $i++; @@ -2380,21 +2204,48 @@ sub list_payment { |; + if ($row) { + my $pref = $form->{ALL}->[$row - 1]; + $column_data{up} = + qq|| . + qq|
| . + qq|| . $locale->text(| . + qq||; + } else { + $column_data{up} = qq| |; + } + + if ($row == (scalar(@{ $form->{ALL} }) - 1)) { + $column_data{down} = qq| |; + } else { + my $nref = $form->{ALL}->[$row + 1]; + $column_data{down} = + qq|| . + qq|| . + qq|| . $locale->text(| . + qq||; + } $column_data{description} = - qq|{script}?action=edit_payment&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{description}|; - $column_data{description_long} = qq|$ref->{description_long}|; + qq|{id}", "callback=$callback") . + qq|">| . H($ref->{description}) . qq||; + $column_data{description_long} = + qq|| . H($ref->{description_long}) . qq||; $column_data{terms_netto} = qq|$ref->{terms_netto}|; $column_data{terms_skonto} = qq|$ref->{terms_skonto}|; $column_data{percent_skonto} = - qq|$ref->{percent_skonto} %|; + qq|| . + $form->format_amount(\%myconfig, $ref->{percent_skonto} * 100) . + qq|%|; map { print "$column_data{$_}\n" } @column_index; print qq| |; + $row++; } print qq| @@ -2411,21 +2262,14 @@ sub list_payment { - + {path}> {login}> {password}> |; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| + . $locale->text('Add') . qq|">
@@ -2467,14 +2311,26 @@ sub payment_header { | . $locale->text('Description') . qq| - - | . $locale->text('Ranking') . qq| - - | . $locale->text('Long Description') . qq| +|; + + foreach my $language (@{ $form->{"TRANSLATION"} }) { + print qq| + + | . + sprintf($locale->text('Translation (%s)'), + $language->{"language"}) + . qq| + + +|; + } + + print qq| | . $locale->text('Netto Terms') . qq| @@ -2490,7 +2346,38 @@ sub payment_header {
-|; + +

| . $locale->text("You can use the following strings in the long " . + "description and all translations. They will be " . + "replaced by their actual values by Lx-Office " . + "before they're output.") +. qq|

+ +|; $lxdebug->leave_sub(); } @@ -2498,7 +2385,9 @@ sub payment_header { sub save_payment { $lxdebug->enter_sub(); - $form->isblank("description", $locale->text('Language missing!')); + $form->isblank("description", $locale->text('Description missing!')); + $form->{"percent_skonto"} = + $form->parse_amount(\%myconfig, $form->{percent_skonto}) / 100; AM->save_payment(\%myconfig, \%$form); $form->redirect($locale->text('Payment Terms saved!')); @@ -2514,211 +2403,11 @@ sub delete_payment { $lxdebug->leave_sub(); } -sub add_sic { - $lxdebug->enter_sub(); - - $form->{title} = "Add"; - - $form->{callback} = - "$form->{script}?action=add_sic&path=$form->{path}&login=$form->{login}&password=$form->{password}" - unless $form->{callback}; - - &sic_header; - &form_footer; - - $lxdebug->leave_sub(); -} - -sub edit_sic { - $lxdebug->enter_sub(); - - $form->{title} = "Edit"; - - AM->get_sic(\%myconfig, \%$form); - - &sic_header; - - $form->{orphaned} = 1; - &form_footer; - - $lxdebug->leave_sub(); -} - -sub list_sic { - $lxdebug->enter_sub(); - - AM->sic(\%myconfig, \%$form); - - $form->{callback} = - "$form->{script}?action=list_sic&path=$form->{path}&login=$form->{login}&password=$form->{password}"; - - $callback = $form->escape($form->{callback}); - - $form->{title} = $locale->text('Standard Industrial Codes'); - - @column_index = qw(code description); - - $column_header{code} = - qq|| . $locale->text('Code') . qq||; - $column_header{description} = - qq|| . $locale->text('Description') . qq||; - - $form->header; - - print qq| - - - - - - - - - - - - - -
$form->{title}
- - -|; - - map { print "$column_header{$_}\n" } @column_index; - - print qq| - -|; - - foreach $ref (@{ $form->{ALL} }) { - - $i++; - $i %= 2; - - if ($ref->{sictype} eq 'H') { - print qq| - -|; - $column_data{code} = - qq||; - $column_data{description} = qq||; - - } else { - print qq| - -|; - - $column_data{code} = - qq||; - $column_data{description} = qq||; - - } - - map { print "$column_data{$_}\n" } @column_index; - - print qq| - -|; - } - - print qq| -
{script}?action=edit_sic&code=$ref->{code}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{code}$ref->{description}
{script}?action=edit_sic&code=$ref->{code}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{code}$ref->{description}
-

- -
-
{script}> - - - - - -{path}> -{login}> -{password}> - -|; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - - print qq| -
- - - -|; - - $lxdebug->leave_sub(); -} - -sub sic_header { +sub swap_payment_terms { $lxdebug->enter_sub(); - $form->{title} = $locale->text("$form->{title} SIC"); - - # $locale->text('Add SIC') - # $locale->text('Edit SIC') - - $form->{code} =~ s/\"/"/g; - $form->{description} =~ s/\"/"/g; - - $checked = ($form->{sictype} eq 'H') ? "checked" : ""; - - $form->header; - - print qq| - - -
{script}> - - -{code}> - - - - - - - - - - - - - - - - - - - - -
$form->{title}
| . $locale->text('Code') . qq|{code}>
| - . $locale->text('Heading') . qq|
| . $locale->text('Description') . qq|

-|; - - $lxdebug->leave_sub(); -} - -sub save_sic { - $lxdebug->enter_sub(); - - $form->isblank("code", $locale->text('Code missing!')); - $form->isblank("description", $locale->text('Description missing!')); - AM->save_sic(\%myconfig, \%$form); - $form->redirect($locale->text('SIC saved!')); - - $lxdebug->leave_sub(); -} - -sub delete_sic { - $lxdebug->enter_sub(); - - AM->delete_sic(\%myconfig, \%$form); - $form->redirect($locale->text('SIC deleted!')); + AM->swap_sortkeys(\%myconfig, $form, "payment_terms"); + list_payment(); $lxdebug->leave_sub(); } @@ -2767,14 +2456,8 @@ $form->{body} {password}> |; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } + . $locale->text('Edit') . qq|"> - print qq|
@@ -2816,14 +2499,8 @@ $form->{body}
|; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } + . $locale->text('Save') . qq|"> - print q| @@ -2863,12 +2540,64 @@ sub config { : ""; } - foreach $item (qw(address signature)) { - $myconfig{$item} =~ s/\\n/\r\n/g; + if (!$myconfig{"default_media"}) { + $myconfig{"default_media"} = "screen"; + } + my %selected = ($myconfig{"default_media"} => "selected"); + my $default_media = qq| + + + +|; + + %selected = (); + $selected{$myconfig{"default_printer_id"}} = "selected" + if ($myconfig{"default_printer_id"}); + my $default_printer = qq||; + AM->printer(\%myconfig, $form); + foreach my $printer (@{$form->{"ALL"}}) { + $default_printer .= qq||; } %countrycodes = User->country_codes; @@ -2883,19 +2612,6 @@ sub config { } $countrycodes = "