X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fic.pl;h=f986715eb8397f7e22e7f22172d466a6abbd97a7;hb=eb07c9dd23c32937527813cd0dea27a8ffe5603e;hp=c0841cfa939e51723bb9eda4fbe05de4484008f9;hpb=9e58ceae3d60fe8986a2aefb8065467b16fa18de;p=kivitendo-erp.git
diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl
index c0841cfa9..f986715eb 100644
--- a/bin/mozilla/ic.pl
+++ b/bin/mozilla/ic.pl
@@ -94,7 +94,7 @@ sub add {
sub search {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
$form->{revers} = 0; # switch for backward sorting
$form->{lastsort} = ""; # memory for which table was sort at last time
@@ -106,8 +106,6 @@ sub search {
$form->{title} = $locale->text($form->{title});
$form->{title} = $locale->text('Assemblies') if ($is_xyz{is_assembly});
- $form->{jsscript} = 1;
-
$form->{CUSTOM_VARIABLES} = CVar->get_configs('module' => 'IC');
($form->{CUSTOM_VARIABLES_FILTER_CODE},
$form->{CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CUSTOM_VARIABLES},
@@ -1011,7 +1009,7 @@ sub addtop100 {
sub generate_report {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
my ($revers, $lastsort, $description);
@@ -1196,14 +1194,22 @@ sub generate_report {
# soldtotal doesn't make sense with more than one bsooqr option.
# so reset it to sold (the most common option), and issue a warning
+ # ...
+ # also it doesn't make sense without bsooqr. disable and issue a warning too
my @bsooqr = qw(sold bought onorder ordered rfq quoted);
- if ($form->{l_subtotal} && 1 < grep { $form->{$_} } @bsooqr) {
+ my $bsooqr_mode = grep { $form->{$_} } @bsooqr;
+ if ($form->{l_subtotal} && 1 < $bsooqr_mode) {
my $enabled = first { $form->{$_} } @bsooqr;
$form->{$_} = '' for @bsooqr;
$form->{$enabled} = 'Y';
push @options, $::locale->text('Subtotal cannot distinguish betweens record types. Only one of the selected record types will be displayed: #1', $optiontexts{$enabled});
}
+ if ($form->{l_soldtotal} && !$bsooqr_mode) {
+ delete $form->{l_soldtotal};
+
+ flash('warning', $::locale->text('Soldtotal does not make sense without any bsooqr options'));
+ }
IC->all_parts(\%myconfig, \%$form);
@@ -1268,7 +1274,7 @@ sub generate_report {
'assembly' => $locale->text('assembly_list'),
);
- $report->set_options('top_info_text' => $locale->text('Options') . ': ' . join(', ', grep $_, @options),
+ $report->set_options('raw_top_info_text' => $form->parse_html_template('ic/generate_report_top', { options => \@options }),
'raw_bottom_info_text' => $form->parse_html_template('ic/generate_report_bottom'),
'output_format' => 'HTML',
'title' => $form->{title},
@@ -1318,7 +1324,7 @@ sub generate_report {
$ref->{lastcost} *= $ref->{exchangerate} / $ref->{price_factor};
# use this for assemblies
- my $soldtotal = $ref->{soldtotal};
+ my $soldtotal = $bsooqr_mode ? $ref->{soldtotal} : $ref->{onhand};
if ($ref->{assemblyitem}) {
$row->{partnumber}{align} = 'right';
@@ -1356,8 +1362,8 @@ sub generate_report {
if ($ref->{module} eq 'oe') {
# für oe gibt es vier fälle, jeweils nach kunde oder lieferant unterschiedlich:
#
- # | ist bestellt | Vom Kunde bestellt | -> edit_oe_ord_link
- # | Anfrage | Angebot | -> edit_oe_quo_link
+ # | ist bestellt | Von Kunden bestellt | -> edit_oe_ord_link
+ # | Anfrage | Angebot | -> edit_oe_quo_link
my $edit_oe_ord_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{cv} eq 'vendor' ? 'purchase_order' : 'sales_order'), 'id=' . E($ref->{trans_id}), 'callback');
my $edit_oe_quo_link = build_std_url("script=oe.pl", 'action=edit', 'type=' . E($ref->{cv} eq 'vendor' ? 'request_quotation' : 'sales_quotation'), 'id=' . E($ref->{trans_id}), 'callback');
@@ -1463,7 +1469,7 @@ sub parts_subtotal {
sub edit {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
# show history button
$form->{javascript} = qq||;
@@ -1484,13 +1490,12 @@ sub edit {
sub link_part {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
IC->create_links("IC", \%myconfig, \%$form);
# currencies
- map({ $form->{selectcurrency} .= "