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 ?

8
  • 2
    PS. Under admin/people/permissions everything is checked under the 'civicrm' tabs for the admin user.
    – commonpike
    Sep 15, 2015 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, 2015 at 20:54
  • 1
    @petedzn - no, the url stays 100% the same
    – commonpike
    Oct 1, 2015 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, 2015 at 7:29
  • 1
    nope, still stuck too
    – commonpike
    Dec 1, 2015 at 14:45

3 Answers 3

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.

3
  • 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, 2016 at 16:13
  • Yep that works! Feb 25, 2018 at 1:46
  • 1
    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... Oct 11, 2018 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
  • 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, 2015 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

5
  • 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, 2015 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 Sep 15, 2015 at 13:37
  • No, no fresh copy. What sort of CiviCRM extensions should I disable ? This is a live site :-/
    – commonpike
    Sep 17, 2015 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 Sep 18, 2015 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, 2015 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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