X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fpe.pl;h=4d06f5270530df5865aa878cc62ae139fdb3b226;hb=fe73e0d261229f181e8133283b530509773d2151;hp=d95a7ee1dabb402a21252f4afa0211528eb13825;hpb=59f8f1fad78635c084328f8bf726f107cbb5bba2;p=kivitendo-erp.git diff --git a/bin/mozilla/pe.pl b/bin/mozilla/pe.pl index d95a7ee1d..4d06f5270 100644 --- a/bin/mozilla/pe.pl +++ b/bin/mozilla/pe.pl @@ -27,8 +27,7 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #====================================================================== # -# project administration -# partsgroup administration +# partsgroup, pricegroup administration # #====================================================================== @@ -36,76 +35,66 @@ use SL::PE; require "bin/mozilla/common.pl"; +use strict; + 1; # end of main sub add { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; $form->{title} = "Add"; # construct callback $form->{callback} = - "$form->{script}?action=add&type=$form->{type}&path=$form->{path}&login=$form->{login}&password=$form->{password}" + "$form->{script}?action=add&type=$form->{type}" unless $form->{callback}; - &{"form_$form->{type}_header"}; - &{"form_$form->{type}_footer"}; + call_sub("form_$form->{type}_header"); + call_sub("form_$form->{type}_footer"); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub edit { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + my $form = $main::form; + my %myconfig = %main::myconfig; + + # show history button + $form->{javascript} = qq||; + #/show hhistory button $form->{title} = "Edit"; - if ($form->{type} eq 'project') { - PE->get_project(\%myconfig, \%$form); - } if ($form->{type} eq 'partsgroup') { PE->get_partsgroup(\%myconfig, \%$form); } if ($form->{type} eq 'pricegroup') { PE->get_pricegroup(\%myconfig, \%$form); } - &{"form_$form->{type}_header"}; - &{"form_$form->{type}_footer"}; + call_sub("form_$form->{type}_header"); + call_sub("form_$form->{type}_footer"); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub search { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - if ($form->{type} eq 'project') { - $report = "project_report"; - $sort = 'projectnumber'; - $form->{title} = $locale->text('Projects'); + $main::auth->assert('config'); - $number = qq| - - | . $locale->text('Number') . qq| - | . $cgi->textfield('-name' => 'projectnumber', '-size' => 20) . qq| - - - | . $locale->text('Description') . qq| - | . $cgi->textfield('-name' => 'description', '-size' => 60) . qq| - - -   - | . - $cgi->radio_group('-name' => 'active', '-default' => 'active', - '-values' => ['active', 'inactive', 'both'], - '-labels' => { 'active' => ' ' . $locale->text("Active"), - 'inactive' => ' ' . $locale->text("Inactive"), - 'both' => ' ' . $locale->text("Both") }) - . qq| - -|; + my $form = $main::form; + my $locale = $main::locale; - } + my ($report, $sort, $number); if ($form->{type} eq 'partsgroup') { $report = "partsgroup_report"; $sort = 'partsgroup'; @@ -171,10 +160,6 @@ sub search { -{path}> -{login}> -{password}> -
@@ -184,265 +169,18 @@ sub search { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } -sub project_report { - $lxdebug->enter_sub(); - - map { $form->{$_} = $form->unescape($form->{$_}) } - (projectnumber, description); - PE->projects(\%myconfig, \%$form); - - $callback = - "$form->{script}?action=project_report&type=$form->{type}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}&active=" . - E($form->{active}); - $href = $callback; - - if ($form->{status} eq 'all') { - $option = $locale->text('All'); - } - if ($form->{status} eq 'orphaned') { - $option .= $locale->text('Orphaned'); - } - if ($form->{projectnumber}) { - $href .= "&projectnumber=" . $form->escape($form->{projectnumber}); - $callback .= "&projectnumber=$form->{projectnumber}"; - $option .= - "\n
" . $locale->text('Project') . " : $form->{projectnumber}"; - } - if ($form->{description}) { - $href .= "&description=" . $form->escape($form->{description}); - $callback .= "&description=$form->{description}"; - $option .= - "\n
" . $locale->text('Description') . " : $form->{description}"; - } - - @column_index = qw(projectnumber description); - - push(@column_index, "active") if ("both" eq $form->{active}); - - $column_header{projectnumber} = - qq|| - . $locale->text('Number') - . qq||; - $column_header{description} = - qq|| - . $locale->text('Description') - . qq||; - $column_header{active} = - qq|| . $locale->text('Active') . qq||; - - $form->{title} = $locale->text('Projects'); - - $form->header; - - print qq| - - - - - - - - - - - - - - - - -
$form->{title}
$option
- - -|; - - map { print "$column_header{$_}\n" } @column_index; - - print qq| - -|; - - # escape callback - $form->{callback} = $callback .= "&sort=$form->{sort}"; - - # escape callback for href - $callback = $form->escape($callback); - - foreach $ref (@{ $form->{project_list} }) { - - $i++; - $i %= 2; - - print qq| - -|; - - $column_data{projectnumber} = - qq||; - $column_data{description} = qq||; - $column_data{active} = - qq||; - - map { print "$column_data{$_}\n" } @column_index; - - print " - -"; - } - - print qq| -
{script}?action=edit&type=$form->{type}&status=$form->{status}&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{projectnumber}$ref->{description} | . - ($ref->{active} ? $locale->text("Yes") : $locale->text("No")) . - qq|
-

- -
-
{script}> - - - -{type}> - -{path}> -{login}> -{password}> - - - -
- - - -|; - - $lxdebug->leave_sub(); -} - -sub form_project_header { - $lxdebug->enter_sub(); - - $form->{title} = $locale->text("$form->{title} Project"); - - # $locale->text('Add Project') - # $locale->text('Edit Project') - - $form->{description} =~ s/\"/"/g; - - my $projectnumber = - $cgi->textfield('-name' => 'projectnumber', '-size' => 20, - '-default' => $form->{projectnumber}); - - my $description; - if (($rows = $form->numtextrows($form->{description}, 60)) > 1) { - $description = - $cgi->textarea('-name' => 'description', '-rows' => $rows, '-cols' => 60, - '-style' => 'width: 100%', '-wrap' => 'soft', - '-default' => $form->{description}); - } else { - $description = - $cgi->textfield('-name' => 'description', '-size' => 60, - '-default' => $form->{description}); - } - - my $active; - if ($form->{id}) { - $active = - qq| - -   - | . - $cgi->radio_group('-name' => 'active', - '-values' => [1, 0], - '-default' => $form->{active} * 1, - '-labels' => { 1 => $locale->text("Active"), - 0 => $locale->text("Inactive") }) - . qq| - -|; - } - - $form->header; - - print qq| - - -
{script}> - -{id}> - - - - - - - - - - - - - -
$form->{title}
- - - - - - - - - - $active -
| . $locale->text('Number') . qq|$projectnumber
| . $locale->text('Description') . qq|$description
-

-|; - - $lxdebug->leave_sub(); -} - -sub form_project_footer { - $lxdebug->enter_sub(); - - print qq| - - - -{path}> -{login}> -{password}> - -
-|; - - if ($form->{id} && $form->{orphaned}) { - print qq| -|; - } - - print qq| -
- - - -|; +sub save { + $main::lxdebug->enter_sub(); - $lxdebug->leave_sub(); -} + $main::auth->assert('config'); -sub save { - $lxdebug->enter_sub(); + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; - if ($form->{type} eq 'project') { - $form->isblank("projectnumber", $locale->text('Project Number missing!')); - PE->save_project(\%myconfig, \%$form); - $form->redirect($locale->text('Project saved!')); - } if ($form->{type} eq 'partsgroup') { $form->isblank("partsgroup", $locale->text('Group missing!')); PE->save_partsgroup(\%myconfig, \%$form); @@ -455,39 +193,62 @@ sub save { PE->save_pricegroup(\%myconfig, \%$form); $form->redirect($locale->text('Pricegroup saved!')); } + # saving the history + if(!exists $form->{addition} && $form->{id} ne "") { + $form->{snumbers} = qq|projectnumber_| . $form->{projectnumber}; + $form->{addition} = "SAVED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub delete { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; PE->delete_tuple(\%myconfig, \%$form); - if ($form->{type} eq 'project') { - $form->redirect($locale->text('Project deleted!')); - } if ($form->{type} eq 'partsgroup') { $form->redirect($locale->text('Group deleted!')); } if ($form->{type} eq 'pricegroup') { $form->redirect($locale->text('Pricegroup deleted!')); } - - $lxdebug->leave_sub(); + # saving the history + if(!exists $form->{addition}) { + $form->{snumbers} = qq|projectnumber_| . $form->{projectnumber}; + $form->{addition} = "DELETED"; + $form->save_history($form->dbconnect(\%myconfig)); + } + # /saving the history + $main::lxdebug->leave_sub(); } -sub continue { &{ $form->{nextsub} } } +sub continue { call_sub($main::form->{"nextsub"}); } sub partsgroup_report { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - map { $form->{$_} = $form->unescape($form->{$_}) } (partsgroup); + $main::auth->assert('config'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + + map { $form->{$_} = $form->unescape($form->{$_}) } qw(partsgroup); PE->partsgroups(\%myconfig, \%$form); - $callback = - "$form->{script}?action=partsgroup_report&type=$form->{type}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}"; + my $callback = + "$form->{script}?action=partsgroup_report&type=$form->{type}&status=$form->{status}"; + my ($option); if ($form->{status} eq 'all') { $option = $locale->text('All'); } @@ -499,8 +260,8 @@ sub partsgroup_report { $option .= "\n
" . $locale->text('Group') . " : $form->{partsgroup}"; } - @column_index = $form->sort_columns(qw(partsgroup)); - + my @column_index = $form->sort_columns(qw(partsgroup)); + my %column_header; $column_header{partsgroup} = qq|| . $locale->text('Group') . qq||; @@ -537,7 +298,8 @@ sub partsgroup_report { # escape callback for href $callback = $form->escape($callback); - foreach $ref (@{ $form->{item_list} }) { + my ($i, %column_data); + foreach my $ref (@{ $form->{item_list} }) { $i++; $i %= 2; @@ -547,7 +309,7 @@ sub partsgroup_report { |; $column_data{partsgroup} = - qq|{script}?action=edit&type=$form->{type}&status=$form->{status}&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{partsgroup}|; + qq|{script}?action=edit&type=$form->{type}&status=$form->{status}&id=$ref->{id}&callback=$callback>$ref->{partsgroup}|; map { print "$column_data{$_}\n" } @column_index; print " @@ -571,10 +333,6 @@ sub partsgroup_report { {type}> -{path}> -{login}> -{password}> - @@ -584,11 +342,16 @@ sub partsgroup_report { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub form_partsgroup_header { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; $form->{title} = $locale->text("$form->{title} Group"); @@ -629,20 +392,21 @@ sub form_partsgroup_header { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub form_partsgroup_footer { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; print qq| -{path}> -{login}> -{password}> -
|; @@ -653,6 +417,14 @@ sub form_partsgroup_footer { . $locale->text('Delete') . qq|">|; } +# button for saving history +print qq| + {id} + . qq|); name=history id=history value=| + . $locale->text('history') + . qq|>|; +# /button for saving history print qq| @@ -660,21 +432,28 @@ sub form_partsgroup_footer { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } ################################# # get pricesgroups and build up html-code # sub pricegroup_report { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); - map { $form->{$_} = $form->unescape($form->{$_}) } (pricegroup); + $main::auth->assert('config'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + + map { $form->{$_} = $form->unescape($form->{$_}) } qw(pricegroup); PE->pricegroups(\%myconfig, \%$form); - $callback = - "$form->{script}?action=pricegroup_report&type=$form->{type}&path=$form->{path}&login=$form->{login}&password=$form->{password}&status=$form->{status}"; + my $callback = + "$form->{script}?action=pricegroup_report&type=$form->{type}&status=$form->{status}"; + my $option; if ($form->{status} eq 'all') { $option = $locale->text('All'); } @@ -687,8 +466,8 @@ sub pricegroup_report { "\n
" . $locale->text('Pricegroup') . " : $form->{pricegroup}"; } - @column_index = $form->sort_columns(qw(pricegroup)); - + my @column_index = $form->sort_columns(qw(pricegroup)); + my %column_header; $column_header{pricegroup} = qq|| . $locale->text('Pricegroup') @@ -727,7 +506,8 @@ sub pricegroup_report { # escape callback for href $callback = $form->escape($callback); - foreach $ref (@{ $form->{item_list} }) { + my ($i, %column_data); + foreach my $ref (@{ $form->{item_list} }) { $i++; $i %= 2; @@ -736,7 +516,7 @@ sub pricegroup_report { |; $column_data{pricegroup} = - qq|
{script}?action=edit&type=$form->{type}&status=$form->{status}&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{pricegroup}|; + qq|{script}?action=edit&type=$form->{type}&status=$form->{status}&id=$ref->{id}&callback=$callback>$ref->{pricegroup}|; map { print "$column_data{$_}\n" } @column_index; @@ -761,10 +541,6 @@ sub pricegroup_report { {type}> -{path}> -{login}> -{password}> - @@ -774,14 +550,19 @@ sub pricegroup_report { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } ####################### #build up pricegroup_header # sub form_pricegroup_header { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; # $locale->text('Add Pricegroup') # $locale->text('Edit Pricegroup') @@ -821,22 +602,23 @@ sub form_pricegroup_header { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } ###################### #build up pricegroup_footer # sub form_pricegroup_footer { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; print qq| -{path}> -{login}> -{password}> -
|; @@ -847,6 +629,14 @@ sub form_pricegroup_footer { . $locale->text('Delete') . qq|">|; } +# button for saving history +print qq| + {id} + . qq|); name=history id=history value=| + . $locale->text('history') + . qq|>|; +# /button for saving history print qq| @@ -854,5 +644,5 @@ sub form_pricegroup_footer { |; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); }