delete($form->{$idx});
}
- # clear reqdate unless changed
- if ($form->{reqdate} && $form->{id}) {
+ # clear reqdate and transdate unless changed
+ if ( $form->{reqdate} && $form->{id} ) {
my $saved_order = OE->retrieve_simple(id => $form->{id});
- if ($saved_order && $saved_order->{reqdate} eq $form->{reqdate}) {
- delete $form->{reqdate};
+ if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) {
+
+ my $dbh = $form->get_standard_dbh;
+
+ my $wday = (localtime(time))[6];
+ my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
+
+ my $query = 'SELECT
+ date(current_date + interval \''. $next_workday .' days\') AS reqdate,
+ date(current_date) AS transdate';
+ my $ref = selectfirst_hashref_query($form, $dbh, $query);
+
+ map(
+ { $form->{$_} = $ref->{$_} }
+ keys %{$ref}
+ );
}
}
my $report = SL::ReportGenerator->new(\%myconfig, $form);
my @columns = qw(projectnumber description active);
- my @hidden_vars = ('filter');
- my $href = build_std_url('action=project_report', @hidden_vars);
my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
my %column_defs_cvars = ();
push @columns, map { "cvar_$_->{name}" } @includeable_custom_variables;
+
+ my @hidden_vars = ('filter', map { ('cvar_'. $_->{name} , 'l_cvar_'. $_->{name}) } @includeable_custom_variables);
+ my $href = build_std_url('action=project_report', @hidden_vars);
+
+
my %column_defs = (
'projectnumber' => { 'text' => $locale->text('Number'), },
'description' => { 'text' => $locale->text('Description'), },
$report->set_export_options('project_report', @hidden_vars, 'sort');
+ CVar->add_custom_variables_to_report('module' => 'Project',
+ 'trans_id_field' => 'id',
+ 'configs' => $cvar_configs,
+ 'column_defs' => \%column_defs,
+ 'data' => $form->{project_list},
+ );
+
$report->set_sort_indicator($form->{sort}, 1);
my @options;