fix capitalization to allow proper access to 'access AJAX API' perm.
authorJamie McClelland <jm@mayfirst.org>
Sat, 1 May 2021 16:08:03 +0000 (12:08 -0400)
committerJamie McClelland <jm@mayfirst.org>
Sat, 1 May 2021 16:08:03 +0000 (12:08 -0400)
Maybe this is platform dependent? On my dev instance the access AJAX API
permission to the path /civicrm/ajax/api4/X/X is always denied for anon
users because anon users are granted "access AJAX API" yet the check is
done against "access Ajax API".

This only really matters in CRM/Api4/Permission.php but to avoid any
confusion I'm changing it everywhere the string appears.

CRM/Api4/Permission.php
CRM/Core/Permission.php

index a5c9c9aa62e55c1464d7486a1c819017de73b5bd..c179ad57c023ce094545c3806935ba0f93b5df2e 100644 (file)
@@ -25,7 +25,7 @@ class CRM_Api4_Permission {
     $config = CRM_Core_Config::singleton();
     $urlPath = explode('/', $_GET[$config->userFrameworkURLVar]);
     $permissions = [
-      ['access CiviCRM', 'access Ajax API'],
+      ['access CiviCRM', 'access AJAX API'],
     ];
     if (!empty($urlPath[3])) {
       $entity = $urlPath[3];
index 6966296205663c09282e055e9a1be3c881ab3137..ff27b7f9f64a41439ff5238c6cc01208b6de3704 100644 (file)
@@ -69,24 +69,24 @@ class CRM_Core_Permission {
    * Ex 1: Must have 'access CiviCRM'
    * (string) 'access CiviCRM'
    *
-   *  Ex 2: Must have 'access CiviCRM' and 'access Ajax API'
-   *    ['access CiviCRM', 'access Ajax API']
+   *  Ex 2: Must have 'access CiviCRM' and 'access AJAX API'
+   *    ['access CiviCRM', 'access AJAX API']
    *
-   * Ex 3: Must have 'access CiviCRM' or 'access Ajax API'
+   * Ex 3: Must have 'access CiviCRM' or 'access AJAX API'
    *   [
-   *     ['access CiviCRM', 'access Ajax API'],
+   *     ['access CiviCRM', 'access AJAX API'],
    *   ],
    *
-   * Ex 4: Must have 'access CiviCRM' or 'access Ajax API' AND 'access CiviEvent'
+   * Ex 4: Must have 'access CiviCRM' or 'access AJAX API' AND 'access CiviEvent'
    *   [
-   *     ['access CiviCRM', 'access Ajax API'],
+   *     ['access CiviCRM', 'access AJAX API'],
    *     'access CiviEvent',
    *   ],
    *
    * Note that in permissions.php this is keyed by the action eg.
    *   (access Civi || access AJAX) && (access CiviEvent || access CiviContribute)
    *   'myaction' => [
-   *     ['access CiviCRM', 'access Ajax API'],
+   *     ['access CiviCRM', 'access AJAX API'],
    *     ['access CiviEvent', 'access CiviContribute']
    *   ],
    *