]> wagnertech.de Git - mfinanz.git/commitdiff
Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp
authorBernd Blessmann <bibi@online.de>
Wed, 12 Oct 2011 13:51:17 +0000 (15:51 +0200)
committerBernd Blessmann <bibi@online.de>
Wed, 12 Oct 2011 13:51:17 +0000 (15:51 +0200)
SL/CVar.pm
SL/Form.pm
SL/Template/Plugin/L.pm
bin/mozilla/io.pl
templates/webpages/amcvar/render_inputs.html
templates/webpages/amcvar/render_inputs_block.html

index 8b3cd8e27c97ef66321a0ecf4aac85f9560ac022..2408222782c2ab8a13b0e573a2336415ccf1723e 100644 (file)
@@ -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__
index a5c2abec9c2fa668dfdfcace3b82416def13f079..a1bb2b1f3b985beb0352e47e7b4fb4e0555e4bd1 100644 (file)
@@ -697,13 +697,13 @@ sub header {
   push @header, "<link rel='shortcut icon' href='$self->{favicon}' type='image/x-icon'>" if -f $self->{favicon};
   push @header, '<script type="text/javascript" src="js/jquery.js"></script>',
                 '<script type="text/javascript" src="js/common.js"></script>',
-                '<style type="text/css">@import url(js/jscalendar/calendar-win2k-1.css);</style>',
+                '<link rel="stylesheet" type="text/css" href="js/jscalendar/calendar-win2k-1.css">',
                 '<script type="text/javascript" src="js/jscalendar/calendar.js"></script>',
                 '<script type="text/javascript" src="js/jscalendar/lang/calendar-de.js"></script>',
                 '<script type="text/javascript" src="js/jscalendar/calendar-setup.js"></script>',
                 '<script type="text/javascript" src="js/part_selection.js"></script>',
                 '<script type="text/javascript" src="js/jquery-ui.js"></script>',
-                '<style "type=text/css">@import url("css/ui-lightness/jquery-ui-1.8.12.custom.css")</style>';
+                '<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.12.custom.css">';
   push @header, $self->{javascript} if $self->{javascript};
   push @header, map { $_->show_javascript } @{ $self->{AJAX} || [] };
   push @header, "<script type='text/javascript'>function fokus(){ document.$self->{fokus}.focus(); }</script>" if $self->{fokus};
index 476b60a702c2787c9b82e9a5233b73a454522993..bf0d5414eea57f8c8b769850ef0e6eebedfd5724 100644 (file)
@@ -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}),
index 3479485d54a8584e85c9945c2033355c48c3eece..e647db69312ab8d6a3bcddd924db687f315f9432 100644 (file)
@@ -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),
       }
     };
   }
index ba350da2fe55c8b56c58df9fd6df4c49071cf7b6..f4f1c63c72a4215975a58f28a0c53db057eadd3a 100644 (file)
 <textarea name="[% var_name %]" cols="[% HTML.escape(var.width) %]" rows="[% HTML.escape(var.height) %]">[% HTML.escape(var.value) %]</textarea>
 
 [%- ELSIF var.type == 'date' %]
-<input name="[% var_name %]" id="[% var_name %]" size="12" value="[% HTML.escape(var.value) %]">
-<input name="[% var_name %]_button" id="[% var_name %]_trigger" type="button" value="?">
-
-<script type="text/javascript">
- <!--
-     Calendar.setup({ inputField : "[% var_name %]",
-                      ifFormat   : "[% myconfig_jsc_dateformat %]",
-                      align      : "BR",
-                      button     : "[% var_name %]_trigger" });
-   -->
-</script>
+[% L.date_tag(var_name, var.value) %]
 
 [%- ELSIF var.type == 'timestamp' %]
 <input name="[% var_name %]" value="[% HTML.escape(var.value) %]">
index 388b017bcfa1e816343d600851b70804df85066e..329b94cd8810e6f7808fb1bbaeee0f8a4cbdca7f 100644 (file)
@@ -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 %]
 <input type="hidden" name="[% PROCESS cvar_name %]" value="[% HTML.escape(cvar.var.value) %]">
 [%- ELSIF cvar.var.type == 'textfield' %]
 <textarea name="[% PROCESS cvar_name %]" cols="[% HTML.escape(cvar.var.width) %]" rows="[% HTML.escape(cvar.var.height) %]">[% HTML.escape(cvar.value) %]</textarea>
 [%- ELSIF cvar.var.type == 'date' %]
-<input name="[% PROCESS cvar_name %]" id="[% PROCESS cvar_name %]" size="12" value="[% HTML.escape(cvar.value) %]">
-<input name="[% PROCESS cvar_name %]_button" id="[% PROCESS cvar_name %]_trigger" type="button" value="?">
-<script type="text/javascript">
- <!--
-     Calendar.setup({ inputField : "[% PROCESS cvar_name %]",
-                      ifFormat   : "[% myconfig_jsc_dateformat %]",
-                      align      : "BR",
-                      button     : "[% PROCESS cvar_name %]_trigger" });
-   -->
-</script>
+[%- L.date_tag(render_input_blocks__cvar_name, cvar.value) %]
+
 [%- ELSIF cvar.var.type == 'timestamp' %]
 <input name="[% PROCESS cvar_name %]" value="[% HTML.escape(cvar.value) %]">
 [%- ELSIF cvar.var.type == 'select' %]
  [%- END %]
 </select>
 [%- 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 %]
 <input name="[% PROCESS cvar_name %]" value="[% HTML.escape(cvar.value) %]" [%- IF cvar.var.maxlength %] maxlength="[% HTML.escape(cvar.var.maxlength) %]"[% END -%]>
 [%- END %]