X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=bin%2Fmozilla%2Fam.pl;h=997fd2c284006041dfa1049e787ee6d553dc0556;hb=02cb7e02771247f3106001076366d119277a7d30;hp=fe9199ef0fba6f2b5b879f6cb810a2d99bab7dc7;hpb=8ab8cad9c06edcaa424a13cd6e23d39a02135f07;p=kivitendo-erp.git
diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl
index fe9199ef0..997fd2c28 100644
--- a/bin/mozilla/am.pl
+++ b/bin/mozilla/am.pl
@@ -31,7 +31,10 @@
#
#======================================================================
+use utf8;
+
use SL::Auth;
+use SL::Auth::PasswordPolicy;
use SL::AM;
use SL::CA;
use SL::Form;
@@ -39,11 +42,9 @@ use SL::User;
use SL::USTVA;
use SL::Iconv;
use SL::TODO;
-use CGI::Ajax;
+use SL::Printer;
use CGI;
-use Data::Dumper;
-
require "bin/mozilla/common.pl";
use strict;
@@ -212,29 +213,29 @@ sub account_header {
my $select_eur = q|\n|;
my %eur = (
- 1 => "Umsatzerlöse",
- 2 => "sonstige Erlöse",
+ 1 => "Umsatzerlöse",
+ 2 => "sonstige Erlöse",
3 => "Privatanteile",
- 4 => "Zinserträge",
- 5 => "Ausserordentliche Erträge",
+ 4 => "Zinserträge",
+ 5 => "Ausserordentliche Erträge",
6 => "Vereinnahmte Umsatzst.",
7 => "Umsatzsteuererstattungen",
- 8 => "Wareneingänge",
- 9 => "Löhne und Gehälter",
+ 8 => "Wareneingänge",
+ 9 => "Löhne und Gehälter",
10 => "Gesetzl. sozialer Aufw.",
11 => "Mieten",
12 => "Gas, Strom, Wasser",
13 => "Instandhaltung",
- 14 => "Steuern, Versich., Beiträge",
+ 14 => "Steuern, Versich., Beiträge",
15 => "Kfz-Steuern",
16 => "Kfz-Versicherungen",
17 => "Sonst. Fahrzeugkosten",
18 => "Werbe- und Reisekosten",
19 => "Instandhaltung u. Werkzeuge",
- 20 => "Fachzeitschriften, Bücher",
- 21 => "Miete für Einrichtungen",
+ 20 => "Fachzeitschriften, Bücher",
+ 21 => "Miete für Einrichtungen",
22 => "Rechts- und Beratungskosten",
- 23 => "Bürobedarf, Porto, Telefon",
+ 23 => "Bürobedarf, Porto, Telefon",
24 => "Sonstige Aufwendungen",
25 => "Abschreibungen auf Anlagever.",
26 => "Abschreibungen auf GWG",
@@ -244,7 +245,7 @@ sub account_header {
30 => "Ausserordentlicher Aufwand",
31 => "Betriebliche Steuern");
foreach my $item (sort({ $a <=> $b } keys(%eur))) {
- my $text = H(SL::Iconv::convert("ISO-8859-15", $main::dbcharset, $eur{$item}));
+ my $text = H($::locale->{iconv_utf8}->convert($eur{$item}));
if ($item == $form->{pos_eur}) {
$select_eur .= qq|\n|;
} else {
@@ -256,30 +257,30 @@ sub account_header {
my $select_bwa = q|\n|;
my %bwapos = (
- 1 => 'Umsatzerlöse',
+ 1 => 'Umsatzerlöse',
2 => 'Best.Verdg.FE/UE',
3 => 'Aktiv.Eigenleistung',
4 => 'Mat./Wareneinkauf',
- 5 => 'So.betr.Erlöse',
+ 5 => 'So.betr.Erlöse',
10 => 'Personalkosten',
11 => 'Raumkosten',
12 => 'Betriebl.Steuern',
- 13 => 'Vers./Beiträge',
+ 13 => 'Vers./Beiträge',
14 => 'Kfz.Kosten o.St.',
15 => 'Werbe-Reisek.',
16 => 'Kosten Warenabgabe',
17 => 'Abschreibungen',
18 => 'Rep./instandhlt.',
- 19 => 'Übrige Steuern',
+ 19 => 'Ãbrige Steuern',
20 => 'Sonst.Kosten',
30 => 'Zinsauwand',
31 => 'Sonst.neutr.Aufw.',
- 32 => 'Zinserträge',
+ 32 => 'Zinserträge',
33 => 'Sonst.neutr.Ertrag',
34 => 'Verr.kalk.Kosten',
35 => 'Steuern Eink.u.Ertr.');
foreach my $item (sort({ $a <=> $b } keys %bwapos)) {
- my $text = H(SL::Iconv::convert("ISO-8859-15", $main::dbcharset, $bwapos{$item}));
+ my $text = H($::locale->{iconv_utf8}->convert($bwapos{$item}));
if ($item == $form->{pos_bwa}) {
$select_bwa .= qq|\n|;
foreach my $item ((1, 2, 3, 4)) {
if ($item == $form->{pos_bilanz}) {
@@ -331,7 +332,7 @@ sub account_header {
my %charttype = (
'A' => $locale->text('Account'),
- 'H' => $locale->text('Header'),
+ 'H' => $locale->text('Heading'),
);
foreach my $item ( sort({ $a <=> $b } keys %charttype) ) {
@@ -344,12 +345,22 @@ sub account_header {
}
+ # account where AR_tax or AP_tax is set are not orphaned if they are used as
+ # tax-o-matic account
+ if ( $form->{id} && !$form->{orphaned} && ($form->{link} =~ m/(AP_tax|AR_tax)/) ) {
+ if (SL::DB::Manager::Tax->find_by(chart_id => $form->{id})) {
+ $form->{orphaned} = 0;
+ }
+ }
+
my $ChartTypeIsAccount = ($form->{charttype} eq "A") ? "1":"";
+ my $AccountIsPosted = ($form->{orphaned} ) ? "":"1";
$form->header();
my $parameters_ref = {
ChartTypeIsAccount => $ChartTypeIsAccount,
+ AccountIsPosted => $AccountIsPosted,
select_category => $select_category,
select_charttype => $select_charttype,
select_bwa => $select_bwa,
@@ -491,16 +502,7 @@ sub list_account {
$ca->{link_edit_account} = $link_edit_account . '&id=' . E($ca->{id});
}
- # Ajax
- my $pjx = new CGI::Ajax('list_account_details' => build_std_url('action=list_account_details'));
-
- # Eneable AJAX debuging
- #$pjx->DEBUG(1);
- #$pjx->JSDEBUG(1);
-
- push(@ { $form->{AJAX} }, $pjx);
-
- $form->{stylesheets} = "list_accounts.css";
+ $form->use_stylesheet("list_accounts.css");
$form->{title} = $locale->text('Chart of Accounts');
$form->header;
@@ -566,7 +568,6 @@ sub list_account_details {
: ( $link eq 'IC_income' ) ? $locale->text('Account Link IC_income')
: ( $link eq 'IC_expense' ) ? $locale->text('Account Link IC_expense')
: ( $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] ":'';
}
@@ -582,9 +583,8 @@ sub list_account_details {
}
$form->{title} = $locale->text('Chart of Accounts');
- $form->header();
- print $form->parse_html_template('am/list_account_details');
+ print $form->ajax_response_header, $form->parse_html_template('am/list_account_details');
$main::lxdebug->leave_sub();
@@ -616,7 +616,7 @@ sub delete_account {
$main::lxdebug->leave_sub();
}
-sub add_department {
+sub add_lead {
$main::lxdebug->enter_sub();
my $form = $main::form;
@@ -624,17 +624,16 @@ sub add_department {
$main::auth->assert('config');
$form->{title} = "Add";
- $form->{role} = "P";
- $form->{callback} = "am.pl?action=add_department" unless $form->{callback};
+ $form->{callback} = "am.pl?action=add_lead" unless $form->{callback};
- &department_header;
+ &lead_header;
&form_footer;
$main::lxdebug->leave_sub();
}
-sub edit_department {
+sub edit_lead {
$main::lxdebug->enter_sub();
my $form = $main::form;
@@ -644,15 +643,17 @@ sub edit_department {
$form->{title} = "Edit";
- AM->get_department(\%myconfig, \%$form);
+ AM->get_lead(\%myconfig, \%$form);
+
+ &lead_header;
- &department_header;
+ $form->{orphaned} = 1;
&form_footer;
$main::lxdebug->leave_sub();
}
-sub list_department {
+sub list_lead {
$main::lxdebug->enter_sub();
my $form = $main::form;
@@ -661,28 +662,20 @@ sub list_department {
$main::auth->assert('config');
- AM->departments(\%myconfig, \%$form);
+ AM->lead(\%myconfig, \%$form);
- $form->{callback} = "am.pl?action=list_department";
+ $form->{callback} = "am.pl?action=list_lead";
my $callback = $form->escape($form->{callback});
- $form->{title} = $locale->text('Departments');
+ $form->{title} = $locale->text('Lead');
my @column_index = qw(description cost profit);
my %column_header;
$column_header{description} =
- qq|
|
+ qq| | |
. $locale->text('Description')
. qq| | |;
- $column_header{cost} =
- qq||
- . $locale->text('Cost Center')
- . qq| | |;
- $column_header{profit} =
- qq||
- . $locale->text('Profit Center')
- . qq| | |;
$form->header;
@@ -694,16 +687,13 @@ sub list_department {
$form->{title} |
-
-
-
-
+
|;
map { print "$column_header{$_}\n" } @column_index;
print qq|
-
+
|;
my ($i, %column_data);
@@ -713,28 +703,21 @@ sub list_department {
$i %= 2;
print qq|
-
+
|;
- my $costcenter = ($ref->{role} eq "C") ? "X" : "";
- my $profitcenter = ($ref->{role} eq "P") ? "X" : "";
+# $lead = $ref->{lead};
- $column_data{description} =
- qq|$ref->{description} | |;
- $column_data{cost} = qq|$costcenter | |;
- $column_data{profit} = qq|$profitcenter | |;
+ $column_data{description} = qq|$ref->{lead} | |;
map { print "$column_data{$_}\n" } @column_index;
print qq|
-
+
|;
}
print qq|
-
- |
-
|
@@ -745,7 +728,7 @@ sub list_department {
-
+
@@ -759,7 +742,7 @@ sub list_department {
$main::lxdebug->leave_sub();
}
-sub department_header {
+sub lead_header {
$main::lxdebug->enter_sub();
my $form = $main::form;
@@ -767,24 +750,15 @@ sub department_header {
$main::auth->assert('config');
- $form->{title} = $locale->text("$form->{title} Department");
+ $form->{title} = $locale->text("$form->{title} Lead");
- # $locale->text('Add Department')
- # $locale->text('Edit Department')
+ # $locale->text('Add Lead')
+ # $locale->text('Edit Lead')
$form->{description} =~ s/\"/"/g;
- my ($rows, $description);
- if (($rows = $form->numtextrows($form->{description}, 60)) > 1) {
- $description =
- qq||;
- } else {
- $description =
- qq||;
- }
-
- my $costcenter = "checked" if $form->{role} eq "C";
- my $profitcenter = "checked" if $form->{role} eq "P";
+ my $description =
+ qq||;
$form->header;
@@ -794,7 +768,7 @@ sub department_header {
-
-
-
-|;
-
- $main::lxdebug->leave_sub();
-}
-
-sub business_header {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my %myconfig = %main::myconfig;
- my $locale = $main::locale;
-
- $main::auth->assert('config');
-
- $form->{title} = $locale->text("$form->{title} Business");
-
- # $locale->text('Add Business')
- # $locale->text('Edit Business')
-
- $form->{description} =~ s/\"/"/g;
- $form->{discount} =
- $form->format_amount(\%myconfig, $form->{discount} * 100);
-
- my $salesman_code;
- if ($::vertreter) {
- $salesman_code = qq|
-
- | . $locale->text('Representative') . qq| |
- | . $::cgi->checkbox(-name => "salesman", -value => 1, -label => '', 'checked' => $form->{salesman} ? 1 : 0) . qq| |
-
-|;
- } else {
- $salesman_code = $::cgi->hidden(-name => 'salesman', -value => $form->{salesman} ? 1 : 0);
- }
-
- $form->header;
-
- print qq|
-
-
-
-
-
-
-|;
-
- $main::lxdebug->leave_sub();
-}
-
-sub language_header {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my $locale = $main::locale;
-
- $main::auth->assert('config');
-
- $form->{title} = $locale->text("$form->{title} Language");
-
- # $locale->text('Add Language')
- # $locale->text('Edit Language')
-
- $form->{description} =~ s/\"/"/g;
- $form->{template_code} =~ s/\"/"/g;
- $form->{article_code} =~ s/\"/"/g;
-
-
- $form->header;
-
- my $numberformat =
- qq||;
- foreach my $item (('1,000.00', '1000.00', '1.000,00', '1000,00')) {
- $numberformat .=
- ($item eq $form->{output_numberformat})
- ? "";
- }
-
- my $dateformat =
- qq||;
- foreach my $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|
-
-
-
-
-
-
-|;
-
- $main::lxdebug->leave_sub();
-}
-
-sub buchungsgruppe_header {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my $locale = $main::locale;
-
- $main::auth->assert('config');
-
- $form->{title} = $locale->text("$form->{title} Buchungsgruppe");
-
- # $locale->text('Add Accounting Group')
- # $locale->text('Edit Accounting Group')
-
- 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,
- );
-
- foreach my $key (keys(%acc_type_map)) {
- foreach my $ref (@{ $form->{IC_links}{$key} }) {
- $acc_type_map{$key}->{$ref->{"id"}} = $ref;
- }
- }
-
- foreach my $type (qw(IC IC_income IC_expense)) {
- $form->{"select$type"} =
- join("",
- map({ "" }
- sort({ $a->{"accno"} cmp $b->{"accno"} }
- values(%{$acc_type_map{$type}}))));
- }
-
- if ($form->{id}) {
- $form->{selectIC} =~ s/selected//g;
- $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=\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=\Q$form->{expense_accno_id_0}\E/ value=$form->{expense_accno_id_0} selected/;
- }
-
- my $linkaccounts;
- if (!$main::eur) {
- $linkaccounts = qq|
-
- | . $locale->text('Inventory') . qq| |
- |
-
-
|;
- } else {
- $linkaccounts = qq|
- {inventory_accno_id}>|;
- }
-
-
- $linkaccounts .= qq|
-
- | . $locale->text('National Revenues') . qq| |
- |
-
-
- | . $locale->text('National Expenses') . qq| |
- |
-
|;
- if ($form->{id}) {
- $form->{selectIC_income} =~ s/selected//g;
- $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=\Q$form->{expense_accno_id_1}\E/ value=$form->{expense_accno_id_1} selected/;
- }
- $linkaccounts .= qq|
- | . $locale->text('Revenues EU with UStId') . qq| |
- |
-
-
- | . $locale->text('Expenses EU with UStId') . qq| |
- |
-
|;
-
- if ($form->{id}) {
- $form->{selectIC_income} =~ s/selected//g;
- $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=\Q$form->{expense_accno_id_2}\E/ value=$form->{expense_accno_id_2} selected/;
- }
-
- $linkaccounts .= qq|
- | . $locale->text('Revenues EU without UStId') . qq| |
- |
-
-
- | . $locale->text('Expenses EU without UStId') . qq| |
- |
-
|;
-
- if ($form->{id}) {
- $form->{selectIC_income} =~ s/selected//g;
- $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=\Q$form->{expense_accno_id_3}\E/ value=$form->{expense_accno_id_3} selected/;
- }
-
- $linkaccounts .= qq|
- | . $locale->text('Foreign Revenues') . qq| |
- |
-
-
- | . $locale->text('Foreign Expenses') . qq| |
- |
-
-|;
-
-
- $form->header;
-
- print qq|
-
-
-
-
-
-
-|;
-
- $main::lxdebug->leave_sub();
-}
-
-sub printer_header {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my $locale = $main::locale;
-
- $main::auth->assert('config');
-
- $form->{title} = $locale->text("$form->{title} Printer");
-
- # $locale->text('Add Printer')
- # $locale->text('Edit Printer')
-
- $form->{printer_description} =~ s/\"/"/g;
- $form->{template_code} =~ s/\"/"/g;
- $form->{printer_command} =~ s/\"/"/g;
-
-
- $form->header;
-
- print qq|
-
-
-