require "bin/mozilla/common.pl";
-#use strict;
-#no strict 'refs';
-#use diagnostics;
-#use warnings; # FATAL=> 'all';
-#use vars qw($locale $form %myconfig);
-#our ($myconfig);
-#use CGI::Carp "fatalsToBrowser";
-
use List::Util qw(first);
use SL::DB::Default;
-use SL::PE;
use SL::RP;
use SL::USTVA;
use SL::User;
+use SL::Locale::String qw(t8);
1;
# this is for our long dates
my $department = '';
my $hide = '';
+
+ setup_ustva_report_action_bar();
$form->header;
# Einlesen der Finanzamtdaten
$ustva->get_config();
$ustva->get_finanzamt();
- my $geierlein_enabled = 0;
- my $geierlein_path = $::lx_office_conf{paths}{geierlein_path};
-
- if ( $geierlein_path && length($geierlein_path) > 0 ) {$geierlein_enabled=1;}
-
-# $::lxdebug->message(LXDebug->DEBUG2,"geierlein_enabled=".$geierlein_enabled." path=".$geierlein_path);
# Hier Einlesen der user-config
# steuernummer entfernt für prerelease
my @a = qw(
checkbox_kz_29 => $checkbox_kz_29,
checkbox_kz_26 => $checkbox_kz_26,
tax_office_banks => \@tax_office_banks_ref,
- geierlein_enabled => $geierlein_enabled,
- geierlein_path => $geierlein_path,
select_options => &show_options,
};
print($form->parse_html_template('ustva/report', $template_ref));
-
-
$::lxdebug->leave_sub();
}
-
-sub help {
- $::lxdebug->enter_sub();
-
- $::auth->assert('advance_turnover_tax_return');
-
- # parse help documents under doc
- $::form->{templates} = 'doc';
- $::form->{help} = 'ustva';
- $::form->{type} = 'help';
- $::form->{format} = 'html';
- generate_ustva();
-
- $::lxdebug->leave_sub();
-}
-
-sub show {
- $::lxdebug->enter_sub();
-
- $::auth->assert('advance_turnover_tax_return');
-
- #generate_ustva();
- $::lxdebug->leave_sub();
- call_sub($::form->{"nextsub"});
-}
-
sub ustva_vorauswahl {
$::lxdebug->enter_sub();
return $select_vorauswahl;
}
-#sub config {
-# $::lxdebug->enter_sub();
-# config_step1();
-# $::lxdebug->leave_sub();
-#}
-
-sub debug {
- $::lxdebug->enter_sub();
- $::form->debug();
- $::lxdebug->leave_sub();
-}
-
sub show_options {
$::lxdebug->enter_sub();
$::auth->assert('advance_turnover_tax_return');
my $defaults = SL::DB::Default->get;
- $form->error($::locale->text('No print templates have been created for this client yet. Please do so in the client configuration.')) if !$defaults->templates;
- $form->{templates} = $defaults->templates;
-
my $ustva = USTVA->new();
$ustva->get_config();
$form->{co_city} =~ s/\\n//g;
}
- ################################
- #
- # Nation specific customisations
- #
- ################################
-
- # Germany
-
- if ( $form->{coa} eq 'Germany-DATEV-SKR03EU' or $form->{coa} eq 'Germany-DATEV-SKR04EU') {
-
$form->{id} = [];
$form->{amount} = [];
- if ( $form->{format} eq 'pdf' or $form->{format} eq 'postscript') {
-
- $form->{IN} = "$form->{type}-$form->{year}.tex";
- $form->{padding} = "~~";
- $form->{bold} = "\textbf{";
- $form->{endbold} = "}";
- $form->{br} = '\\\\';
-
- # Zahlenformatierung für Latex USTVA Formulare
-
- foreach my $number (@{$::form->{category_euro}}) {
- $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '0', '');
- }
-
- my ${decimal_comma} = ( $myconfig{numberformat} eq '1.000,00'
- or $myconfig{numberformat} eq '1000,00' ) ? ',':'.';
-
- foreach my $number (@{$::form->{category_cent}}) {
- $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '2', '');
- $form->{$number} =~ s/${decimal_comma}/~~/g;
- }
-
- } elsif ( $form->{format} eq 'html') { # Formatierungen für HTML Ausgabe
+ if ( $form->{format} eq 'html') { # Formatierungen für HTML Ausgabe
$form->{IN} = $form->{type} . '.html';
$form->{padding} = " ";
foreach my $number (@{$::form->{category_euro}}) {
$form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '0', '0');
}
- } elsif ( $form->{format} eq '' ){ # No format error.
-
- $form->header;
- USTVA::error( $locale->text('Application Error. No Format given' ) . "!");
- $::dispatcher->end_request;
-
- } else { # All other Formats are wrong
+ } else { # we have only html
$form->header;
USTVA::error( $locale->text('Application Error. Wrong Format') . ": " . $form->{format} );
$::dispatcher->end_request;
- }
-
-
- } else # Outputformat for generic output
- {
-
- $form->{USTVA} = [];
-
- if ( $form->{format} eq 'generic') { # Formatierungen für HTML Ausgabe
-
- my $rec_ref = {};
- for my $kennziffer (@{$::form->{category_cent}}, @{$::form->{category_euro}}) {
- $rec_ref = {};
- $rec_ref->{id} = $kennziffer;
- $rec_ref->{amount} = $form->format_amount(\%myconfig, $form->{$kennziffer}, 2, '0');
-
- $::lxdebug->message($LXDebug::DEBUG, "Kennziffer $kennziffer: '$form->{$kennziffer}'" );
- $::lxdebug->dump($LXDebug::DEBUG, $rec_ref );
- push @ { $form->{USTVA} }, $rec_ref;
- }
-
- }
-
- }
-
+ }
if ( $form->{period} eq '13' and $form->{format} ne 'html') {
$form->header;
USTVA::info(
. '!');
}
- $form->{templates} = "doc" if ( $form->{type} eq 'help' );
+ # add a prefix for ustva pos numbers, i.e.: 81 -> post_ustva_81
+ $form->{"pos_ustva_$_"} = $form->{$_} for grep { m{^\d+} } keys %{ $form };
+ $form->{title} = $locale->text('Advance turnover tax return');
- if ($form->{format} eq 'generic'){
-
- $form->header();
-
- my $template_ref = {
- taxnumber => $defaults->taxnumber,
- };
-
- print($form->parse_html_template('ustva/generic_taxreport', $template_ref));
-
- } elsif ( $form->{format} eq 'elstertaxbird' ) {
- $form->parse_template(\%myconfig);
- } else
- {
- # add a prefix for ustva pos numbers, i.e.: 81 -> post_ustva_81
- $form->{"pos_ustva_$_"} = $form->{$_} for grep { m{^\d+} } keys %{ $form };
- $form->{title} = $locale->text('Advance turnover tax return');
-
- $form->header;
- print $form->parse_html_template('ustva/ustva');
-
-
- }
+ $form->header;
+ print $form->parse_html_template('ustva/ustva');
$::lxdebug->leave_sub();
}
# edit all taxauthority prefs
+ setup_ustva_config_step1_action_bar();
+
$::form->header;
my $ustva = USTVA->new();
my %_hidden_local_variables = (
'saved' => $::locale->text('Check Details'),
- 'nextsub' => 'config_step2',
- 'warnung' => '0',
);
foreach my $variable (keys %_hidden_local_variables) {
$::auth->assert('advance_turnover_tax_return');
+ setup_ustva_config_step2_action_bar();
+
$form->header();
my $fa_land_nr = '';
my %_hidden_local_variables = (
'fa_land_nr' => $fa_land_nr,
'fa_bufa_nr' => $fa_bufa_nr,
- 'warnung' => 0,
'taxnumber' => $stnr,
'lastsub' => 'config_step1',
'nextsub' => 'save',
my @_hidden_form_variables = qw(
fa_dauerfrist fa_steuerberater_city fa_steuerberater_name
- fa_steuerberater_street fa_steuerberater_tel
+ fa_steuerberater_street fa_steuerberater_tel
fa_voranmeld fa_dauerfrist
accounting_method
type
- saved callback
+ saved
);
foreach my $variable (@_hidden_form_variables) {
my $template_ref = {
input_steuernummer => $input_steuernummer,
readonly => '', #q|disabled="disabled"|,
- callback => $form->{callback},
COA_Germany => $form->{COA_Germany},
hidden_variables => $_hidden_variables_ref,
};
call_sub($::form->{"lastsub"});
$::lxdebug->leave_sub();
}
+
+sub setup_ustva_report_action_bar {
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Show'),
+ submit => [ '#form_do', { action => 'generate_ustva' } ],
+ accesskey => 'enter',
+ ],
+ action => [
+ t8('Geierlein'),
+ call => [ 'sendGeierlein' ],
+ disabled => !length($::lx_office_conf{paths}{geierlein_path} // '') ? t8('The Geierlein path has not been set in the configuration.') : undef,
+ tooltip => t8('Transfer data to Geierlein ELSTER application'),
+ ],
+ );
+ }
+}
+
+sub setup_ustva_config_step1_action_bar {
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Continue'),
+ submit => [ '#form', { action => 'config_step2' } ],
+ accesskey => 'enter',
+ ],
+ );
+ }
+}
+
+sub setup_ustva_config_step2_action_bar {
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Save'),
+ submit => [ '#form', { action => 'save' } ],
+ accesskey => 'enter',
+ ],
+ action => [
+ t8('Back'),
+ call => [ 'kivi.history_back' ],
+ ],
+ );
+ }
+}