Revision 0546ad40
Von Bernd Bleßmann vor mehr als 3 Jahren hinzugefügt
locale/de/all | ||
---|---|---|
294 | 294 |
'Already counted' => 'Bereits erfasst', |
295 | 295 |
'Already imported entries (duplicates)' => 'Bereits importierte Einträge (Duplikate)', |
296 | 296 |
'Always edit assembly items (user can change/delete items even if assemblies are already produced)' => 'Erzeugnisbestandteile verändern (Löschen/Umsortieren) auch nachdem dieses Erzeugnis schon produziert wurde.', |
297 |
'Always edit assortment items (user can change/delete items even if assortments are already used)' => 'Sortimentsbestandteile verändern (Löschen/Umsortieren), auch nachdem dieses Sortiment schon verwendet wurde.', |
|
297 | 298 |
'Always save orders with a projectnumber (create new projects)' => 'Aufträge immer mit Projektnummer speichern (neue Projekte erstellen)', |
298 | 299 |
'Amended Advance Turnover Tax Return' => 'Berichtigte Anmeldung', |
299 | 300 |
'Amount' => 'Betrag', |
locale/en/all | ||
---|---|---|
294 | 294 |
'Already counted' => '', |
295 | 295 |
'Already imported entries (duplicates)' => '', |
296 | 296 |
'Always edit assembly items (user can change/delete items even if assemblies are already produced)' => '', |
297 |
'Always edit assortment items (user can change/delete items even if assortments are already used)' => '', |
|
297 | 298 |
'Always save orders with a projectnumber (create new projects)' => '', |
298 | 299 |
'Amended Advance Turnover Tax Return' => '', |
299 | 300 |
'Amount' => '', |
sql/Pg-upgrade2-auth/right_assortment_edit.sql | ||
---|---|---|
1 |
-- @tag: right_assortment_edit |
|
2 |
-- @description: Recht zum Ändern von Sortimentsbestandteilen auch nach Verwendeung |
|
3 |
-- @depends: release_3_5_7 move_shop_part_edit_right |
|
4 |
-- @locales: Always edit assortment items (user can change/delete items even if assortments are already used) |
|
5 |
|
|
6 |
INSERT INTO auth.master_rights (position, name, description, category) |
|
7 |
VALUES ((SELECT position + 10 FROM auth.master_rights WHERE name = 'assembly_edit'), |
|
8 |
'assortment_edit', |
|
9 |
'Always edit assortment items (user can change/delete items even if assortments are already used)', |
|
10 |
FALSE); |
|
11 |
|
|
12 |
INSERT INTO auth.group_rights (group_id, "right", granted) |
|
13 |
SELECT id, 'assortment_edit', true |
|
14 |
FROM auth.group |
|
15 |
WHERE name = 'Vollzugriff'; |
templates/webpages/part/_assortment.html | ||
---|---|---|
14 | 14 |
<thead> |
15 | 15 |
<tr class="listheading"> |
16 | 16 |
<th class="listheading" style='display:none'></th> |
17 |
[% IF SELF.orphaned %] |
|
17 |
[% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
18 | 18 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th> |
19 | 19 |
[% END %] |
20 | 20 |
<th class="listheading" nowrap width="3" >[%- 'position' | $T8 %] </th> |
21 |
[% IF SELF.orphaned %] |
|
21 |
[% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
22 | 22 |
<th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th> |
23 | 23 |
[% END %] |
24 | 24 |
<th id="partnumber_header_id" class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Part.reorder_items("partnumber")'> [%- 'Partnumber' | $T8 %]</a></th> |
... | ... | |
37 | 37 |
</tbody> |
38 | 38 |
<tbody id="assortment_input"> |
39 | 39 |
<tr> |
40 |
[% IF SELF.orphaned %] |
|
40 |
[% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
41 | 41 |
<td></td> |
42 | 42 |
<td></td> |
43 | 43 |
<td align="right">[% 'Part' | $T8 %]:</td> |
... | ... | |
60 | 60 |
<th 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('assortment_edit', 1) %]
|
|
64 | 64 |
<td></td> |
65 | 65 |
<td></td> |
66 | 66 |
[% END %] |
templates/webpages/part/_assortment_row.html | ||
---|---|---|
5 | 5 |
[%- USE P %] |
6 | 6 |
<tr class="listrow[% listrow %] assortment_item_row"> |
7 | 7 |
<td style='display:none'> |
8 |
[% IF orphaned %] |
|
8 |
[% IF orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
9 | 9 |
[% L.hidden_tag("assortment_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('assortment_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('assortment_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> |
... | ... | |
28 | 28 |
[% HTML.escape(ITEM.part.description) %] |
29 | 29 |
</td> |
30 | 30 |
<td nowrap> |
31 |
[% IF orphaned %] |
|
31 |
[% IF orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
32 | 32 |
[%- L.input_tag("assortment_items[].qty_as_number", |
33 | 33 |
ITEM.qty_as_number, |
34 | 34 |
size = 10, |
... | ... | |
38 | 38 |
[% END %] |
39 | 39 |
</td> |
40 | 40 |
<td nowrap> |
41 |
[% IF orphaned %] |
|
41 |
[% IF orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
42 | 42 |
[%- L.select_tag("assortment_items[].unit", |
43 | 43 |
ITEM.part.available_units, |
44 | 44 |
default = ITEM.part.unit, |
... | ... | |
50 | 50 |
[% END %] |
51 | 51 |
</td> |
52 | 52 |
<td> |
53 |
[% IF orphaned %] |
|
53 |
[% IF orphaned || AUTH.assert('assortment_edit', 1) %]
|
|
54 | 54 |
[% L.checkbox_tag('assortment_items[].charge', checked => ITEM.charge, class => 'checkbox', for_submit=1) %] |
55 | 55 |
[% ELSE %] |
56 | 56 |
[% IF ITEM.charge %][% 'Yes' | $T8 %][%- ELSE %][% 'No' | $T8 %][%- END %] |
Auch abrufbar als: Unified diff
Sortimentsbestandteile ändern können, auch nachdem das Sortiemnt verwendet wurde
Gekoppelt an ein neues Recht