Neues Recht "Verknüpfte Belege"
authorG. Richardson <information@kivitendo-premium.de>
Thu, 9 Jun 2016 16:41:43 +0000 (18:41 +0200)
committerG. Richardson <information@kivitendo-premium.de>
Fri, 8 Jul 2016 13:03:54 +0000 (15:03 +0200)
Hintergrund ist, daß es derzeit z.B. möglich ist, daß Benutzer die nur
Rechte haben um Angebote zu sehen, über die verknüpften Belege eine
Übersicht über alle anderen Belege aus dem Workflow, bis hin zur
Rechnung zu sehen. Zumindest eine Zusammenfassung (Datum, Beträge), ohne
jedoch die Belege öffnen zu können. Dies ist aber nicht immer gewünscht,
daher kann man jetzt die Reiter für verknüpfte Belege komplett
ausblenden.

Eine bessere Lösung wäre nur die Belege anzuzeigen, für die der Benutzer
auch Bearbeitungsrechte hat.

SL/Controller/RecordLinks.pm
doc/changelog
sql/Pg-upgrade2-auth/record_links_rights.pl [new file with mode: 0644]
templates/webpages/ap/form_header.html
templates/webpages/ar/form_header.html
templates/webpages/do/form_header.html
templates/webpages/ir/form_header.html
templates/webpages/is/form_header.html
templates/webpages/oe/form_header.html
templates/webpages/project/form.html

index 9ff64e4..03d7b81 100644 (file)
@@ -23,6 +23,7 @@ use Rose::Object::MakeMethods::Generic
   scalar => [ qw(object object_model object_id link_type link_direction link_type_desc) ],
 );
 
+__PACKAGE__->run_before('check_auth');
 __PACKAGE__->run_before('check_object_params', only => [ qw(ajax_list ajax_delete ajax_add_select_type ajax_add_filter ajax_add_list ajax_add_do) ]);
 __PACKAGE__->run_before('check_link_params',   only => [ qw(                                                           ajax_add_list ajax_add_do) ]);
 
@@ -217,4 +218,8 @@ sub check_link_params {
   return 1;
 }
 
+sub check_auth {
+  $::auth->assert('record_links');
+}
+
 1;
index 794c87d..5f04e54 100644 (file)
@@ -2,6 +2,11 @@
 # Veränderungen von kivitendo #
 ###############################
 
+2016-xx-xx - Release 3.4.x Unstable
+
+  - Neues Recht "Verknüpfte Belege", standardmäßig erlaubt. Betrifft alle
+    Belege und die Projektstammdaten
+
 2016-07-05 - Release 3.4.1
 
 kleinere neue Features und Detailverbesserungen:
@@ -66,7 +71,6 @@ Bugfixes:
 - Bugfix #165  inventory.shippingdate wird nicht konsequent benutzt
 - Bugfix #166  Presenter Links gehen im ReportGenerator Export kaputt
 
-2016-03-12 - Release 3.4.0
 
 Größere neue Features:
 
diff --git a/sql/Pg-upgrade2-auth/record_links_rights.pl b/sql/Pg-upgrade2-auth/record_links_rights.pl
new file mode 100644 (file)
index 0000000..8e8073d
--- /dev/null
@@ -0,0 +1,28 @@
+# @tag: record_links_rights
+# @description: Setzt das Recht um den Tab verknüpfte Belege zu sehen, per Default erlaubt (wie vorher auch)
+# @depends: release_3_4_0 master_rights_position_gaps
+package SL::DBUpgrade2::record_links_rights;
+
+use strict;
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
+
+use SL::DBUtils;
+
+sub run {
+  my ($self) = @_;
+
+  $self->db_query("INSERT INTO auth.master_rights (position, name, description) VALUES ( 4750, 'record_links', 'Linked Records')");
+
+  my $groups = $main::auth->read_groups();
+
+  foreach my $group (values %{$groups}) {
+    $group->{rights}->{record_links} = 1;
+    $main::auth->save_group($group);
+  }
+
+  return 1;
+} # end run
+
+1;
index fdcbefa..af3b7e8 100644 (file)
@@ -83,7 +83,9 @@
  <ul>
   <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
 [%- IF id %]
+  [%- IF AUTH.assert('record_links', 1) %]
   <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=PurchaseInvoice&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
+  [%- END %]
   <li><a href="[% 'controller.pl?action=AccTrans/list_transactions&trans_id=' _ HTML.url(id) | html %]">[% LxERP.t8('Transactions') %]</a></li>
 [%- END %]
  </ul>
index 2645d82..c779a0d 100644 (file)
@@ -24,7 +24,9 @@
  <ul>
   <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
 [%- IF id %]
+  [% IF AUTH.assert('record_links', 1) %]
   <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=Invoice&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
+  [%- END %]
   <li><a href="[% 'controller.pl?action=AccTrans/list_transactions&trans_id=' _ HTML.url(id) | html %]">[% LxERP.t8('Transactions') %]</a></li>
 [%- END %]
  </ul>
index 334c94b..6ae87d3 100644 (file)
@@ -53,7 +53,7 @@
 [%- IF INSTANCE_CONF.get_webdav %]
    <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
 [%- END %]
-[%- IF id %]
+[%- IF id AND AUTH.assert('record_links', 1) %]
    <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=DeliveryOrder&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
 [%- END %]
   </ul>
index 866bb8f..6975d0d 100644 (file)
@@ -34,7 +34,9 @@
   <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
 [%- END %]
 [%- IF id %]
+  [%- IF AUTH.assert('record_links', 1) %]
   <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=PurchaseInvoice&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
+  [%- END %]
   <li><a href="[% 'controller.pl?action=AccTrans/list_transactions&trans_id=' _ HTML.url(id) | html %]">[% LxERP.t8('Transactions') %]</a></li>
 [%- END %]
  </ul>
index ef60cc9..f412fac 100644 (file)
@@ -35,7 +35,9 @@
   <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
 [%- END %]
 [%- IF id %]
+  [%- IF AUTH.assert('record_links', 1) %]
   <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=Invoice&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
+  [%- END %]
   [%- IF AUTH.assert('general_ledger', 1) %]
   <li><a href="[% 'controller.pl?action=AccTrans/list_transactions&trans_id=' _ HTML.url(id) | html %]">[% LxERP.t8('Transactions') %]</a></li>
   [%- END %]
index a64a87d..70e702e 100644 (file)
@@ -37,7 +37,7 @@
 [%- IF INSTANCE_CONF.get_webdav %]
       <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
 [%- END %]
-[%- IF id %]
+[%- IF id AND AUTH.assert('record_links', 1) %]
       <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=Order&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
 [%- END %]
      </ul>
index c93a768..5e25f8e 100644 (file)
@@ -17,7 +17,7 @@
     [%- IF CUSTOM_VARIABLES.size %]
     <li><a href="#custom_variables">[% 'Custom Variables' | $T8 %]</a></li>
     [%- END %]
-    [%- IF SELF.project.id %]
+    [%- IF SELF.project.id and AUTH.assert('record_links', 1) %]
     <li><a href="#linked_records">[% 'Linked Records' | $T8 %]</a></li>
     [%- END %]
    </ul>
@@ -32,7 +32,7 @@
    </div>
    [%- END %]
 
-   [%- IF SELF.project.id %]
+   [%- IF SELF.project.id and AUTH.assert('record_links', 1) %]
    <div id="linked_records">
    [%- PROCESS 'project/_linked_records.html' records=SELF.linked_records %]
    </div>