3

I have this problem

https://forum.civicrm.org/index.php?topic=36211.0

'access denied' for administrator on the price set admin page

civicrm/admin/price?reset=1&action=add

using civicrm 4.5.3 and drupal 7.33

The 'access denied' screen is a drupal screen, not an apache error. The message shows up in the 'recent log messages'.

Where should I start looking ?

  • 2
    PS. Under admin/people/permissions everything is checked under the 'civicrm' tabs for the admin user. – commonpike Sep 15 '15 at 13:25
  • 1
    when you move to the page with 'access denied' is anything changing with the url, eg https to http, or www to no www. – petednz - fuzion Sep 30 '15 at 20:54
  • 1
    @petedzn - no, the url stays 100% the same – commonpike Oct 1 '15 at 11:31
  • 1
    I've just started seeing this on a site I'm working on. A colleague with exactly the same access privileges can access the price set page, but I get an 'access denied'. – Graham Oct 10 '15 at 7:29
  • 1
    nope, still stuck too – commonpike Dec 1 '15 at 14:45
6

I had a similar problem (CiviCRM 4.6) and solved it as follows:

The price sets kind of belong to the event component, and therefore they require not only "regular" CiviCRM permissions, but also access CiviEvent. Since the CiviEvent component wasn't enabled, the permissions weren't there, and the admin user didn't have them.

After enabling CiviEvent and giving CiviEvent access (in Drupal) to the administrator role it worked.

  • there is also an open issue in the CiviCRM bug tracker to create an explicit permission for editing price sets: issues.civicrm.org/jira/browse/CRM-17615 – sleidig Aug 3 '16 at 16:13
  • Yep that works! – KarinG - Semper IT Feb 25 '18 at 1:46
  • This is still true for CiviCRM 5.6.0. Interestingly, also in Drupal, enabling CiviEvent, giving permissions and disabling CiviEvent, also works. In case you don't want to have the CiviEvent menu around... – Javier Elices Oct 11 '18 at 17:40
1

One solution, that I have verified as working, is to check the .htaccess file in the root Drupal folder.

As administrator, I would log in to the site, navigate to CiviCRM and find areas, such as price sets, profiles, even dashlets on the dashboard, were all coming up "access denied".

It would occur after a major Drupal update. What was happening, was I was navigating into (example) http://www.drupal.com, while the server was set up to http://drupal.com.

I could log in fine. But I would get the access denied issues. The reason is the Drupal update had overwritten my .htaccess file.

So, for whatever set up you have, ensure that your .htaccess corresponds.

From the .htaccess file, located in your root Drupal folder (use your server control panel, or an ftp client to see the file):

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} .
  # RewriteCond %{HTTP_HOST} !^www\. [NC]
  # RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
   RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
   RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

Originally, the last two lines of the above .htaccess file were # out.

  1. I removed the #.
  2. Refreshed my browser.
  3. Re-logged in.

Result: all the "access denied" errors are gone.

You will have to select the correct option for your server settings.

Hope it helps!

  • 1
    Thanks for the hint. My htaccess seems ok - also, I noticed no 'access denied' on any other places then price set. – commonpike Oct 1 '15 at 11:37
0

please have a look at

Administer -> Users and Permissions -> Access Control -> Drupal Access Control

you will find all the user access right available for the user

  • 1
    Yes, looked there, takes me to drupals admin/people/permissions. For the admin user, everything is checked under the 'civicrm' tabs. – commonpike Sep 15 '15 at 13:22
  • are you trying this in a Fresh copy - if not please try to disable all the CiviCRM extension and then Try to add the Priceset – Ramesh - ARTECH Consultancy Sep 15 '15 at 13:37
  • No, no fresh copy. What sort of CiviCRM extensions should I disable ? This is a live site :-/ – commonpike Sep 17 '15 at 19:42
  • I tried the same against an Fresh Copy which worked alright - so just make a copy of your LIVE and create a test environment and then try it – Ramesh - ARTECH Consultancy Sep 18 '15 at 8:19
  • I have no doubt it works if everything is allright :-) i also have no doubt it used to work in older versions, since there were hardly any bug reports about this. so yes, i could create a test environment, update everything and see if it magically fixes itself ... it would take a few hours. any other other suggestions are very welcome, too. – commonpike Sep 18 '15 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.