Add Upgrade step to handle adding of the Everybody option value and modify form appro...
authorSeamus Lee <seamuslee001@gmail.com>
Fri, 23 Jun 2023 19:48:34 +0000 (05:48 +1000)
committerSeamus Lee <seamuslee001@gmail.com>
Fri, 23 Jun 2023 20:21:19 +0000 (06:21 +1000)
CRM/ACL/BAO/ACL.php
CRM/ACL/Form/ACL.php
CRM/Upgrade/Incremental/php/FiveSixtyFour.php

index bfd6f9141c5bb53f03ca50a24bd6caaa41bce4c0..8ab4959f13ba93ee574279055d244def2295e26d 100644 (file)
@@ -545,7 +545,7 @@ SELECT g.*
       return [];
     }
     if (!empty($params['values']['object_table:label'])) {
-      $table_name = array_flip(self::operationTables())[$params['values']['object_table:label']];
+      $table_name = array_flip(self::getObjectTableOptions())[$params['values']['object_table:label']];
     }
     else {
       $table_name = $params['values']['object_table'];
index 3f65d8d7bcbde1ca17f33a903cb0c71318d1afea..7282113225a032738fc67b2b084adb47145835d1 100644 (file)
@@ -132,7 +132,6 @@ class CRM_ACL_Form_ACL extends CRM_Admin_Form {
     $label = ts('Role');
     $role = [
       '-1' => ts('- select role -'),
-      '0' => ts('Everyone'),
     ] + CRM_Core_OptionGroup::values('acl_role');
     $this->add('select', 'entity_id', $label, $role, TRUE);
 
index fdd22f175764b5b060bce996392afff8d54a94c9..10d18a85d0b98fd9d8b438838c65bc773716366f 100644 (file)
@@ -31,6 +31,7 @@ class CRM_Upgrade_Incremental_php_FiveSixtyFour extends CRM_Upgrade_Incremental_
     $this->addTask('Add priority column onto ACL table', 'addColumn', 'civicrm_acl', 'priority', 'int NOT NULL DEFAULT 0');
     $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev);
     $this->addTask('Update post_URL/cancel_URL in logging tables', 'updateLogging');
+    $this->addTask('Add in Everybody ACL Role option value', 'addEveryBodyAclOptionValue');
   }
 
   public static function updateLogging($ctx): bool {
@@ -44,4 +45,16 @@ CHANGE `cancel_URL` `cancel_url` varchar(255) DEFAULT NULL COMMENT 'Redirect to
     return TRUE;
   }
 
+  public static function addEverybodyAclOptionValue($ctx): bool {
+    \CRM_Core_BAO_OptionValue::ensureOptionValueExists([
+      'label' => 'Everybody',
+      'value' => 0,
+      'option_group_id' => 'acl_role',
+      'is_active' => 1,
+      'name' => 'Everybody',
+      'is_reserved' => 1,
+    ]);
+    return TRUE;
+  }
+
 }