X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Flicenses.pl;h=fb065f2549b46678fc34c6e6b35729bf8fcbee47;hb=b3caa17585a69e0c5092483f709dd1227b9acaaf;hp=52e5e4f866e3ce6c04ac8c6fdd2401ca07094f48;hpb=081a4f9736f3bc345872be8f61632cbed4a8d9b3;p=kivitendo-erp.git diff --git a/bin/mozilla/licenses.pl b/bin/mozilla/licenses.pl index 52e5e4f86..fb065f254 100644 --- a/bin/mozilla/licenses.pl +++ b/bin/mozilla/licenses.pl @@ -35,49 +35,73 @@ use SL::IC; use SL::IS; use SL::LICENSES; +require "bin/mozilla/common.pl"; + +use strict; + sub quot { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); $_[0] =~ s/\"/\"/g; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); return $_[0]; } sub form_header { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + + $form->{jsscript} = 1; $form->header(); print( qq|
{script}>|); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub form_footer { - $lxdebug->enter_sub(); - my @items = ("path", "login", "password", "old_callback", "previousform"); - push(@items, @{ $form->{"hidden"} }); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + + my @items = qw(old_callback previousform); + push @items, @{ $form->{"hidden"} } if ref $form->{hidden} eq 'ARRAY'; map({ print("{$_}) . "\">\n" ); } @items); print( - qq|
+ qq| |); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub set_std_hidden { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + my $form = $main::form; + $form->{"hidden"} = ["comment", "validuntil", "quantity", @_]; - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub print_part_selection { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my $locale = $main::locale; + form_header(); set_std_hidden("business"); @@ -97,9 +121,10 @@ sub print_part_selection { |); - $j = 1; - for ($i = 1; $i <= scalar(@{ $form->{"parts"} }); $i++) { - %p = %{ $form->{"parts"}->[$i - 1] }; + my $j = 1; + for (my $i = 1; $i <= scalar(@{ $form->{"parts"} }); $i++) { + my %p = %{ $form->{"parts"}->[$i - 1] }; + my $checked; if ($i == 1) { $checked = "checked"; } else { @@ -127,11 +152,17 @@ sub print_part_selection { text('Continue') . qq|>|); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub print_customer_selection { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my $locale = $main::locale; + form_header(); set_std_hidden("parts_id", "partnumber", "description"); @@ -155,9 +186,10 @@ sub print_customer_selection { print(qq|
|); - $j = 1; - for ($i = 1; $i <= scalar(@{ $form->{"all_customers"} }); $i++) { - %c = %{ $form->{"all_customers"}->[$i - 1] }; + my $j = 1; + for (my $i = 1; $i <= scalar(@{ $form->{"all_customers"} }); $i++) { + my %c = %{ $form->{"all_customers"}->[$i - 1] }; + my $checked; if ($i == 1) { $checked = "checked"; } else { @@ -187,11 +219,18 @@ sub print_customer_selection { text('Continue') . qq|>|); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub print_license_form { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + print( qq| @@ -218,7 +257,7 @@ sub print_license_form { if (!defined($form->{"customer_id"})) { $form->{"customer_id"} = $_->{"id"}; } - $selected = ($_->{"id"} * 1) == $form->{"customer_id"} ? "selected" : ""; + my $selected = ($_->{"id"} * 1) == $form->{"customer_id"} ? "selected" : ""; print(qq||); } print(qq||); @@ -236,8 +275,9 @@ sub print_license_form { - + @@ -268,32 +308,49 @@ sub print_license_form { qq| -
| . $locale->text('Valid until') . qq|{"validuntil"}) . qq|\">{"validuntil"}) . qq|\"> +
| . $locale->text('Quantity') . qq|
|); - $lxdebug->leave_sub(); +| . + $form->write_trigger(\%myconfig, 1, "validuntil", "BL", + "trigger_validuntil")); + + $main::lxdebug->leave_sub(); } sub add { - $lxdebug->enter_sub(); - if (!$lizenzen) { + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my $locale = $main::locale; + + $form->{title} = $locale->text('Add License'); + + if (!$::lx_office_conf{features}->{lizenzen}) { $form->error( $locale->text( - 'The licensing module has been deactivated in lx-erp.conf.') + 'The licensing module has been deactivated in the configuration.') ); } $form->{"initial"} = 1; do_add(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub do_add { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + $form->{"hidden"} = ["parts_id"]; form_header(); if ($form->{"ndx"}) { - $ndx = $form->{"ndx"}; + my $ndx = $form->{"ndx"}; foreach (keys(%{$form})) { next unless (/^new_.*_${ndx}$/); s/^new_//; @@ -309,7 +366,7 @@ sub do_add { if ($form->{"customer_name"}) { LICENSES->get_customers(\%myconfig, $form); if (scalar(@{ $form->{"all_customers"} }) == 1) { - %c = %{ $form->{"all_customers"}->[0] }; + my %c = %{ $form->{"all_customers"}->[0] }; $form->{"customer_id"} = $c{"id"}; $form->{"customer_name"} = $c{"name"}; } elsif (scalar(@{ $form->{"all_customers"} }) == 0) { @@ -348,23 +405,38 @@ sub do_add { print_license_form($form->{"parts_id"} && $form->{"customer_id"}); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub update { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + do_add(); - $lxdebug->leave_sub(); + + $main::lxdebug->leave_sub(); } sub continue { - $lxdebug->enter_sub(); - &{ $form->{nextsub} }; - $lxdebug->leave_sub(); + $main::lxdebug->enter_sub(); + + my $form = $main::form; + + call_sub($form->{"nextsub"}); + $main::lxdebug->leave_sub(); } sub save { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; ($form->{customername}, $form->{customer_id}) = split /--/, $form->{customer}; @@ -381,22 +453,23 @@ sub save { $form->error($locale->text('Please enter a license key.')); } - $rc = LICENSES->save_license(\%myconfig, \%$form); + my $rc = LICENSES->save_license(\%myconfig, \%$form); # load previous variables if ($form->{previousform}) { # save the new form variables before splitting previousform + my %newform; map { $newform{$_} = $form->{$_} } keys %$form; - $previousform = $form->unescape($form->{previousform}); + my $previousform = $form->unescape($form->{previousform}); # don't trample on previous variables map { delete $form->{$_} } keys %newform; # now take it apart and restore original values - foreach $item (split /&/, $previousform) { - ($key, $value) = split /=/, $item, 2; + foreach my $item (split /&/, $previousform) { + my ($key, $value) = split /=/, $item, 2; $value =~ s/%26/&/g; $form->{$key} = $value; } @@ -408,15 +481,16 @@ sub save { delete $form->{action}; # restore original callback - $callback = $form->unescape($form->{callback}); + my $callback = $form->unescape($form->{callback}); $form->{callback} = $form->unescape($form->{old_callback}); delete $form->{old_callback}; # put callback together - foreach $key (keys %$form) { + foreach my $key (keys %$form) { + next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key})); # do single escape for Apache 2.0 - $value = $form->escape($form->{$key}, 1); + my $value = $form->escape($form->{$key}, 1); $callback .= qq|&$key=$value|; } $form->{callback} = $callback; @@ -431,15 +505,23 @@ sub save { form_footer(); } - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub search { - $lxdebug->enter_sub(); - if (!$lizenzen) { + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my $locale = $main::locale; + + $form->{title} = $locale->text('Licenses'); + + if (!$::lx_office_conf{features}->{lizenzen}) { $form->error( $locale->text( - 'The licensing module has been deactivated in lx-erp.conf.') + 'The licensing module has been deactivated in the configuration.') ); } @@ -486,27 +568,30 @@ sub search { |); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub do_search { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + LICENSES->search(\%myconfig, $form); - $callback = ""; - foreach ( - ("db", "path", "login", "password", - "partnumber", "description", "customer_name", "all", - "expiring_in", "show_expired") - ) { - $callback .= "\&${_}=" . $form->escape($form->{$_}, 1); - } - $details = $form->{"script"} . "?action=details" . $callback . "\&id="; - $invdetails = "is.pl?action=edit" . $callback . "\&id="; + my $callback = ""; + map { $callback .= "\&${_}=" . $form->escape($form->{$_}, 1) } + qw(db partnumber description customer_name all expiring_in show_expired); + my $details = $form->{"script"} . "?action=details" . $callback . "\&id="; + my $invdetails = "is.pl?action=edit" . $callback . "\&id="; $callback = $form->{"script"} . "?action=do_search" . $callback; $form->{"sortby"} = "validuntil" unless ($form->{"sortby"}); $form->{"sortasc"} *= 1; + my %columns; foreach (("partnumber", "description", "name", "validuntil", "invnumber")) { $columns{$_} = $callback . "\&sortby=${_}\&sortasc="; if ($form->{"sortby"} eq $_) { @@ -530,7 +615,7 @@ sub do_search { . $locale->text( "No licenses were found that match the search criteria.") . qq||); - exit(0); + ::end_of_request(); } print( @@ -559,9 +644,9 @@ sub do_search { |); - $j = 1; - for ($i = 0; $i < scalar(@{ $form->{"licenses"} }); $i++) { - $ref = $form->{"licenses"}->[$i]; + my $j = 1; + for (my $i = 0; $i < scalar(@{ $form->{"licenses"} }); $i++) { + my $ref = $form->{"licenses"}->[$i]; print( qq| @@ -599,11 +684,18 @@ sub do_search { |); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } sub details { - $lxdebug->enter_sub(); + $main::lxdebug->enter_sub(); + + $main::auth->assert('license_edit'); + + my $form = $main::form; + my %myconfig = %main::myconfig; + my $locale = $main::locale; + LICENSES->get_license(\%myconfig, $form); map( { $form->{$_} = $form->{"license"}->{$_}; } keys(%{ $form->{"license"} })); @@ -657,7 +749,7 @@ sub details { |); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } 1;