X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fam.pl;h=94fc1928f9067d067ab6ca96ecffd6ca9d7de6b1;hb=5928c14319d76d50522128f1cb98864679f961a9;hp=7f9887753bcd433304ec8c96d35c9f560abaae48;hpb=52ee8da657d1d16b350d8b386a10d5f84b388204;p=kivitendo-erp.git diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl index 7f9887753..94fc1928f 100644 --- a/bin/mozilla/am.pl +++ b/bin/mozilla/am.pl @@ -161,7 +161,7 @@ sub account_header { if ($item eq ''){ $form->{ACCOUNT_TAXKEYS}[$i]{select_tax} .= qq|-\n|; } - elsif ( $item == $taxkey_used->{pos_ustva} ) { + elsif ( $item eq $taxkey_used->{pos_ustva} ) { $form->{ACCOUNT_TAXKEYS}[$i]{select_tax} .= qq|$item\n|; } else { @@ -339,7 +339,7 @@ sub account_header { }; # Ausgabe des Templates - print($form->parse_html_template('am/edit_accounts', $parameters_ref)); + print($form->parse_html_template2('am/edit_accounts', $parameters_ref)); $lxdebug->leave_sub(); @@ -398,18 +398,10 @@ sub save_account { sub list_account { $lxdebug->enter_sub(); - CA->all_accounts(\%myconfig, \%$form); - - $form->{title} = $locale->text('Chart of Accounts'); - - # construct callback - $callback = - "$form->{script}?action=list_account&login=$form->{login}&password=$form->{password}"; + $form->{callback} = build_std_url('action=list_account'); + my $link_edit_account = build_std_url('action=edit_account', 'callback'); - - - # escape callback - $callback = $form->escape($callback); + CA->all_accounts(\%myconfig, \%$form); foreach $ca (@{ $form->{CA} }) { @@ -423,19 +415,11 @@ sub list_account { $ca->{debit} = $form->format_amount(\%myconfig, -1 * $ca->{amount}, 2); } $ca->{heading} = ( $ca->{charttype} eq 'H' ) ? 1:''; - $ca->{link_edit_account} = - qq|$form->{script}?action=edit_account&id=$ca->{id}| - .qq|&login=$form->{login}| - .qq|&password=$form->{password}&callback=$callback|; + $ca->{link_edit_account} = $link_edit_account . '&id=' . E($ca->{id}); } # Ajax - my $list_account_details_url = - "$form->{script}?login=$form->{login}" - ."&password=$form->{password}&action=list_account_details&"; - - - my $pjx = new CGI::Ajax('list_account_details' => $list_account_details_url); + my $pjx = new CGI::Ajax('list_account_details' => build_std_url('action=list_account_details')); # Eneable AJAX debuging #$pjx->DEBUG(1); @@ -444,6 +428,7 @@ sub list_account { push(@ { $form->{AJAX} }, $pjx); $form->{stylesheets} = "list_accounts.css"; + $form->{title} = $locale->text('Chart of Accounts'); $form->header; @@ -461,23 +446,12 @@ sub list_account { sub list_account_details { -# Ajax Funktion aus list_account_details +# Ajax Funktion aus list_account_details $lxdebug->enter_sub(); my $chart_id = $form->{args}; - - CA->all_accounts(\%myconfig, \%$form, $chart_id); - $form->{title} = $locale->text('Chart of Accounts'); - - # construct callback - $callback = - "$form->{script}?action=list_account&login=$form->{login}&password=$form->{password}"; - - $form->header; - - # escape callback - $callback = $form->escape($callback); + CA->all_accounts(\%myconfig, \%$form, $chart_id); foreach $ca (@{ $form->{CA} }) { @@ -494,11 +468,11 @@ sub list_account_details { } my @links = split( q{:}, $ca->{link}); - + $ca->{link} = q{}; - + foreach my $link (@links){ - $link = ( $link eq 'AR') ? $locale->text('Account Link AR') + $link = ( $link eq 'AR') ? $locale->text('Account Link AR') : ( $link eq 'AP') ? $locale->text('Account Link AP') : ( $link eq 'IC') ? $locale->text('Account Link IC') : ( $link eq 'AR_amount' ) ? $locale->text('Account Link AR_amount') @@ -515,16 +489,8 @@ sub list_account_details { : ( $link eq 'IC_taxservice' ) ? $locale->text('Account Link IC_taxservice') # : ( $link eq 'CT_tax' ) ? $locale->text('Account Link CT_tax') : $locale->text('Unknown Link') . ': ' . $link; - $ca->{link} .= ($link ne '') ? "[$link] ":''; } - - $ca->{startdate} =~ s/,//og; - $ca->{tk_ustva} =~ s/,//og; - $ca->{taxkey} =~ s/,//og; - $ca->{taxaccount} =~ s/,//og; - $ca->{taxdescription} =~ s/,//og; - $ca->{datevautomatik} = ($ca->{datevautomatik}) ? $locale->text('On'):$locale->text('Off'); $ca->{category} = ($ca->{category} eq 'A') ? $locale->text('Account Category A') : ($ca->{category} eq 'E') ? $locale->text('Account Category E') @@ -534,29 +500,13 @@ sub list_account_details { : ($ca->{category} eq 'C') ? $locale->text('Account Category C') : ($ca->{category} eq 'G') ? $locale->text('Account Category G') : $locale->text('Unknown Category') . ': ' . $ca->{category}; - - $ca->{link_edit_account} = - qq|$form->{script}?action=edit_account&id=$ca->{id}| - .qq|&login=$form->{login}| - .qq|&password=$form->{password}&callback=$callback|; } + $form->{title} = $locale->text('Chart of Accounts'); + $form->header(); + print $form->parse_html_template2('am/list_account_details'); - - my $parameters_ref = { - - - # hidden_variables => $_hidden_variables_ref, - }; - - # Ausgabe des Templates - #my $q = CGI->new(); - my $result = $form->parse_html_template('am/list_account_details', $parameters_ref); - - print $result; -# print "chart_id:$chart_id, form->chartid:$form->{chart_id}, rest=$rest"; - $lxdebug->leave_sub(); } @@ -1688,11 +1638,11 @@ sub buchungsgruppe_header { 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=\Q$form->{inventory_accno_id}\E/ 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_income} =~ s/ value=\Q$form->{income_accno_id_0}\E/ value=$form->{income_accno_id_0} selected/; $form->{selectIC_expense} =~ s/selected//g; - $form->{selectIC_expense} =~ s/ value=$form->{expense_accno_id_0}/ value=$form->{expense_accno_id_0} selected/; + $form->{selectIC_expense} =~ s/ value=\Q$form->{expense_accno_id_0}\E/ value=$form->{expense_accno_id_0} selected/; } if (!$eur) { @@ -1719,9 +1669,9 @@ sub buchungsgruppe_header { |; if ($form->{id}) { $form->{selectIC_income} =~ s/selected//g; - $form->{selectIC_income} =~ s/ value=$form->{income_accno_id_1}/ value=$form->{income_accno_id_1} selected/; + $form->{selectIC_income} =~ s/ value=\Q$form->{income_accno_id_1}\E/ value=$form->{income_accno_id_1} selected/; $form->{selectIC_expense} =~ s/selected//g; - $form->{selectIC_expense} =~ s/ value=$form->{expense_accno_id_1}/ value=$form->{expense_accno_id_1} selected/; + $form->{selectIC_expense} =~ s/ value=\Q$form->{expense_accno_id_1}\E/ value=$form->{expense_accno_id_1} selected/; } $linkaccounts .= qq| | . $locale->text('Revenues EU with UStId') . qq| @@ -1734,9 +1684,9 @@ sub buchungsgruppe_header { if ($form->{id}) { $form->{selectIC_income} =~ s/selected//g; - $form->{selectIC_income} =~ s/ value=$form->{income_accno_id_2}/ value=$form->{income_accno_id_2} selected/; + $form->{selectIC_income} =~ s/ value=\Q$form->{income_accno_id_2}\E/ value=$form->{income_accno_id_2} selected/; $form->{selectIC_expense} =~ s/selected//g; - $form->{selectIC_expense} =~ s/ value=$form->{expense_accno_id_2}/ value=$form->{expense_accno_id_2} selected/; + $form->{selectIC_expense} =~ s/ value=\Q$form->{expense_accno_id_2}\E/ value=$form->{expense_accno_id_2} selected/; } $linkaccounts .= qq| @@ -1750,9 +1700,9 @@ sub buchungsgruppe_header { if ($form->{id}) { $form->{selectIC_income} =~ s/selected//g; - $form->{selectIC_income} =~ s/ value=$form->{income_accno_id_3}/ value=$form->{income_accno_id_3} selected/; + $form->{selectIC_income} =~ s/ value=\Q$form->{income_accno_id_3}\E/ value=$form->{income_accno_id_3} selected/; $form->{selectIC_expense} =~ s/selected//g; - $form->{selectIC_expense} =~ s/ value=$form->{expense_accno_id_3}/ value=$form->{expense_accno_id_3} selected/; + $form->{selectIC_expense} =~ s/ value=\Q$form->{expense_accno_id_3}\E/ value=$form->{expense_accno_id_3} selected/; } $linkaccounts .= qq| @@ -2352,33 +2302,30 @@ sub swap_payment_terms { $lxdebug->leave_sub(); } +sub _build_cfg_options { + my $idx = shift; + my $array = uc($idx) . 'S'; + + $form->{$array} = []; + foreach my $item (@_) { + push @{ $form->{$array} }, { + 'name' => $item, + 'value' => $item, + 'selected' => $item eq $myconfig{$idx}, + }; + } +} + sub config { $lxdebug->enter_sub(); # get defaults for account numbers and last numbers AM->defaultaccounts(\%myconfig, \%$form); - foreach $item (qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd)) { - $dateformat .= - ($item eq $myconfig{dateformat}) - ? "$item\n" - : "$item\n"; - } - - foreach $item (qw(1,000.00 1000.00 1.000,00 1000,00)) { - $numberformat .= - ($item eq $myconfig{numberformat}) - ? "$item\n" - : "$item\n"; - } - - foreach $item (qw(name company address signature)) { - $myconfig{$item} =~ s/\"/"/g; - } + map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} }; - foreach $item (qw(address signature)) { - $myconfig{$item} =~ s/\\n/\r\n/g; - } + _build_cfg_options('dateformat', qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd)); + _build_cfg_options('numberformat', qw(1,000.00 1000.00 1.000,00 1000,00)); @formats = (); if ($opendocument_templates && $openofficeorg_writer_bin && @@ -2402,346 +2349,79 @@ sub config { if (!$myconfig{"template_format"}) { $myconfig{"template_format"} = "pdf"; } - my $template_format = ""; + $form->{TEMPLATE_FORMATS} = []; foreach $item (@formats) { - $template_format .= - "{value}\"" . - ($item->{"value"} eq $myconfig{"template_format"} ? - " selected" : "") . - ">" . H($item->{"name"}) . ""; + push @{ $form->{TEMPLATE_FORMATS} }, { + 'name' => $item->{name}, + 'value' => $item->{value}, + 'selected' => $item->{value} eq $myconfig{template_format}, + }; } if (!$myconfig{"default_media"}) { $myconfig{"default_media"} = "screen"; } + my %selected = ($myconfig{"default_media"} => "selected"); - my $default_media = qq| - | . $locale->text("Screen") . qq| - | . $locale->text("Printer") . qq| - | . $locale->text("Queue") . qq| -|; + $form->{MEDIA} = [ + { 'name' => $locale->text('Screen'), 'value' => 'screen', 'selected' => $selected{screen}, }, + { 'name' => $locale->text('Printer'), 'value' => 'printer', 'selected' => $selected{printer}, }, + { 'name' => $locale->text('Queue'), 'value' => 'queue', 'selected' => $selected{queue}, }, + ]; - %selected = (); - $selected{$myconfig{"default_printer_id"}} = "selected" - if ($myconfig{"default_printer_id"}); - my $default_printer = qq||; AM->printer(\%myconfig, $form); + + $form->{PRINTERS} = []; foreach my $printer (@{$form->{"ALL"}}) { - $default_printer .= qq|{'id'}}>| . - H($printer->{"printer_description"}) . qq||; + push @{ $form->{PRINTERS} }, { + 'name' => $printer->{printer_description}, + 'value' => $printer->{id}, + 'selected' => $printer->{id} == $myconfig{default_printer_id}, + }; } %countrycodes = User->country_codes; - $countrycodes = ''; - foreach $key (sort { $countrycodes{$a} cmp $countrycodes{$b} } - keys %countrycodes - ) { - $countrycodes .= - ($myconfig{countrycode} eq $key) - ? "$countrycodes{$key}\n" - : "$countrycodes{$key}\n"; - } - $countrycodes = "American English\n$countrycodes"; - foreach $key (keys %{ $form->{IC} }) { - foreach $accno (sort keys %{ $form->{IC}{$key} }) { - $myconfig{$key} .= - ($form->{IC}{$key}{$accno}{id} == $form->{defaults}{$key}) - ? "$accno--$form->{IC}{$key}{$accno}{description}\n" - : "$accno--$form->{IC}{$key}{$accno}{description}\n"; - } + $countrycodes{""} = "American English"; + $form->{COUNTRYCODES} = []; + foreach $countrycode (sort { $countrycodes{$a} cmp $countrycodes{$b} } keys %countrycodes) { + push @{ $form->{COUNTRYCODES} }, { + 'name' => $countrycodes{$countrycode}, + 'value' => $countrycode, + 'selected' => $countrycode eq $myconfig{countrycode}, + }; } -# opendir CSS, "css/."; -# @all = grep /.*\.css$/, readdir CSS; -# closedir CSS; - -# css dir has styles that are not intended as general layouts. -# reverting to hardcoded list - @all = qw(lx-office-erp.css Win2000.css); - - foreach $item (@all) { - if ($item eq $myconfig{stylesheet}) { - $selectstylesheet .= qq|$item\n|; - } else { - $selectstylesheet .= qq|$item\n|; + foreach $key (keys %{ $form->{IC} }) { + foreach $accno (sort keys %{ $form->{IC}->{$key} }) { + my $array = "ACCNOS_" . uc($key); + $form->{$array} ||= []; + + my $value = "${accno}--" . $form->{IC}->{$key}->{$accno}->{description}; + push @{ $form->{$array} }, { + 'name' => $value, + 'value' => $value, + 'selected' => $form->{IC}->{$key}->{$accno}->{id} == $form->{defaults}->{$key}, + }; } } - $selectstylesheet .= "\n"; - - $form->{title} = $locale->text('Edit Preferences for') . qq| $form->{login}|; - - $form->header; - if ($myconfig{menustyle} eq "old") { - $menustyle_old = "checked"; - } elsif ($myconfig{menustyle} eq "neu") { - $menustyle_neu = "checked"; - } elsif ($myconfig{menustyle} eq "v3") { - $menustyle_v3 = "checked"; + $form->{STYLESHEETS} = []; + foreach $item (qw(lx-office-erp.css Win2000.css)) { + push @{ $form->{STYLESHEETS} }, { + 'name' => $item, + 'value' => $item, + 'selected' => $item eq $myconfig{stylesheet}, + }; } - my ($show_form_details, $hide_form_details); - $myconfig{"show_form_details"} = 1 - unless (defined($myconfig{"show_form_details"})); - $show_form_details = "checked" if ($myconfig{"show_form_details"}); - $hide_form_details = "checked" unless ($myconfig{"show_form_details"}); - - print qq| - - -{script}> - - - - - - - $form->{title} - - - - - | . $locale->text('Name') . qq| - - - - | . $locale->text('Password') . qq| - - - - | . $locale->text('E-mail') . qq| - - - - | . $locale->text('Signature') . qq| - $myconfig{signature} - - - | . $locale->text('Phone') . qq| - - - - | . $locale->text('Fax') . qq| - - - - | . $locale->text('Company') . qq| - - - - | . $locale->text('Address') . qq| - $myconfig{address} - - - | . $locale->text('Date Format') . qq| - $dateformat - - - | . $locale->text('Output Number Format') . qq| - $numberformat - - - - | . $locale->text('Dropdown Limit') . qq| - - - - | . $locale->text('Language') . qq| - $countrycodes - - - | . $locale->text('Stylesheet') . qq| - $selectstylesheet - - - | . $locale->text('Setup Menu') . qq| - | . - $locale->text("Top (CSS)") . qq| - | . - $locale->text("Top (Javascript)") . qq| - | . - $locale->text("Old (on the side)") . qq| - - - | . $locale->text('Form details (second row)') . qq| - - | . $locale->text('Show by default') . qq| - - | . $locale->text('Hide by default') . qq| - - - - | . $locale->text("Print options") . qq| - - - | . $locale->text('Default template format') . qq| - $template_format - - - | . $locale->text('Default output medium') . qq| - $default_media - - - | . $locale->text('Default printer') . qq| - $default_printer - - - | . $locale->text('Number of copies') . qq| - - - + $myconfig{show_form_details} = 1 unless (defined($myconfig{show_form_details})); + $form->{"menustyle_$myconfig{menustyle}"} = 1; - - - - - | . $locale->text('Business Number') . qq| - - - - | . $locale->text('Year End') . qq| (mm/dd) - {defaults}{yearend}> - - - | - . $locale->text('Last Numbers & Default Accounts') . qq| - - - - - - | . $locale->text('Inventory Account') . qq| - $myconfig{IC} - - - | . $locale->text('Revenue Account') . qq| - $myconfig{IC_income} - - - | . $locale->text('Expense Account') . qq| - $myconfig{IC_expense} - - - | . $locale->text('Foreign Exchange Gain') . qq| - $myconfig{FX_gain} - - - | . $locale->text('Foreign Exchange Loss') . qq| - $myconfig{FX_loss} - - - | - . $locale->text( - 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' - ) - . qq| - - - - - - - - - | . $locale->text('Last Invoice Number') . qq| - {defaults}{invnumber}> - | - . $locale->text('Last Customer Number') . qq| - {defaults}{customernumber}> - - - | - . $locale->text('Last Credit Note Number') . qq| - {defaults}{cnnumber}> - | - . $locale->text('Last Vendor Number') . qq| - {defaults}{vendornumber}> - - - | - . $locale->text('Last Sales Order Number') . qq| - {defaults}{sonumber}> - - - | - . $locale->text('Last Purchase Order Number') . qq| - {defaults}{ponumber}> - | - . $locale->text('Last Article Number') . qq| - {defaults}{articlenumber}> - - - | - . $locale->text('Last Sales Quotation Number') . qq| - {defaults}{sqnumber}> - | - . $locale->text('Last Service Number') . qq| - {defaults}{servicenumber}> - - - | . $locale->text('Last RFQ Number') . qq| - {defaults}{rfqnumber}> - - - - - - |; -# -# | . $locale->text('Tax Accounts') . qq| -# -# -# -# -# -# -# | . $locale->text('Rate') . qq| (%) -# | . $locale->text('Number') . qq| -# -# |; -# -# foreach $accno (sort keys %{ $form->{taxrates} }) { -# print qq| -# -# $form->{taxrates}{$accno}{description} -# {taxrates}{$accno}{id} size=6 value=$form->{taxrates}{$accno}{rate}> -# -# -# |; -# $form->{taxaccounts} .= "$form->{taxrates}{$accno}{id} "; -# } -# -# chop $form->{taxaccounts}; -# -# print qq| -# -# -# -# -# -print qq| - - - - - - - -{login}> -{password}> - - - - - + $form->{title} = $locale->text('Edit Preferences for #1', $form->{login}); - -