X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fpe.pl;h=a9cee792dd558232bd8c741f9a12bb93606a0b6c;hb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;hp=660e37a9bfcf0e4a632de9bf1e6073a01310cedf;hpb=8ec0d29a33e23ce962b807e87cc8b577c8c98ec2;p=kivitendo-erp.git diff --git a/bin/mozilla/pe.pl b/bin/mozilla/pe.pl index 660e37a9b..a9cee792d 100644 --- a/bin/mozilla/pe.pl +++ b/bin/mozilla/pe.pl @@ -27,785 +27,198 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #====================================================================== # -# project administration -# partsgroup administration +# partsgroup, pricegroup administration # #====================================================================== use SL::PE; +require "bin/mozilla/common.pl"; + +use strict; + 1; # end of main sub add { - $lxdebug->enter_sub(); - - $form->{title} = "Add"; + $::lxdebug->enter_sub; + $::auth->assert('config'); - # construct callback - $form->{callback} = - "$form->{script}?action=add&type=$form->{type}&path=$form->{path}&login=$form->{login}&password=$form->{password}" - unless $form->{callback}; + $::form->{title} = "Add"; + $::form->{callback} ||= "$::form->{script}?action=add&type=$::form->{type}"; - &{"form_$form->{type}_header"}; - &{"form_$form->{type}_footer"}; + call_sub("form_$::form->{type}"); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } sub edit { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub; + $::auth->assert('config'); - $form->{title} = "Edit"; + $::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 'partsgroup') { - PE->get_partsgroup(\%myconfig, \%$form); + if ($::form->{type} eq 'pricegroup') { + PE->get_pricegroup(\%::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}"); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } sub search { - $lxdebug->enter_sub(); - - if ($form->{type} eq 'project') { - $report = "project_report"; - $sort = 'projectnumber'; - $form->{title} = $locale->text('Projects'); - - $number = qq| - - | . $locale->text('Number') . qq| - - - - | . $locale->text('Description') . qq| - - -|; - - } - if ($form->{type} eq 'partsgroup') { - $report = "partsgroup_report"; - $sort = 'partsgroup'; - $form->{title} = $locale->text('Groups'); - - $number = qq| - - | . $locale->text('Group') . qq| - - -|; - - } - - # for pricesgroups - if ($form->{type} eq 'pricegroup') { - $report = "pricegroup_report"; - $sort = 'pricegroup'; - $form->{title} = $locale->text('Pricegroup'); + $::lxdebug->enter_sub; + $::auth->assert('config'); - $number = qq| - - | . $locale->text('Pricegroup') . qq| - - -|; + $::form->header; + print $::form->parse_html_template('pe/search', { + is_pricegroup => $::form->{type} eq 'pricegroup', + }); - } - - $form->header; - - print qq| - - -
{script}> - - -{type}> - - - - - - - - - - - - -
$form->{title}
- - $number - - - - -
 | - . $locale->text('All') . qq| -  | - . $locale->text('Orphaned') . qq|
-

- - - -{path}> -{login}> -{password}> - -
- -
- - - -|; - - $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}"; - $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 = $form->sort_columns(qw(projectnumber description)); - - $column_header{projectnumber} = - qq|| - . $locale->text('Number') - . qq||; - $column_header{description} = - qq|| - . $locale->text('Description') - . 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||; - - 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} 
-

