X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fct.pl;h=15d922dde8aee8e4c80924d3755e46ae9d52a224;hb=03d3d025ea4c8bea085fc7cdf1fe7be0b513eb63;hp=a86a4568408463d44e72ee7d9bfde2d6c2166b62;hpb=3635a3730b79523a44f52713b026957112125284;p=kivitendo-erp.git diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl index a86a45684..15d922dde 100644 --- a/bin/mozilla/ct.pl +++ b/bin/mozilla/ct.pl @@ -52,8 +52,10 @@ use SL::CVar; use SL::Request qw(flatten); use SL::DB::Business; use SL::DB::Default; +use SL::DB::DeliveryTerm; use SL::Helper::Flash; use SL::ReportGenerator; +use SL::MoreCommon qw(uri_encode); require "bin/mozilla/common.pl"; require "bin/mozilla/reportgenerator.pl"; @@ -66,18 +68,13 @@ use strict; sub add { $main::lxdebug->enter_sub(); - $main::auth->assert('customer_vendor_edit'); - - my $form = $main::form; - my %myconfig = %main::myconfig; - - $form->{title} = "Add"; - $form->{callback} = "$form->{script}?action=add&db=$form->{db}" unless $form->{callback}; + my $url = 'controller.pl?action=CustomerVendor/add&db='. ($::form->{db} eq 'vendor' ? 'vendor' : 'customer'); - CT->populate_drop_down_boxes(\%myconfig, \%$form); + if ( $::form->{callback} ) { + $url .= '&callback='. uri_encode($::form->{callback}); + } - &form_header; - &form_footer; + print $::form->redirect_header($url); $main::lxdebug->leave_sub(); } @@ -101,9 +98,7 @@ sub search { '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'); @@ -115,9 +110,6 @@ sub search_contact { $::lxdebug->enter_sub; $::auth->assert('customer_vendor_edit'); - my $form = $main::form; - my $locale = $main::locale; - $::form->{CUSTOM_VARIABLES} = CVar->get_configs('module' => 'Contacts'); ($::form->{CUSTOM_VARIABLES_FILTER_CODE}, $::form->{CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $::form->{CUSTOM_VARIABLES}, @@ -125,7 +117,7 @@ sub search_contact { 'filter_prefix' => 'filter.', 'include_value' => 'Y'); - $form->{title} = $locale->text('Search contacts'); + $::form->{title} = $::locale->text('Search contacts'); $::form->header; print $::form->parse_html_template('ct/search_contact'); @@ -164,6 +156,7 @@ sub list_names { push @options, $locale->text('Billing/shipping address (city)') . " : $form->{addr_city}" if $form->{addr_city}; push @options, $locale->text('Billing/shipping address (zipcode)') . " : $form->{zipcode}" if $form->{addr_zipcode}; push @options, $locale->text('Billing/shipping address (street)') . " : $form->{street}" if $form->{addr_street}; + push @options, $locale->text('Billing/shipping address (country)') . " : $form->{country}" if $form->{addr_country}; if ($form->{business_id}) { my $business = SL::DB::Manager::Business->find_by(id => $form->{business_id}); @@ -174,9 +167,9 @@ sub list_names { } my @columns = ( - 'id', 'name', "$form->{db}number", 'contact', 'phone', - 'fax', 'email', 'taxnumber', 'street', 'zipcode' , 'city', - 'business', 'invnumber', 'ordnumber', 'quonumber' + 'id', 'name', "$form->{db}number", 'contact', 'phone', 'discount', + 'fax', 'email', 'taxnumber', 'street', 'zipcode' , 'city', + 'business', 'invnumber', 'ordnumber', 'quonumber', 'salesman', 'country' ); my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs }; @@ -202,6 +195,9 @@ sub list_names { 'street' => { 'text' => $locale->text('Street'), }, 'zipcode' => { 'text' => $locale->text('Zipcode'), }, 'city' => { 'text' => $locale->text('City'), }, + 'country' => { 'text' => $locale->text('Country'), }, + 'salesman' => { 'text' => $locale->text('Salesman'), }, + 'discount' => { 'text' => $locale->text('Discount'), }, %column_defs_cvars, ); @@ -209,9 +205,10 @@ sub list_names { my @hidden_variables = ( qw( db status obsolete name contact email cp_name addr_street addr_zipcode - addr_city business_id + addr_city addr_country business_id ), "$form->{db}number", map({ "cvar_$_->{name}" } @searchable_custom_variables), + map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)), map({ "l_$_" } @columns), ); @@ -269,9 +266,10 @@ sub list_names { if ($ref->{id} ne $previous_id) { $previous_id = $ref->{id}; + $ref->{discount} = $form->format_amount(\%myconfig, $ref->{discount} * 100.0, 2); map { $row->{$_}->{data} = $ref->{$_} } @columns; - $row->{name}->{link} = build_std_url('action=edit', 'id=' . E($ref->{id}), 'callback', @hidden_nondefault); + $row->{name}->{link} = build_std_url('script=controller.pl', 'action=CustomerVendor/edit', 'id=' . E($ref->{id}), 'callback', @hidden_nondefault); $row->{email}->{link} = 'mailto:' . E($ref->{email}); } @@ -304,8 +302,8 @@ sub list_contacts { my $cvar_configs = CVar->get_configs('module' => 'Contacts'); my @columns = qw( - cp_id vcname vcnumber cp_name cp_givenname cp_street cp_phone1 cp_phone2 - cp_mobile1 cp_mobile2 cp_email cp_abteilung cp_birthday cp_gender + cp_id vcname vcnumber cp_name cp_givenname cp_street cp_zipcode cp_city cp_phone1 cp_phone2 cp_privatphone + cp_mobile1 cp_mobile2 cp_fax cp_email cp_privatemail cp_abteilung cp_position cp_birthday cp_gender ); my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs }; @@ -330,14 +328,20 @@ sub list_contacts { 'cp_name' => { 'text' => $::locale->text('Name'), }, 'cp_givenname' => { 'text' => $::locale->text('Given Name'), }, 'cp_street' => { 'text' => $::locale->text('Street'), }, + 'cp_zipcode' => { 'text' => $::locale->text('Zipcode'), }, + 'cp_city' => { 'text' => $::locale->text('City'), }, 'cp_phone1' => { 'text' => $::locale->text('Phone1'), }, 'cp_phone2' => { 'text' => $::locale->text('Phone2'), }, 'cp_mobile1' => { 'text' => $::locale->text('Mobile1'), }, 'cp_mobile2' => { 'text' => $::locale->text('Mobile2'), }, 'cp_email' => { 'text' => $::locale->text('E-mail'), }, 'cp_abteilung' => { 'text' => $::locale->text('Department'), }, + 'cp_position' => { 'text' => $::locale->text('Function/position'), }, 'cp_birthday' => { 'text' => $::locale->text('Birthday'), }, 'cp_gender' => { 'text' => $::locale->text('Gender'), }, + 'cp_fax' => { 'text' => $::locale->text('Fax'), }, + 'cp_privatphone' => { 'text' => $::locale->text('Private Phone') }, + 'cp_privatemail' => { 'text' => $::locale->text('Private E-mail') }, %column_defs_cvars, ); @@ -393,9 +397,12 @@ sub list_contacts { foreach my $ref (@contacts) { my $row = { map { $_ => { 'data' => $ref->{$_} } } @columns }; - $row->{vcname}->{link} = build_std_url('action=edit', 'id=' . E($ref->{vcid}), 'db=' . E($ref->{db}), 'callback', @hidden_nondefault); + $row->{vcname}->{link} = build_std_url('script=controller.pl', 'action=CustomerVendor/edit', 'id=' . E($ref->{vcid}), 'db=' . E($ref->{db}), 'callback', @hidden_nondefault); $row->{vcnumber}->{link} = $row->{vcname}->{link}; - $row->{cp_email}->{link} = 'mailto:' . E($ref->{cp_email}); + + for (qw(cp_email cp_privatemail)) { + $row->{$_}->{link} = 'mailto:' . E($ref->{$_}) if $ref->{$_}; + } $report->add_data($row); } @@ -455,18 +462,18 @@ sub form_header { currencies => "ALL_CURRENCIES"); $form->get_pricegroup(\%myconfig, { all => 1 }); - $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::lx_office_conf{features}->{vertreter}; + $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::instance_conf->get_vertreter; $form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{FU_created_for_user}, deleted => 0 ] ]); $form->{ALL_SALESMEN} = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{salesman_id}, deleted => 0 ] ]); $form->{USER} = SL::DB::Manager::Employee->current; + $form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); + $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : ""; $form->{is_customer} = $form->{db} eq 'customer'; $form->{shipto_label} = \&_shipto_label; $form->{contacts_label} = \&_contacts_label; $form->{taxzone_id} = 0 if !$form->{id}; - $form->{jsscript} = 1; - $form->{fokus} = "ct.greeting"; $form->{SHIPTO_ALL} = [ +{ shipto_id => '0', shiptoname => $::locale->text('All') }, @{ $form->{SHIPTO} } ]; $form->{title} = $form->{title_save} @@ -522,13 +529,11 @@ sub form_footer { } sub _do_save { - $main::auth->assert('customer_vendor_edit & ' . - '(general_ledger | invoice_edit | vendor_invoice_edit | ' . - ' request_quotation_edit | sales_quotation_edit | sales_order_edit | purchase_order_edit)'); + $main::auth->assert('customer_vendor_edit'); $::form->isblank("name", $::locale->text("Name missing!")); - if ($::form->{new_salesman_id} && $::lx_office_conf{features}->{vertreter}) { + if ($::form->{new_salesman_id} && $::instance_conf->get_vertreter) { $::form->{salesman_id} = $::form->{new_salesman_id}; delete $::form->{new_salesman_id}; }