X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Flicenses.pl;h=fb065f2549b46678fc34c6e6b35729bf8fcbee47;hb=b3caa17585a69e0c5092483f709dd1227b9acaaf;hp=300673a96bfe50553253d6830f6c3aa67de63296;hpb=9a22f14c16b2ba3ee47bc2ea0c97078260e3c167;p=kivitendo-erp.git diff --git a/bin/mozilla/licenses.pl b/bin/mozilla/licenses.pl index 300673a96..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"); @@ -87,8 +111,7 @@ sub print_part_selection { + . $locale->text('Select from one of the items below') . qq| @@ -98,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 { @@ -111,13 +135,9 @@ sub print_part_selection { qq| + . $p{"partnumber"} . qq|\">| . $p{"partnumber"} . qq| + . $p{"description"} . qq|\">| . $p{"description"} . qq||); @@ -132,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"); @@ -145,8 +171,7 @@ sub print_customer_selection {
| - . $locale->text('Select from one of the items below') - . qq|
| - . $p{"partnumber"} - . qq| | - . $p{"description"} - . qq|
+ . $locale->text('Select from one of the names below') . qq| @@ -161,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 { @@ -174,11 +200,9 @@ sub print_customer_selection { qq| + . $c{"id"} . qq|\">$c{"customernumber"} + . $c{"name"} . qq|\">$c{"name"} @@ -195,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|
| - . $locale->text('Select from one of the names below') - . qq|

$c{"customernumber"} $c{"name"} $c{"street"} $c{"zipcode"} $c{"city"}
@@ -211,14 +242,12 @@ sub print_license_form { + . quot($form->{"partnumber"}) . qq|\"> + . quot($form->{"description"}) . qq|\">|); @@ -228,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||); @@ -242,26 +271,23 @@ sub print_license_form { + . quot($form->{"comment"}) . qq|\"> - + + . quot($form->{"quantity"}) . qq|\"> + . quot($form->{"licensenumber"}) . qq|\"> @@ -276,38 +302,55 @@ sub print_license_form { print( qq|  text('Save') - . qq|\">\n|); + . $locale->text('Save') . qq|\">\n|); } print( qq| -
| . $locale->text('Part Number') . qq| {"partnumber"}) - . qq|\">
| . $locale->text('Description') . qq| {"description"}) - . qq|\">
| . $locale->text('Company Name') . qq|
| . $locale->text('Comment') . qq| {"comment"}) - . qq|\">
| . $locale->text('Valid until') . qq|{"validuntil"}) - . qq|\">{"validuntil"}) . qq|\"> +
| . $locale->text('Quantity') . qq| {"quantity"}) - . qq|\">
| . $locale->text('License key') . qq| {"licensenumber"}) - . qq|\">
| . $locale->text('Own Product') . 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.') + $locale->text( + '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_//; @@ -323,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) { @@ -362,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}; @@ -395,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; } @@ -422,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; @@ -445,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.') ); } @@ -487,8 +555,7 @@ sub search { . $locale->text('Expiring in x month(s)') . qq| 
| - . $locale->text('Expired licenses') - . qq| + . $locale->text('Expired licenses') . qq| @@ -501,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 $_) { @@ -542,9 +612,10 @@ sub do_search { |); if (scalar(@{ $form->{"licenses"} }) == 0) { print(qq|| - . $locale->text("No licenses were found that match the search criteria.") + . $locale->text( + "No licenses were found that match the search criteria.") . qq||); - exit(0); + ::end_of_request(); } print( @@ -561,9 +632,7 @@ sub do_search { . $locale->text('Description') . qq| " - . $locale->text('Company Name') - . qq| + . $columns{"name"} . "\">" . $locale->text('Company Name') . qq| " . $locale->text('Valid until') @@ -575,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| @@ -615,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"} })); @@ -673,7 +749,7 @@ sub details { |); form_footer(); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } 1;