Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a908b2eb

Von Bernd Bleßmann vor 5 Monaten hinzugefügt

  • ID a908b2eb0c8075402db7b82627930617e535572e
  • Vorgänger 58d3225b
  • Nachfolger d3c92dc2

Artikelstamm: Listen-, Verkaufs- und Einkaufspreis nicht ändern können, …

wenn kein Recht.

Preisfelder in der Maske sind nicht editierbar und Preise werden nicht
aus der Form geholt. Preise des vorhandenen Objekts werden nicht überschrieben.

Unterschiede anzeigen:

SL/Controller/Part.pm
$self->part($oldpart->clone_and_reset_deep);
$self->parse_form(use_as_new => 1);
$self->part->partnumber(undef);
if (!$::auth->assert('part_service_assembly_edit_prices', 'may_fail')) {
# No right to edit prices -> remove prices for new part.
$self->part->$_(undef) for qw(sellprice lastcost listprice);
}
$self->render_form(use_as_new => 1);
}
......
my $params = delete($::form->{part}) || { };
if (!$::auth->assert('part_service_assembly_edit_prices', 'may_fail')) {
# No right to set or change prices, so delete prices from params.
delete $params->{$_} for qw(sellprice_as_number lastcost_as_number listprice_as_number);
# Todo: pricegroup prices, makemodel prices, customer prices?
}
delete $params->{id};
$self->part->assign_attributes(%{ $params});
$self->part->bin_id(undef) unless $self->part->warehouse_id;
templates/design40_webpages/part/_basic_data.html
</tr>
<tr>
<th>[% 'List Price' | $T8 %]</th>
<td>[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]</td>
<td>
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]
[% ELSE %]
<span class="data wi-mediumsmall numeric">[% SELF.part.listprice_as_number %]</span>
[% END %]
</td>
</tr>
<tr>
<th>[% 'Sell Price' | $T8 %]</th>
<td>
[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]
[% ELSE %]
<span class="data wi-mediumsmall numeric">[% SELF.part.sellprice_as_number %]</span>
[% END %]
[% IF (SELF.part.is_assortment or SELF.part.is_assembly) %]
<span id="items_sellprice_sum_basic" class="data below wi-mediumsmall numeric">([% LxERP.format_amount(SELF.part.items_sellprice_sum, 2) %])</span>
[% END %]
......
<th>[% 'Last Cost' | $T8 %]</th>
<td>
[%- UNLESS SELF.part.is_assembly %]
[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, class='reformat_number numeric wi-mediumsmall', size=10) %]
[% ELSE %]
<span class="data wi-mediumsmall numeric">[% SELF.part.lastcost_as_number %]</span>
[% END %]
[% END %]
[% IF SELF.part.is_assortment || SELF.part.is_assembly %]
<span id="items_lastcost_sum_basic" class="data below wi-mediumsmall numeric">([% LxERP.format_amount(SELF.part.items_lastcost_sum, 2) %])</span>
templates/webpages/part/_basic_data.html
<tr>
<th align="right" nowrap="true">[% 'List Price' | $T8 %]</th>
<td>[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, size=11 class='reformat_number numeric') %]</td>
<td>
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, size=11 class='reformat_number numeric') %]</td>
[% ELSE %]
<span class="numeric">[% SELF.part.listprice_as_number %]</span>
[% END %]
</tr>
<tr >
<th align="right" nowrap="true">[% 'Sell Price' | $T8 %]</th>
<td>[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, size=11, class='reformat_number numeric') %] [% IF (SELF.part.is_assortment or SELF.part.is_assembly) %] (<span id="items_sellprice_sum_basic">[% LxERP.format_amount(SELF.part.items_sellprice_sum, 2) %]</span>) [% END %]</td>
<td>
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, size=11, class='reformat_number numeric') %]
[% IF (SELF.part.is_assortment or SELF.part.is_assembly) %] (<span id="items_sellprice_sum_basic">[% LxERP.format_amount(SELF.part.items_sellprice_sum, 2) %]</span>) [% END %]
[% ELSE %]
<span class="numeric">[% SELF.part.sellprice_as_number %]</span>
[% END %]
</td>
</tr>
<tr>
<th align="right" nowrap="true">[% 'Last Cost' | $T8 %]</th>
<td>
[%- UNLESS SELF.part.is_assembly %]
[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, size=11 class='reformat_number numeric') %]
[% IF (AUTH.assert('part_service_assembly_edit_prices', 'may_fail')) %]
[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, size=11 class='reformat_number numeric') %]
[% ELSE %]
<span class="numeric">[% SELF.part.lastcost_as_number %]</span>
[% END %]
[%- END %]
[% IF SELF.part.is_assortment || SELF.part.is_assembly %] (<span id="items_lastcost_sum_basic">[% LxERP.format_amount(SELF.part.items_lastcost_sum, 2) %]</span>) [% END %]
</td>

Auch abrufbar als: Unified diff