Revision 67814d7d
Von Jan Büren vor mehr als 7 Jahren hinzugefügt
SL/Controller/Part.pm | ||
---|---|---|
813 | 813 |
|
814 | 814 |
sub init_orphaned { |
815 | 815 |
my ($self) = @_; |
816 |
return $::auth->assert('assembly_edit', 1) // $self->part->orphaned;
|
|
816 |
return $self->part->orphaned; |
|
817 | 817 |
} |
818 | 818 |
|
819 | 819 |
sub init_models { |
templates/webpages/part/_assembly.html | ||
---|---|---|
13 | 13 |
<thead> |
14 | 14 |
<tr class="listheading"> |
15 | 15 |
<th class="listheading" style='display:none'></th> |
16 |
[% IF SELF.orphaned %] |
|
16 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
17 | 17 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th> |
18 | 18 |
[% END %] |
19 | 19 |
<th class="listheading" nowrap width="3" >[%- 'position' | $T8 %] </th> |
20 |
[% IF SELF.orphaned %] |
|
20 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
21 | 21 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th> |
22 | 22 |
[% END %] |
23 | 23 |
<th id="partnumber_header_id" class="listheading" nowrap width="5"><a href='#' onClick='javascript:kivi.Part.reorder_items("partnumber")' >[%- 'Partnumber' | $T8 %]</a></th> |
... | ... | |
37 | 37 |
</tbody> |
38 | 38 |
<tbody id="assembly_input"> |
39 | 39 |
<tr> |
40 |
[% IF SELF.orphaned %] |
|
40 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
41 | 41 |
<td></td> |
42 | 42 |
<td></td> |
43 | 43 |
<td align="right">[% 'Part' | $T8 %]:</td> |
... | ... | |
60 | 60 |
<td id="items_sum_diff" class="numeric">[%- LxERP.format_amount(items_sum_diff, 2, 0) %]</td> |
61 | 61 |
</tr> |
62 | 62 |
<tr> |
63 |
[% IF SELF.orphaned %] |
|
63 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
64 | 64 |
<td></td> |
65 | 65 |
<td></td> |
66 | 66 |
[% END %] |
templates/webpages/part/_assembly_row.html | ||
---|---|---|
5 | 5 |
[%- USE P %] |
6 | 6 |
<tr class="listrow[% listrow %] assembly_item_row"> |
7 | 7 |
<td style='display:none'> |
8 |
[% IF orphaned %]
|
|
8 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
9 | 9 |
[% L.hidden_tag("assembly_items[+].parts_id", ITEM.part.id) %] |
10 | 10 |
[% END %] |
11 | 11 |
</td> |
12 |
<td align="center" [% UNLESS orphaned %]style='display:none'[% END %]> |
|
12 |
<td align="center" [% UNLESS orphaned || AUTH.assert('assembly_edit', 1) %]style='display:none'[% END %]>
|
|
13 | 13 |
[%- L.button_tag("kivi.Part.delete_item_row(this)", |
14 | 14 |
LxERP.t8("X")) %] [% # , confirm=LxERP.t8("Are you sure?")) %] |
15 | 15 |
</td> |
... | ... | |
18 | 18 |
[% HTML.escape(position) or HTML.escape(ITEM.position) %] |
19 | 19 |
</div> |
20 | 20 |
</td> |
21 |
<td align="center" [% UNLESS orphaned %]style='display:none'[% END %]> |
|
21 |
<td align="center" [% UNLESS orphaned || AUTH.assert('assembly_edit', 1) %]style='display:none'[% END %]>
|
|
22 | 22 |
<img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]" class="dragdrop"> |
23 | 23 |
</td> |
24 | 24 |
<td nowrap> |
... | ... | |
31 | 31 |
[% HTML.escape(ITEM.part.description) %] |
32 | 32 |
</td> |
33 | 33 |
<td> |
34 |
[% IF orphaned %]
|
|
34 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
35 | 35 |
[%- L.input_tag("assembly_items[].qty_as_number", |
36 | 36 |
ITEM.qty_as_number, |
37 | 37 |
size = 10, |
... | ... | |
43 | 43 |
<td nowrap> |
44 | 44 |
[% ITEM.part.unit | html %] |
45 | 45 |
</td> |
46 |
[% IF orphaned %]
|
|
46 |
[% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
|
|
47 | 47 |
<td>[% L.checkbox_tag("assembly_items[].bom", checked=ITEM.bom, for_submit=1) %]</td> |
48 | 48 |
[% ELSE %] |
49 | 49 |
<td>[% IF ITEM.bom %][% 'Yes' | $T8 %][% ELSE %][% 'No' | $T8 %][% END %]</td> |
Auch abrufbar als: Unified diff
Erzeugnis nach Fertigen editieren -> Recht in template ausgelagert
Vorher buggy und konzeptionell schlecht, da keine Unterscheidung
von orphaned zu 'darf doch nach fertigen editierbar sein' möglich war.
Ferner auch keine Differenzierung zum Sortiment möglich.
Mit diesem Commit ist verwaist wieder verwaist und das zusätzliche
Aushebeln des Schreibschutz beim Erzeugnis sauber nur über das Recht definiert.