[freeside-commits] branch FREESIDE_4_BRANCH updated. 591811b46fb6f51aa93868db6eaba0242d1257ad

Ivan ivan at 420.am
Wed Apr 26 18:21:06 PDT 2017


The branch, FREESIDE_4_BRANCH has been updated
       via  591811b46fb6f51aa93868db6eaba0242d1257ad (commit)
      from  8e927de64cab74f05bde5f0ceb4bd9995e18b31c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 591811b46fb6f51aa93868db6eaba0242d1257ad
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Apr 26 18:21:05 2017 -0700

    add a separate ACL for churn report, RT#75012

diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm
index c19b41e..42db7e0 100644
--- a/FS/FS/AccessRight.pm
+++ b/FS/FS/AccessRight.pm
@@ -296,6 +296,7 @@ tie my %rights, 'Tie::IxHash',
     { rightname=>'View system logs' },
 
     'Download report data',
+    'Customers: Customer churn report',
     'Services: Accounts',
     'Services: Accounts: Advanced search',
     'Services: Domains',
diff --git a/FS/FS/access_right.pm b/FS/FS/access_right.pm
index ea6f82e..f7b1686 100644
--- a/FS/FS/access_right.pm
+++ b/FS/FS/access_right.pm
@@ -259,6 +259,7 @@ sub _upgrade_data { # class method
                                        'Change package contract end date',
                                      ],
     'Resend invoices' => 'Print and mail invoices',
+    'List customers' => 'Customers: Customer churn report',
   );
 
 #  foreach my $old_acl ( keys %onetime ) {
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index 98c8277..6adae76 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -133,9 +133,12 @@ $report_customers_lists{'with USPS-unvalidated addresses'} = [ $fsurl. 'search/c
 tie my %report_customers, 'Tie::IxHash';
 $report_customers{'List customers'} = [ \%report_customers_lists, 'List customers' ]
   if $curuser->access_right('List all customers');
-$report_customers{'Zip code distribution'}     = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ];
-$report_customers{'Customer signup report'}    = [ $fsurl. 'graph/report_cust_signup.html',    'New customer signups by date' ];
-$report_customers{'Customer churn report'} =  [ $fsurl.'graph/report_cust_churn.html', 'New customers, suspensions, and cancellations summary' ];
+$report_customers{'Zip code distribution'}     = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ]
+  if $curuser->access_right('List zip codes');
+$report_customers{'Customer signup report'}    = [ $fsurl. 'graph/report_cust_signup.html',    'New customer signups by date' ]
+  if $curuser->access_right('Financial reports');
+$report_customers{'Customer churn report'} =  [ $fsurl.'graph/report_cust_churn.html', 'New customers, suspensions, and cancellations summary' ]
+  if $curuser->access_right('Customers: Customer churn report');
 $report_customers{'Signup date report'}        = [ $fsurl. 'graph/report_signupdate.html',     'Signup date report (by date of signup)' ];
 $report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html',     'by status, signup date, agent, etc.' ]
   if $curuser->access_right('Advanced customer search');
@@ -443,7 +446,11 @@ $report_menu{'Quotations'}     = [ \%report_quotations, 'Quotation reports' ]
   if $curuser->access_right('List quotations');
 $report_menu{'Customers'}      = [ \%report_customers, 'Customer reports'  ]
   if $curuser->access_right('List customers')
-  || $curuser->access_right('List contacts');
+  || $curuser->access_right('List contacts')
+  || $curuser->access_right('Advanced customer search')
+  || $curuser->access_right('List zip codes')
+  || $curuser->access_right('Financial reports')
+  || $curuser->access_right('Customers: Customer churn report');
 $report_menu{'Invoices'}       =  [ \%report_invoices,  'Invoice reports'   ]
   if $curuser->access_right('List invoices');
 $report_menu{'Discounts'}      =  [ \%report_discounts, 'Discount reports'  ]
diff --git a/httemplate/graph/cust_churn.html b/httemplate/graph/cust_churn.html
index 07193c7..1777b05 100644
--- a/httemplate/graph/cust_churn.html
+++ b/httemplate/graph/cust_churn.html
@@ -18,7 +18,7 @@
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
-  unless $curuser->access_right('List customers');
+  unless $curuser->access_right('Customers: Customer churn report');
 
 my( $agentnum, $agent ) = ('', '');
 if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
diff --git a/httemplate/graph/report_cust_churn.html b/httemplate/graph/report_cust_churn.html
index 3f94277..7065544 100644
--- a/httemplate/graph/report_cust_churn.html
+++ b/httemplate/graph/report_cust_churn.html
@@ -27,6 +27,6 @@
 <%init>
 
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('List customers');
+  unless $FS::CurrentUser::CurrentUser->access_right('Customers: Customer churn report');
 
 </%init>

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/AccessRight.pm                    |    1 +
 FS/FS/access_right.pm                   |    1 +
 httemplate/elements/menu.html           |   15 +++++++++++----
 httemplate/graph/cust_churn.html        |    2 +-
 httemplate/graph/report_cust_churn.html |    2 +-
 5 files changed, 15 insertions(+), 6 deletions(-)




More information about the freeside-commits mailing list