my $linetotal = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * (100 - $form->{"discount_$i"}) / 100 / $price_factor, 2);
my $rows = $form->numtextrows($form->{"description_$i"}, 30, 6);
- $column_data{runningnumber} = $cgi->textfield(-name => "runningnumber_$i", -id => "runningnumber_$i", -size => 5, -value => $i); # HuT
+ # quick delete single row
+ $column_data{runningnumber} .= q|<a onclick= "$('#partnumber_| . $i . q|').val(''); $('#update_button').click();">| .
+ q|<img height="10px" width="10px" src="image/cross.png" alt="| . $locale->text('Remove') . q|"></a> |;
+ $column_data{runningnumber} .= $cgi->textfield(-name => "runningnumber_$i", -id => "runningnumber_$i", -size => 5, -value => $i); # HuT
+
+
$column_data{partnumber} = $cgi->textfield(-name => "partnumber_$i", -id => "partnumber_$i", -size => 12, -value => $form->{"partnumber_$i"});
$column_data{description} = (($rows > 1) # if description is too large, use a textbox instead
? $cgi->textarea( -name => "description_$i", -id => "description_$i", -default => $form->{"description_$i"}, -rows => $rows, -columns => 30)
$form->{oldmedia} = $form->{media};
$form->{media} = "email";
+ my $global_bcc = AM->get_defaults()->{global_bcc};
+
+ $form->{bcc} = join ', ', grep $_, $form->{bcc}, $global_bcc;
+
my $attachment_filename = $form->generate_attachment_filename();
my $subject = $form->{subject} || $form->generate_email_subject();
my $valid = CVar->custom_variables_validity_by_trans_id(trans_id => $params{part_id});
+ # get partsgroup_id from part
+ my $partsgroup_id;
+ if ($params{part_id}) {
+ $partsgroup_id = SL::DB::Part->new(id => $params{part_id})->load->partsgroup_id;
+ }
+
my $num_visible_cvars = 0;
foreach my $cvar (@{ $form->{CVAR_CONFIGS}->{IC} }) {
$cvar->{valid} = $params{part_id} && $valid->($cvar->{id});
+ # set partsgroup filter
+ my $partsgroup_filtered = 0;
+ if ($cvar->{flag_partsgroup_filter}) {
+ if (!$partsgroup_id || (!grep {$partsgroup_id == $_} @{ $cvar->{partsgroups} })) {
+ $partsgroup_filtered = 1;
+ }
+ }
+
+ my $hide_non_editable = 1;
+
my $show = 0;
my $description = '';
- if ($cvar->{flag_editable} && $cvar->{valid}) {
+ if (( ($cvar->{flag_editable} || !$hide_non_editable) && $cvar->{valid}) && !$partsgroup_filtered) {
$num_visible_cvars++;
$description = $cvar->{description} . ' ';
$show = 1;
my $form_key = "ic_cvar_" . $cvar->{name} . "_$params{row}";
push @{ $params{ROW2} }, {
- line_break => $show && !(($num_visible_cvars - 1) % 3),
+ line_break => $show && !(($num_visible_cvars - 1) % ($::myconfig{form_cvars_nr_cols}*1 || 3)),
description => $description,
cvar => 1,
render_options => {
- hide_non_editable => 1,
+ hide_non_editable => $hide_non_editable,
var => $cvar,
name_prefix => 'ic_',
name_postfix => "_$params{row}",
valid => $cvar->{valid},
value => CVar->parse($::form->{$form_key}, $cvar),
+ partsgroup_filtered => $partsgroup_filtered,
}
};
}