- -
-
{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; - - if (($rows = $form->numtextrows($form->{description}, 60)) > 1) { - $description = - qq||; - } else { - $description = - qq||; - } - - $form->header; - - print qq| - - -
{script}> - -{id}> - - - - - - - - - - - - - -
$form->{title}
- - - - - - - - - -
| . $locale->text('Number') . qq|
| . $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| -
- - - -|; - - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } sub save { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub; + $::auth->assert('config'); - 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); - $form->redirect($locale->text('Group saved!')); + if ($::form->{type} eq 'partsgroup') { + $::form->isblank("partsgroup", $::locale->text('Group missing!')); + PE->save_partsgroup(\%::myconfig, $::form); + $::form->redirect($::locale->text('Group saved!')); } # choice pricegroup and save - if ($form->{type} eq 'pricegroup') { - $form->isblank("pricegroup", $locale->text('Pricegroup missing!')); - PE->save_pricegroup(\%myconfig, \%$form); - $form->redirect($locale->text('Pricegroup saved!')); + if ($::form->{type} eq 'pricegroup') { + $::form->isblank("pricegroup", $::locale->text('Pricegroup missing!')); + 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; + } + # /saving the history - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } sub delete { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub; + $::auth->assert('config'); - PE->delete_tuple(\%myconfig, \%$form); + 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 'partsgroup') { - $form->redirect($locale->text('Group deleted!')); + if ($::form->{type} eq 'pricegroup') { + $::form->redirect($::locale->text('Pricegroup deleted!')); } - if ($form->{type} eq 'pricegroup') { - $form->redirect($locale->text('Pricegroup deleted!')); + # saving the history + if(!exists $::form->{addition}) { + $::form->{snumbers} = qq|projectnumber_| . $::form->{projectnumber}; + $::form->{addition} = "DELETED"; + $::form->save_history; } - - $lxdebug->leave_sub(); + # /saving the history + $::lxdebug->leave_sub; } -sub continue { &{ $form->{nextsub} } } +sub continue { call_sub($::form->{nextsub}); } sub partsgroup_report { - $lxdebug->enter_sub(); - - map { $form->{$_} = $form->unescape($form->{$_}) } (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}"; + $::lxdebug->enter_sub; + $::auth->assert('config'); - if ($form->{status} eq 'all') { - $option = $locale->text('All'); - } - if ($form->{status} eq 'orphaned') { - $option .= $locale->text('Orphaned'); - } - if ($form->{partsgroup}) { - $callback .= "&partsgroup=$form->{partsgroup}"; - $option .= "\n
" . $locale->text('Group') . " : $form->{partsgroup}"; - } - - @column_index = $form->sort_columns(qw(partsgroup)); - - $column_header{partsgroup} = - qq|| . $locale->text('Group') . qq||; - - $form->{title} = $locale->text('Groups'); - - $form->header; - - print qq| - - - - - - - - - - - - - - - - -
$form->{title}
$option
- - -|; + $::form->{$_} = $::form->unescape($::form->{$_}) for qw(partsgroup); + PE->partsgroups(\%::myconfig, $::form); - map { print "$column_header{$_}\n" } @column_index; + my $callback = build_std_url("action=partsgroup_report", qw(type status)); - print qq| - -|; + my $option = ''; + $option .= $::locale->text('All') if $::form->{status} eq 'all'; + $option .= $::locale->text('Orphaned') if $::form->{status} eq 'orphaned'; - # escape callback - $form->{callback} = $callback; - - # escape callback for href - $callback = $form->escape($callback); - - foreach $ref (@{ $form->{item_list} }) { - - $i++; - $i %= 2; - - print qq| - -|; - - $column_data{partsgroup} = - qq||; - map { print "$column_data{$_}\n" } @column_index; - - print " - -"; + if ($::form->{partsgroup}) { + $callback .= "&partsgroup=$::form->{partsgroup}"; + $option .= ", " . $::locale->text('Group') . " : $::form->{partsgroup}"; } - 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->{partsgroup}
-

- -
-
{script}> - - - -{type}> - -{path}> -{login}> -{password}> - - - -
+ # escape callback + $::form->{callback} = $callback; - - -|; + $::form->header; + print $::form->parse_html_template('pe/partsgroup_report', { + option => $option, + callback => $callback, + editlink => build_std_url('action=edit', qw(type status callback)), + }); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } -sub form_partsgroup_header { - $lxdebug->enter_sub(); - - $form->{title} = $locale->text("$form->{title} Group"); +sub form_partsgroup { + $::lxdebug->enter_sub; + $::auth->assert('config'); # $locale->text('Add Group') # $locale->text('Edit Group') + $::form->{title} = $::locale->text("$::form->{title} Group"); - $form->{partsgroup} =~ s/\"/"/g; - - $form->header; - - print qq| - - -
{script}> - -{id}> -{type}> - - - - - - - - - - - - -
$form->{title}
- - - - - - -
| . $locale->text('Group') . qq|
-

