From: Bernd Blessmann Date: Wed, 12 Oct 2011 13:51:17 +0000 (+0200) Subject: Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp X-Git-Tag: release-2.7.0beta1~230^2~1^2 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/80b36869dd9b1ff2ed9063fabe79ca5001dc276e?hp=8add0ccd27ab0ff17256b74dccd1f761c0d09182 Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp --- diff --git a/SL/CVar.pm b/SL/CVar.pm index 8b3cd8e27..240822278 100644 --- a/SL/CVar.pm +++ b/SL/CVar.pm @@ -3,6 +3,7 @@ package CVar; use strict; use List::Util qw(first); +use Scalar::Util qw(blessed); use Data::Dumper; use SL::DBUtils; @@ -175,8 +176,9 @@ sub delete_config { my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); - do_query($form, $dbh, qq|DELETE FROM custom_variables WHERE config_id = ?|, conv_i($params{id})); - do_query($form, $dbh, qq|DELETE FROM custom_variable_configs WHERE id = ?|, conv_i($params{id})); + do_query($form, $dbh, qq|DELETE FROM custom_variables WHERE config_id = ?|, conv_i($params{id})); + do_query($form, $dbh, qq|DELETE FROM custom_variables_validity WHERE config_id = ?|, conv_i($params{id})); + do_query($form, $dbh, qq|DELETE FROM custom_variable_configs WHERE id = ?|, conv_i($params{id})); $dbh->commit(); @@ -705,6 +707,15 @@ sub custom_variables_validity_by_trans_id { return sub { !$invalids{+shift} }; } +sub parse { + my ($self, $value, $config) = @_; + + return $::form->parse_amount(\%::myconfig, $value) if $config->{type} eq 'number'; + return DateTime->from_lxoffice($value) if $config->{type} eq 'date'; + return !ref $value ? SL::DB::Manager::Customer->find_by(id => $value * 1) : $value if $config->{type} eq 'customer'; + return $value; +} + 1; __END__ diff --git a/SL/Form.pm b/SL/Form.pm index a5c2abec9..a1bb2b1f3 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -697,13 +697,13 @@ sub header { push @header, "" if -f $self->{favicon}; push @header, '', '', - '', + '', '', '', '', '', '', - ''; + ''; push @header, $self->{javascript} if $self->{javascript}; push @header, map { $_->show_javascript } @{ $self->{AJAX} || [] }; push @header, "" if $self->{fokus}; diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 476b60a70..bf0d5414e 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -4,6 +4,7 @@ use base qw( Template::Plugin ); use Template::Plugin; use List::MoreUtils qw(apply); use List::Util qw(max); +use Scalar::Util qw(blessed); use strict; @@ -273,7 +274,9 @@ sub date_tag { $params{cal_align} ||= 'BR'; - $self->input_tag($name, $value, + my $str_value = blessed $value ? $value->to_lxoffice : $value; + + $self->input_tag($name, $str_value, id => $name_e, size => 11, title => _H($::myconfig{dateformat}), diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 3479485d5..e647db693 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -1796,6 +1796,8 @@ sub _render_custom_variables_inputs { $description = $cvar->{description} . ' '; } + my $form_key = "ic_cvar_" . $cvar->{name} . "_$params{row}"; + push @{ $params{ROW2} }, { line_break => $num_visible_cvars == 1, description => $description, @@ -1806,7 +1808,7 @@ sub _render_custom_variables_inputs { name_prefix => 'ic_', name_postfix => "_$params{row}", valid => $cvar->{valid}, - value => $form->{"ic_cvar_" . $cvar->{name} . "_$params{row}"}, + value => CVar->parse($::form->{$form_key}, $cvar), } }; } diff --git a/templates/webpages/amcvar/render_inputs.html b/templates/webpages/amcvar/render_inputs.html index ba350da2f..f4f1c63c7 100644 --- a/templates/webpages/amcvar/render_inputs.html +++ b/templates/webpages/amcvar/render_inputs.html @@ -19,17 +19,7 @@ [%- ELSIF var.type == 'date' %] - - - - +[% L.date_tag(var_name, var.value) %] [%- ELSIF var.type == 'timestamp' %] diff --git a/templates/webpages/amcvar/render_inputs_block.html b/templates/webpages/amcvar/render_inputs_block.html index 388b017bc..329b94cd8 100644 --- a/templates/webpages/amcvar/render_inputs_block.html +++ b/templates/webpages/amcvar/render_inputs_block.html @@ -1,8 +1,10 @@ [%- USE T8 %] [%- USE HTML %] [%- USE L %] +[%- USE LxERP %] [%- BLOCK cvar_name %][% HTML.escape(cvar.name_prefix) _ "cvar_" _ HTML.escape(cvar.var.name) _ HTML.escape(cvar.name_postfix) -%][% END %] [%- BLOCK cvar_inputs %] +[% render_input_blocks__cvar_name = PROCESS cvar_name %] [%- %] [%- IF cvar.hide_non_editable && !cvar.var.flag_editable %] @@ -15,16 +17,8 @@ [%- ELSIF cvar.var.type == 'textfield' %] [%- ELSIF cvar.var.type == 'date' %] - - - +[%- L.date_tag(render_input_blocks__cvar_name, cvar.value) %] + [%- ELSIF cvar.var.type == 'timestamp' %] [%- ELSIF cvar.var.type == 'select' %] @@ -34,7 +28,11 @@ [%- END %] [%- ELSIF cvar.var.type == 'customer' %] -[% render_input_blocks__cvar_name = PROCESS cvar_name %][% L.customer_picker(render_input_blocks__cvar_name, cvar.value) %] +[%- L.customer_picker(render_input_blocks__cvar_name, cvar.value) %] + +[%- ELSIF cvar.var.type == 'number' %] +[%- L.input_tag(render_input_blocks__cvar_name, LxERP.format_amount(cvar.value, -2)) %] + [%- ELSE %] [%- END %]