Erzeugnis nach Fertigen editieren -> Recht in template ausgelagert
authorJan Büren <jan@kivitendo-premium.de>
Fri, 27 Oct 2017 13:52:05 +0000 (15:52 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Mon, 30 Oct 2017 14:11:20 +0000 (15:11 +0100)
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.

SL/Controller/Part.pm
templates/webpages/part/_assembly.html
templates/webpages/part/_assembly_row.html

index d273040..f152e08 100644 (file)
@@ -813,7 +813,7 @@ sub init_part {
 
 sub init_orphaned {
   my ($self) = @_;
-  return $::auth->assert('assembly_edit', 1) // $self->part->orphaned;
+  return $self->part->orphaned;
 }
 
 sub init_models {
index 66b9a70..bec2f89 100644 (file)
  <thead>
    <tr class="listheading">
      <th class="listheading" style='display:none'></th>
-     [% IF SELF.orphaned %]
+     [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
      <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th>
      [% END %]
      <th class="listheading" nowrap width="3" >[%- 'position'     | $T8 %] </th>
-     [% IF SELF.orphaned %]
+     [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
      <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
      [% END %]
      <th id="partnumber_header_id"  class="listheading" nowrap width="5"><a href='#' onClick='javascript:kivi.Part.reorder_items("partnumber")' >[%- 'Partnumber'  | $T8 %]</a></th>
@@ -37,7 +37,7 @@
 </tbody>
 <tbody id="assembly_input">
 <tr>
- [% IF SELF.orphaned %]
+ [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
  <td></td>
  <td></td>
  <td align="right">[% 'Part' | $T8 %]:</td>
@@ -60,7 +60,7 @@
  <td id="items_sum_diff"      class="numeric">[%- LxERP.format_amount(items_sum_diff,      2, 0) %]</td>
 </tr>
 <tr>
- [% IF SELF.orphaned %]
+ [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
  <td></td>
  <td></td>
  [% END %]
index e57215e..e629ff8 100644 (file)
@@ -5,11 +5,11 @@
 [%- USE P %]
   <tr class="listrow[% listrow %] assembly_item_row">
     <td style='display:none'>
-      [% IF orphaned %]
+      [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
       [% L.hidden_tag("assembly_items[+].parts_id", ITEM.part.id) %]
       [% END %]
     </td>
-    <td align="center" [% UNLESS orphaned %]style='display:none'[% END %]>
+    <td align="center" [% UNLESS orphaned || AUTH.assert('assembly_edit', 1) %]style='display:none'[% END %]>
       [%- L.button_tag("kivi.Part.delete_item_row(this)",
                        LxERP.t8("X")) %] [% # , confirm=LxERP.t8("Are you sure?")) %]
     </td>
@@ -18,7 +18,7 @@
         [% HTML.escape(position) or HTML.escape(ITEM.position) %]
       </div>
     </td>
-    <td align="center" [% UNLESS orphaned %]style='display:none'[% END %]>
+    <td align="center" [% UNLESS orphaned || AUTH.assert('assembly_edit', 1) %]style='display:none'[% END %]>
       <img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]" class="dragdrop">
     </td>
     <td nowrap>
@@ -31,7 +31,7 @@
        [% HTML.escape(ITEM.part.description) %]
     </td>
     <td>
-    [% IF orphaned %]
+    [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
       [%- L.input_tag("assembly_items[].qty_as_number",
                       ITEM.qty_as_number,
                       size = 10,
@@ -43,7 +43,7 @@
     <td nowrap>
       [% ITEM.part.unit | html %]
     </td>
-    [% IF orphaned %]
+    [% IF SELF.orphaned || AUTH.assert('assembly_edit', 1) %]
     <td>[% L.checkbox_tag("assembly_items[].bom", checked=ITEM.bom, for_submit=1) %]</td>
     [% ELSE %]
     <td>[% IF ITEM.bom %][% 'Yes' | $T8 %][% ELSE %][% 'No' | $T8 %][% END %]</td>