X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Flicenses.pl;h=95f520ff9704887a3701599d24931f8187bb2c92;hb=782fd7884fb686cd2e336756dadeb4ab5d05a415;hp=1dfcb4e285ada55ae5ecb6df4af5b2084498a5d6;hpb=4dbb09950c9f5596646537c12d991c99086fe7c1;p=kivitendo-erp.git
diff --git a/bin/mozilla/licenses.pl b/bin/mozilla/licenses.pl
index 1dfcb4e28..95f520ff9 100644
--- a/bin/mozilla/licenses.pl
+++ b/bin/mozilla/licenses.pl
@@ -35,139 +35,174 @@ 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|
+ print(
+ qq|
+ print(
+ qq|
|);
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub set_std_hidden {
- $lxdebug->enter_sub();
- $form->{"hidden"} =
- ["comment",
- "validuntil",
- "quantity",
- @_];
- $lxdebug->leave_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+
+ $form->{"hidden"} = ["comment", "validuntil", "quantity", @_];
+ $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");
- print(qq|
+ print(
+ qq|
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");
- print(qq|
+ print(
+ qq|
text('Continue') . qq|>|);
form_footer();
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub print_license_form {
- $lxdebug->enter_sub();
- print(qq|
+ $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("Add License") . qq| |
@@ -197,50 +241,53 @@ sub print_license_form {
|);
- $lxdebug->leave_sub();
+
| .
+ $form->write_trigger(\%myconfig, 1, "validuntil", "BL",
+ "trigger_validuntil"));
+
+ $main::lxdebug->leave_sub();
}
sub add {
- $lxdebug->enter_sub();
- if (!$lizenzen) {
- $form->error($locale->text('The licensing module has been deactivated in lx-erp.conf.'));
+ $main::lxdebug->enter_sub();
+
+ $main::auth->assert('license_edit');
+
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ $form->{title} = $locale->text('Add License');
+
+ if (!$main::lizenzen) {
+ $form->error(
+ $locale->text(
+ 'The licensing module has been deactivated in lx-erp.conf.')
+ );
}
$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_//;
@@ -295,11 +365,11 @@ sub do_add {
if ($form->{"customer_name"}) {
LICENSES->get_customers(\%myconfig, $form);
- if (scalar(@{$form->{"all_customers"}}) == 1) {
- %c = %{$form->{"all_customers"}->[0]};
- $form->{"customer_id"} = $c{"id"};
+ if (scalar(@{ $form->{"all_customers"} }) == 1) {
+ my %c = %{ $form->{"all_customers"}->[0] };
+ $form->{"customer_id"} = $c{"id"};
$form->{"customer_name"} = $c{"name"};
- } elsif (scalar(@{$form->{"all_customers"}}) == 0) {
+ } elsif (scalar(@{ $form->{"all_customers"} }) == 0) {
$form->{"customer_name"} = "";
delete($form->{"customer_id"});
} else {
@@ -314,13 +384,13 @@ sub do_add {
$form->{"sort"} = "p.partnumber";
$form->{searchitems} = "part";
IC->all_parts(\%myconfig, $form);
- if (scalar(@{$form->{"parts"}}) == 1) {
+ if (scalar(@{ $form->{"parts"} }) == 1) {
map({ $form->{$_} = $form->{"parts"}->[0]->{$_}; }
("partnumber", "description"));
$form->{"parts_id"} = $form->{"parts"}->[0]->{"id"};
- } elsif (scalar(@{$form->{"parts"}}) == 0) {
- map({ $form->{$_} = ""; } ("partnumber", "description", "parts_id"));
+ } elsif (scalar(@{ $form->{"parts"} }) == 0) {
+ map({ $form->{$_} = ""; }("partnumber", "description", "parts_id"));
} else {
print_part_selection();
@@ -335,96 +405,130 @@ 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();
-
- ($form->{customername}, $form->{customer_id}) = split /--/, $form->{customer};
+ $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};
$form->isblank("customer", $locale->text('Customer missing!'));
-
- if ($form->{quantity} eq "" || $form->{quantity} !~ /^[0-9]*$/ || $form->{quantity} < 1) {
+
+ if ( $form->{quantity} eq ""
+ || $form->{quantity} !~ /^[0-9]*$/
+ || $form->{quantity} < 1) {
$form->error($locale->text('Please enter a number of licenses.'));
}
if (!$form->{licensenumber} || $form->{licensenumber} eq "") {
$form->error($locale->text('Please enter a license key.'));
}
-
- $rc = LICENSES->save_license(\%myconfig, \%$form);
- # load previous variables
+ 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;
}
-
- $form->{"lizenzen_$form->{row}"} = "";
+
+ $form->{"lizenzen_$form->{row}"} =
+ "";
$form->{rowcount}--;
-
+
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;
-
+
# redirect
$form->redirect;
-
+
} else {
form_header();
-
+
print("Die Lizenz wurde gespeichert.\n");
form_footer();
}
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub search {
- $lxdebug->enter_sub();
- if (!$lizenzen) {
- $form->error($locale->text('The licensing module has been deactivated in lx-erp.conf.'));
+ $main::lxdebug->enter_sub();
+
+ $main::auth->assert('license_edit');
+
+ my $form = $main::form;
+ my $locale = $main::locale;
+
+ $form->{title} = $locale->text('Licenses');
+
+ if (!$main::lizenzen) {
+ $form->error(
+ $locale->text(
+ 'The licensing module has been deactivated in lx-erp.conf.')
+ );
}
form_header();
- print(qq|
+ print(
+ qq|
-
|
+
|
@@ -462,24 +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=";
- $callback = $form->{"script"} . "?action=do_search" . $callback;
+ 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 $_) {
@@ -491,63 +603,74 @@ sub do_search {
form_header();
- print(qq|
+ print(
+ qq|
| . $locale->text("Licenses") . qq| |
|);
- if (scalar(@{$form->{"licenses"}}) == 0) {
- print(qq|
| .
- $locale->text("No licenses were found that match the search criteria.") .
- qq|