X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fct.pl;h=bc4f42829d9a83a1845c74986aa6257964f6595d;hb=1296b8698b6f6ac80bcb63b0f94dd56e07046e9c;hp=a4171b8177d0e4ba200a8e91bf267795201fa939;hpb=9aaca43317d3ea33d80a308cab7ce4c20d732a16;p=kivitendo-erp.git
diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl
index a4171b817..bc4f42829 100644
--- a/bin/mozilla/ct.pl
+++ b/bin/mozilla/ct.pl
@@ -37,11 +37,11 @@
# $locale->text('Add Customer')
# $locale->text('Add Vendor')
-use CGI;
use CGI::Ajax;
use POSIX qw(strftime);
use SL::CT;
+use SL::CVar;
use SL::ReportGenerator;
require "bin/mozilla/common.pl";
@@ -54,10 +54,12 @@ require "bin/mozilla/reportgenerator.pl";
sub add {
$lxdebug->enter_sub();
+ $auth->assert('customer_vendor_edit');
+
$form->{title} = "Add";
$form->{callback} =
- "$form->{script}?action=add&db=$form->{db}&login=$form->{login}&password=$form->{password}"
+ "$form->{script}?action=add&db=$form->{db}"
unless $form->{callback};
CT->populate_drop_down_boxes(\%myconfig, \%$form);
@@ -71,13 +73,22 @@ sub add {
sub search {
$lxdebug->enter_sub();
+ $auth->assert('customer_vendor_edit');
+
$form->{IS_CUSTOMER} = $form->{db} eq 'customer';
$form->get_lists("business_types" => "ALL_BUSINESS_TYPES");
$form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
- $form->{title} = $form->{IS_CUSTOMER} ? $locale->text('Customers') : $locale->text('Vendors');
- $form->{fokus} = 'Form.name';
+ $form->{CUSTOM_VARIABLES} = CVar->get_configs('module' => 'CT');
+ ($form->{CUSTOM_VARIABLES_FILTER_CODE},
+ $form->{CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CUSTOM_VARIABLES},
+ 'include_prefix' => 'l_',
+ 'include_value' => 'Y');
+
+ $form->{jsscript} = 1;
+ $form->{title} = $form->{IS_CUSTOMER} ? $locale->text('Customers') : $locale->text('Vendors');
+ $form->{fokus} = 'Form.name';
$form->header();
print $form->parse_html_template('ct/search');
@@ -88,30 +99,25 @@ sub search {
sub list_names {
$lxdebug->enter_sub();
+ $auth->assert('customer_vendor_edit');
+
$form->{IS_CUSTOMER} = $form->{db} eq 'customer';
CT->search(\%myconfig, \%$form);
+ my $cvar_configs = CVar->get_configs('module' => 'CT');
+
my @options;
if ($form->{status} eq 'all') {
push @options, $locale->text('All');
-
} elsif ($form->{status} eq 'orphaned') {
push @options, $locale->text('Orphaned');
}
- if ($form->{name}) {
- push @options, $locale->text('Name') . " : $form->{name}";
- }
- if ($form->{contact}) {
- push @options, $locale->text('Contact') . " : $form->{contact}";
- }
- if ($form->{"$form->{db}number"}) {
- push @options, $locale->text('Number') . qq| : $form->{"$form->{db}number"}|;
- }
- if ($form->{email}) {
- push @options, $locale->text('E-mail') . " : $form->{email}";
- }
+ push @options, $locale->text('Name') . " : $form->{name}" if $form->{name};
+ push @options, $locale->text('Contact') . " : $form->{contact}" if $form->{contact};
+ push @options, $locale->text('Number') . qq| : $form->{"$form->{db}number"}| if $form->{"$form->{db}number"};
+ push @options, $locale->text('E-mail') . " : $form->{email}" if $form->{email};
my @columns = (
'id', 'name', "$form->{db}number", 'address', 'contact', 'phone',
@@ -119,6 +125,11 @@ sub list_names {
'ordnumber', 'quonumber'
);
+ my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
+ my %column_defs_cvars = map { +"cvar_$_->{name}" => { 'text' => $_->{description} } } @includeable_custom_variables;
+
+ push @columns, map { "cvar_$_->{name}" } @includeable_custom_variables;
+
my %column_defs = (
'id' => { 'text' => $locale->text('ID'), },
"$form->{db}number" => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Customer Number') : $locale->text('Vendor Number'), },
@@ -135,6 +146,7 @@ sub list_names {
'invnumber' => { 'text' => $locale->text('Invoice'), },
'ordnumber' => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Sales Order') : $locale->text('Purchase Order'), },
'quonumber' => { 'text' => $form->{IS_CUSTOMER} ? $locale->text('Quotation') : $locale->text('Request for Quotation'), },
+ %column_defs_cvars,
);
map { $column_defs{$_}->{visible} = $form->{"l_$_"} eq 'Y' } @columns;
@@ -177,6 +189,12 @@ sub list_names {
$report->set_sort_indicator($form->{sort}, 1);
+ CVar->add_custom_variables_to_report('module' => 'CT',
+ 'trans_id_field' => 'id',
+ 'configs' => $cvar_configs,
+ 'column_defs' => \%column_defs,
+ 'data' => $form->{CT});
+
my $previous_id;
foreach my $ref (@{ $form->{CT} }) {
@@ -208,6 +226,8 @@ sub list_names {
sub edit {
$lxdebug->enter_sub();
+ $auth->assert('customer_vendor_edit');
+
# show history button
$form->{javascript} = qq||;
#/show hhistory button
@@ -235,573 +255,45 @@ sub edit {
sub form_header {
$lxdebug->enter_sub();
- $form->get_lists("employees" => "ALL_SALESMEN",
- "taxzones" => "ALL_TAXZONES");
-
- $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
- $form->{creditlimit} =
- $form->format_amount(\%myconfig, $form->{creditlimit}, 0);
- $form->{discount} = $form->format_amount(\%myconfig, $form->{discount});
-
- if ($myconfig{role} eq 'admin') {
- $bcc = qq|
-
- | . $locale->text('Bcc') . qq| |
- |
-
-|;
- }
- $form->{obsolete} = "checked" if $form->{obsolete};
-
- $lang = qq||;
- foreach $item (@{ $form->{languages} }) {
- if ($form->{language_id} eq $item->{id}) {
- $lang .= qq||;
- } else {
- $lang .= qq||;
- }
- }
-
- $payment = qq||;
- foreach $item (@{ $form->{payment_terms} }) {
- if ($form->{payment_id} eq $item->{id}) {
- $payment .= qq||;
- } else {
- $payment .= qq||;
- }
- }
-
- if (!$form->{id}) {
- if ($form->{db} eq "customer") {
- $form->{taxzone_id} = 0;
- } else {
- $form->{taxzone_id} = 0;
- }
- }
-
- %labels = ();
- @values = ();
- foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
- push(@values, $item->{"id"});
- $labels{$item->{"id"}} = $item->{"description"};
- }
-
- $taxzone = qq|
- | . $locale->text('Steuersatz') . qq| |
- | .
- NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
- '-values' => \@values, '-labels' => \%labels)) . qq|
- |
-|;
-
- $get_contact_url =
- "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_contact";
-
- my $pjx = new CGI::Ajax( 'get_contact' => $get_contact_url );
- $form->{selectcontact} = "";
- if (@{ $form->{CONTACTS} }) {
- foreach $item (@{ $form->{CONTACTS} }) {
- if ($item->{cp_id} == $form->{cp_id}) {
- $form->{selectcontact} .=
- qq|\n|;
- } else {
- $form->{selectcontact} .=
- qq|\n|;
- }
-
- }
- }
- push(@ { $form->{AJAX} }, $pjx);
- $ansprechpartner = qq|
-
- | . $locale->text('Ansprechpartner') . qq| |
- |
-
-
|;
- $get_shipto_url =
- "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_shipto";
-
- my $pjy = new CGI::Ajax( 'get_shipto' => $get_shipto_url );
- $form->{selectshipto} = "";
- $form->{selectshipto} .= "";
- if (@{ $form->{SHIPTO} }) {
- foreach $item (@{ $form->{SHIPTO} }) {
- if ($item->{shipto_id} == $form->{shipto_id}) {
- $form->{selectshipto} .=
- "\n|;
- map {
- $form->{selectpricegroup} .=
- qq|$_->{pricegroup}\n|
- } @{ $form->{all_pricegroup} };
- }
+ $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'CT', 'trans_id' => $form->{id});
- if ($form->{selectpricegroup}) {
- $form->{selectpricegroup} = $form->unescape($form->{selectpricegroup});
-
- $pricegroup =
- qq||;
-
- $form->{selectpricegroup} =~
- s/($form->{selectpricegroup}|;
-
- }
- }
+ CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}) if (scalar @{ $form->{CUSTOM_VARIABLES} });
- # $locale->text('Customer Number')
- # $locale->text('Vendor Number')
- $form->{fokus} = "ct.greeting";
- $form->{jsscript} = 1;
$form->header;
-
- print qq|
-
-
-
-
-