X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fprojects.pl;h=a9740b1fa4dbb22bcdc169aacb6eee2b1c3421bb;hb=19688fcacc86e86dd6ff5c5427e3b50893bb60f0;hp=768a21292f3eb3323ab28ef070dd81b1549f0282;hpb=0884406403ce36af3484924086527ba689807329;p=kivitendo-erp.git diff --git a/bin/mozilla/projects.pl b/bin/mozilla/projects.pl index 768a21292..a9740b1fa 100644 --- a/bin/mozilla/projects.pl +++ b/bin/mozilla/projects.pl @@ -32,6 +32,7 @@ use POSIX qw(strftime); +use SL::CVar; use SL::Projects; use SL::ReportGenerator; @@ -75,6 +76,12 @@ sub search { $form->{title} = $locale->text('Projects'); + $form->{CUSTOM_VARIABLES} = CVar->get_configs('module' => 'Projects'); + ($form->{CUSTOM_VARIABLES_FILTER_CODE}, + $form->{CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CUSTOM_VARIABLES}, + 'include_prefix' => 'l_', + 'include_value' => 'Y'); + $form->header(); print $form->parse_html_template('projects/search'); @@ -87,20 +94,34 @@ sub project_report { $auth->assert('project_edit'); $form->{sort} ||= 'projectnumber'; - my $filter = $form->{filter} || { }; + Projects->search_projects(%{ $filter }, 'sort' => $form->{sort}); - my $report = SL::ReportGenerator->new(\%myconfig, $form); + my $cvar_configs = CVar->get_configs('module' => 'Projects'); - my @columns = qw(projectnumber description active); - my @hidden_vars = ('filter'); - my $href = build_std_url('action=project_report', @hidden_vars); + my $report = SL::ReportGenerator->new(\%myconfig, $form); - my %column_defs = ( + 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 = (); + foreach (@includeable_custom_variables) { + $column_defs_cvars{"cvar_$_->{name}"} = { + 'text' => $_->{description}, + 'visible' => $form->{"l_cvar_$_->{name}"} eq 'Y', + }; + } + + push @columns, map { "cvar_$_->{name}" } @includeable_custom_variables; + + my %column_defs = ( 'projectnumber' => { 'text' => $locale->text('Number'), }, 'description' => { 'text' => $locale->text('Description'), }, 'active' => { 'text' => $locale->text('Active'), 'visible' => 'both' eq $filter->{active}, }, + %column_defs_cvars, ); foreach (qw(projectnumber description)) { @@ -111,7 +132,7 @@ sub project_report { $report->set_columns(%column_defs); $report->set_column_order(@columns); - $report->set_export_options('project_report', @hidden_vars); + $report->set_export_options('project_report', @hidden_vars, 'sort'); $report->set_sort_indicator($form->{sort}, 1); @@ -133,6 +154,12 @@ sub project_report { ); $report->set_options_from_form(); + CVar->add_custom_variables_to_report('module' => 'Projects', + 'trans_id_field' => 'id', + 'configs' => $cvar_configs, + 'column_defs' => \%column_defs, + 'data' => $form->{project_list}); + my $edit_url = build_std_url('action=edit&type=project'); my $callback = $form->escape($href) . '&sort=' . E($form->{sort}); @@ -160,6 +187,10 @@ sub display_project_form { $form->{title} = $form->{project}->{id} ? $locale->text("Edit Project") : $locale->text("Add Project"); + $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'Projects', 'trans_id' => $form->{project}->{id}); + $main::lxdebug->dump(0, "cv", $form->{CUSTOM_VARIABLES}); + CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}) if (scalar @{ $form->{CUSTOM_VARIABLES} }); + $form->header(); print $form->parse_html_template('projects/project_form');