-|; - - $lxdebug->leave_sub(); -} - -sub form_partsgroup_footer { - $lxdebug->enter_sub(); - - print qq| + $::form->header; + print $::form->parse_html_template('pe/partsgroup_form'); - - -{path}> -{login}> -{password}> - -
-|; - - if ($form->{id} && $form->{orphaned}) { - print qq| -|; - } - - print qq| -
- - - -|; - - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } -################################# -# get pricesgroups and build up html-code -# sub pricegroup_report { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub; + $::auth->assert('config'); - map { $form->{$_} = $form->unescape($form->{$_}) } (pricegroup); - PE->pricegroups(\%myconfig, \%$form); + $::form->{$_} = $::form->unescape($::form->{$_}) for 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 = build_std_url('action=pricegroup_report', qw(type status)); - if ($form->{status} eq 'all') { - $option = $locale->text('All'); - } - if ($form->{status} eq 'orphaned') { - $option .= $locale->text('Orphaned'); - } - if ($form->{pricegroup}) { - $callback .= "&pricegroup=$form->{pricegroup}"; - $option .= - "\n
" . $locale->text('Pricegroup') . " : $form->{pricegroup}"; - } - - @column_index = $form->sort_columns(qw(pricegroup)); - - $column_header{pricegroup} = - qq|| - . $locale->text('Pricegroup') - . qq||; - - $form->{title} = $locale->text('Pricegroup'); - - $form->header; - - print qq| - - - - - - - - - - - - - - - - -
$form->{title}
$option
- - -|; - - map { print "$column_header{$_}\n" } @column_index; + my $option = ''; + $option .= $::locale->text('All') if $::form->{status} eq 'all'; + $option .= $::locale->text('Orphaned') if $::form->{status} eq 'orphaned'; - print qq| - -|; - - # escape callback - $form->{callback} = $callback; - - # escape callback for href - $callback = $form->escape($callback); - - foreach $ref (@{ $form->{item_list} }) { - - $i++; - $i %= 2; - - print qq| - -|; - $column_data{pricegroup} = - qq||; - - map { print "$column_data{$_}\n" } @column_index; - - print " - -"; + if ($::form->{pricegroup}) { + $callback .= "&pricegroup=$::form->{pricegroup}"; + $option .= ", " . $::locale->text('Pricegroup') . " : $::form->{pricegroup}"; } - 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->{pricegroup}
-

- -
-
{script}> - - - -{type}> - -{path}> -{login}> -{password}> - - - -
+ # escape callback + $::form->{callback} = $callback; - - -|; + $::form->header; + print $::form->parse_html_template('pe/pricegroup_report', { + option => $option, + callback => $callback, + editlink => build_std_url('action=edit', qw(type status callback)), + }); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; } -####################### -#build up pricegroup_header -# -sub form_pricegroup_header { - $lxdebug->enter_sub(); +sub form_pricegroup { + $::lxdebug->enter_sub; + $::auth->assert('config'); # $locale->text('Add Pricegroup') # $locale->text('Edit Pricegroup') + $::form->{title} = $::locale->text("$::form->{title} Pricegroup"); - $form->{title} = $locale->text("$form->{title} Pricegroup"); - - $form->{pricegroup} =~ s/\"/"/g; - - $form->header; - - print qq| - - -
{script}> - -{id}> -{type}> - - - - - - - - - - - - -
$form->{title}
- - - - - -
| . $locale->text('Preisgruppe') . qq|
-

-|; - - $lxdebug->leave_sub(); -} -###################### -#build up pricegroup_footer -# -sub form_pricegroup_footer { - $lxdebug->enter_sub(); - - print qq| - - - -{path}> -{login}> -{password}> - -
-|; - - if ($form->{id} && $form->{orphaned}) { - print qq| -|; - } - - print qq| -
- - - -|; + $::form->header; + print $::form->parse_html_template('pe/pricegroup_form'); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub; }