Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 02978267

Von Jan Büren vor fast 14 Jahren hinzugefügt

  • ID 02978267f7e1b8d91e8d2d4e1010c80e292f2841
  • Vorgänger d8f9066b
  • Nachfolger bcf0bab0

Bugfix für 1388:
Wenn in den Benutzereinstellungen ein anderes Datumsformat eingestellt ist
(z.B. ISO JJJJ-MM-TT), dann erscheint bei der Erstellung von Berichten mittels
Standardoptionen (jährlich, monatlich, etc.) eine Fehlermeldung, die auf eine
ungültige Datumseingabe hinweist.

Ist für alle Berichte behoben, lediglich die Überschrift (form->periode) bei der BWA ist noch falsch (mal sehen, ob das jemals gemeldet wird ;-))

Unterschiede anzeigen:

bin/mozilla/rp.pl
1064 1064
        last SWITCH;
1065 1065
      };
1066 1066
    }
1067
  }
1068

  
1067
    hotfix_reformat_date();
1068
  } # Ende Bericht für vorgewählten Zeitraum (warum auch immer die Prüfung (custom eq true) ist ...
1069
   
1069 1070
  RP->income_statement(\%myconfig, \%$form);
1070 1071

  
1071 1072
  ($form->{department}) = split /--/, $form->{department};
......
1294 1295
        last SWITCH;
1295 1296
      };
1296 1297
    }
1298
    hotfix_reformat_date();
1297 1299
  }
1298 1300

  
1299 1301

  
......
2728 2730
        last SWITCH;
2729 2731
      };
2730 2732
    }
2733
    hotfix_reformat_date();
2731 2734
  } else {
2732 2735
    # die konvertierungen nur dann durchführen, wenn auch daten gesetzt sind.
2733 2736
    # ansonsten ist die prüfung in RP.pm
......
2735 2738
    # immer wahr
2736 2739
    if ($form->{fromdate}){
2737 2740
      my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
2738
      $form->{fromdate} = "${dd}.${mm}.${yy}";
2739
      $form->{comparefromdate} = "01.01.$yy";
2741
      my $datetime = $locale->parse_date_to_object(\%myconfig, $form->{fromdate});
2742
      $datetime->set( month      => 1,
2743
                      day        => 1);
2744
      $form->{comparefromdate} = $locale->format_date(\%::myconfig, $datetime);
2740 2745
    }
2741 2746
    if ($form->{todate}){
2742
      my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
2743
      $form->{todate}          = "${dd}.${mm}.${yy}";
2744 2747
      $form->{comparetodate}   = $form->{todate};
2745 2748
    }
2746 2749
  }
......
2787 2790

  
2788 2791
  $main::lxdebug->leave_sub();
2789 2792
}
2793
###
2794
# Hotfix, um das Datumsformat, die unten hart auf deutsches Datumsformat eingestellt
2795
# sind, entsprechend mit anderem Formaten (z.B. iso-kodiert) zum Laufen zu bringen (S.a.: Bug 1388)
2796
sub hotfix_reformat_date {
2797
  
2798
  $main::lxdebug->enter_sub();
2799
  
2800
  my $form     = $main::form;
2801
  my %myconfig = %main::myconfig;
2802
  my $locale   = $main::locale;
2803
  
2804
  if ($myconfig{dateformat} ne 'dd.mm.yyyy'){
2805
    my $current_dateformat = $myconfig{dateformat};
2806
    $myconfig{dateformat} = 'dd.mm.yyyy';
2807
    $form->{fromdate} = $main::locale->reformat_date(\%myconfig, $form->{fromdate}, $current_dateformat);
2808
    $form->{todate} = $main::locale->reformat_date(\%myconfig, $form->{todate}, $current_dateformat);
2809
    $form->{comparefromdate} = $main::locale->reformat_date(\%myconfig, $form->{comparefromdate}, $current_dateformat)
2810
      unless (!defined ($form->{comparefromdate}));
2811
    $form->{comparetodate} = $main::locale->reformat_date(\%myconfig, $form->{comparetodate}, $current_dateformat)
2812
      unless (!defined ($form->{comparetodate}));
2813

  
2814
    # Und wieder zurücksetzen
2815
    $myconfig{dateformat} =  $current_dateformat; #'dd.mm.yyyy';
2816
  } # Ende Hotifx Bug 1388
2817

  
2818
  $main::lxdebug->leave_sub();
2790 2819

  
2820
}
2791 2821
1;

Auch abrufbar als: Unified diff