From e8d91442a904758a2c15d5d22a05790fac120d23 Mon Sep 17 00:00:00 2001 From: "G. Richardson" Date: Mon, 5 Aug 2013 10:29:52 +0200 Subject: [PATCH] =?utf8?q?Neue=20Rechte=20f=C3=BCr=20Anzeige=20der=20Debit?= =?utf8?q?oren-=20und=20Kreditorenbuchungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Damit kann man in den Berichten für Einkaufs- und Verkaufsrechnungen die Debitoren- und Kreditorenbuchungen herausfiltern, so daß z.B. die Einkäufer nicht mehr Kreditorenbuchungen aus dem Fibu-Bereich sehen können. --- SL/AP.pm | 5 ++++ SL/AR.pm | 5 ++++ SL/Auth.pm | 2 ++ doc/changelog | 8 ++++++ locale/de/all | 2 ++ ...ghts_for_showing_ar_and_ap_transactions.pl | 27 +++++++++++++++++++ 6 files changed, 49 insertions(+) create mode 100644 sql/Pg-upgrade2-auth/rights_for_showing_ar_and_ap_transactions.pl diff --git a/SL/AP.pm b/SL/AP.pm index f754137ee..bcd6d83cb 100644 --- a/SL/AP.pm +++ b/SL/AP.pm @@ -491,6 +491,11 @@ sub ap_transactions { qq|LEFT JOIN payment_terms pt ON (pt.id = v.payment_id)|; my $where = ''; + + unless ( $main::auth->check_right($form->{login}, 'show_ap_transactions') ) { + $where .= " AND NOT invoice = 'f' "; # remove ap transactions from Sales -> Reports -> Invoices + }; + my @values; if ($form->{vendor_id}) { diff --git a/SL/AR.pm b/SL/AR.pm index b6a7376e1..d97c443d1 100644 --- a/SL/AR.pm +++ b/SL/AR.pm @@ -515,6 +515,11 @@ sub ar_transactions { qq|LEFT JOIN department d ON (d.id = a.department_id)|; my $where = "1 = 1"; + + unless ( $main::auth->check_right($form->{login}, 'show_ar_transactions') ) { + $where .= " AND NOT invoice = 'f' "; # remove ar transactions from Sales -> Reports -> Invoices + }; + if ($form->{customernumber}) { $where .= " AND c.customernumber = ?"; push(@values, $form->{customernumber}); diff --git a/SL/Auth.pm b/SL/Auth.pm index 74ccd4ee5..59542d65d 100644 --- a/SL/Auth.pm +++ b/SL/Auth.pm @@ -1066,11 +1066,13 @@ sub all_rights_full { ["dunning_edit", $locale->text("Create and edit dunnings")], ["sales_all_edit", $locale->text("View/edit all employees sales documents")], ["edit_prices", $locale->text("Edit prices and discount (if not used, textfield is ONLY set readonly)")], + ["show_ar_transactions", $locale->text("Show AR transactions as part of AR invoice report")], ["--ap", $locale->text("AP")], ["request_quotation_edit", $locale->text("Create and edit RFQs")], ["purchase_order_edit", $locale->text("Create and edit purchase orders")], ["purchase_delivery_order_edit", $locale->text("Create and edit purchase delivery orders")], ["vendor_invoice_edit", $locale->text("Create and edit vendor invoices")], + ["show_ap_transactions", $locale->text("Show AP transactions as part of AP invoice report")], ["--warehouse_management", $locale->text("Warehouse management")], ["warehouse_contents", $locale->text("View warehouse content")], ["warehouse_management", $locale->text("Warehouse management")], diff --git a/doc/changelog b/doc/changelog index 5d4664ef9..088435b8f 100644 --- a/doc/changelog +++ b/doc/changelog @@ -39,6 +39,14 @@ Größere neue Features: Kleinere neue Features und Detailverbesserungen: +- Rechte für die Anzeige von Debitoren- und Kreditorenbuchungen in Berichten +__Es kann sinnvoll sein, den Standardeinkäufern und Verkäufern keinen Zugriff +__auf Debitoren- oder Kreditorenbuchungen zu geben. Debitorenbuchungen werden +__meist nur für die Mahngebührenrechnungen verwendet, da ist das nicht so +__interessant, aber bei Kreditorenbuchungen werden oft Sachen gebucht, die +__nichts mit Wareneinkauf zu tun haben, und nicht jeder sehen soll. Für diesen +__Fall kann man diese Buchungen also per neuem Recht herausfiltern. + - Recht für die Anzeige von Details und Berichte von Waren, Dienstleistungen und Erzeugnissen Statt nur ein Recht für die Bearbeitung von Artikeln zu haben, das gleichzeitig auch das Recht für die Anzeige von Details und Berichten über Artikel umfasst, wurde nun ein neues Recht eingeführt. diff --git a/locale/de/all b/locale/de/all index dabbeb6ae..c92074852 100755 --- a/locale/de/all +++ b/locale/de/all @@ -1835,6 +1835,8 @@ $self->{texts} = { 'Show "mark as paid" in ar transactions' => '"als bezahlt markieren" bei Debitorenbuchungen anzeigen', 'Show "mark as paid" in purchase invoices' => '"als bezahlt markieren" bei Einkaufsrechnungen anzeigen', 'Show "mark as paid" in sales invoices' => '"als bezahlt markieren" bei Verkaufsrechnungen anzeigen', + 'Show AP transactions as part of AP invoice report' => 'Kreditorenbuchungen zusammen mit Verkaufsrechnungen anzeigen', + 'Show AR transactions as part of AR invoice report' => 'Debitorenbuchungen zusammen mit Verkaufsrechnungen anzeigen', 'Show Bestbefore' => 'Mindesthaltbarkeit anzeigen', 'Show Filter' => 'Filter zeigen', 'Show Salesman' => 'Verkäufer anzeigen', diff --git a/sql/Pg-upgrade2-auth/rights_for_showing_ar_and_ap_transactions.pl b/sql/Pg-upgrade2-auth/rights_for_showing_ar_and_ap_transactions.pl new file mode 100644 index 000000000..9eaab726b --- /dev/null +++ b/sql/Pg-upgrade2-auth/rights_for_showing_ar_and_ap_transactions.pl @@ -0,0 +1,27 @@ +# @tag: rights_for_showing_ar_and_ap_transactions +# @description: Setzt das Recht zur Anzeige von Debitoren- und Kreditorenbuchungen im Rechnungsbericht +# @depends: release_3_0_0 +package SL::DBUpgrade2::rights_for_showing_ar_and_ap_transactions; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +use SL::DBUtils; + +sub run { + my ($self) = @_; + + my $groups = $main::auth->read_groups(); + + foreach my $group (values %{$groups}) { + $group->{rights}->{show_ar_transactions} = 1; + $group->{rights}->{show_ap_transactions} = 1; + $main::auth->save_group($group); + } + + return 1; +} # end run + +1; -- 2.20.1