]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
authorThomas Heck <theck@linet-services.de>
Mon, 5 Aug 2013 13:18:39 +0000 (15:18 +0200)
committerThomas Heck <theck@linet-services.de>
Mon, 5 Aug 2013 13:18:39 +0000 (15:18 +0200)
SL/AP.pm
SL/AR.pm
SL/Auth.pm
bin/mozilla/ap.pl
bin/mozilla/ar.pl
doc/changelog
locale/de/all
sql/Pg-upgrade2-auth/rights_for_showing_ar_and_ap_transactions.pl [new file with mode: 0644]

index f754137eef4d1292e9af8f1422297d317ad53d46..bcd6d83cb5d3c5d9253f070cbd199b9d24246c89 100644 (file)
--- 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}) {
index b6a7376e1409740fb29e51a109aa642a0b9b88c2..d97c443d17dd9c0a6d934189cd2d14365123fa7d 100644 (file)
--- 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});
index 74ccd4ee5dc5eb6aa20ea1d8edb6d8c3d324c5da..59542d65d072b4e2baead94460ef5e331c608260 100644 (file)
@@ -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")],
index 4531e99a917bb5102c679f746e529d10692ed618..d0eeb4f9de14d8a475a43dcb553fb80106ffb3d1 100644 (file)
@@ -795,7 +795,7 @@ sub yes {
 sub search {
   $main::lxdebug->enter_sub();
 
-  $main::auth->assert('general_ledger | vendor_invoice_edit');
+  $main::auth->assert('vendor_invoice_edit');
 
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
@@ -847,7 +847,7 @@ sub ap_transactions {
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  $main::auth->assert('general_ledger | vendor_invoice_edit');
+  $main::auth->assert('vendor_invoice_edit');
 
   ($form->{vendor}, $form->{vendor_id}) = split(/--/, $form->{vendor});
 
index 038e59ea15c6cae6dc581073dba4ff41a80b5af8..cec9db7a695e3ec07721baf76779aa66f926a8ad 100644 (file)
@@ -827,7 +827,7 @@ sub yes {
 sub search {
   $main::lxdebug->enter_sub();
 
-  $main::auth->assert('general_ledger | invoice_edit');
+  $main::auth->assert('invoice_edit');
 
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
@@ -880,7 +880,7 @@ sub create_subtotal_row {
 sub ar_transactions {
   $main::lxdebug->enter_sub();
 
-  $main::auth->assert('general_ledger | invoice_edit');
+  $main::auth->assert('invoice_edit');
 
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
index 5d4664ef942cd2da80a6224c5763f9395a3c40b6..088435b8fa5d6fa1252f6af2ff82aad9963a10de 100644 (file)
@@ -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.
index dabbeb6ae958531834e442a54c0cfeb5d1a04cc7..c92074852ca854571d11d497c47df97c3dd9ee8a 100755 (executable)
@@ -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 (file)
index 0000000..9eaab72
--- /dev/null
@@ -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;