Merge pull request #15338 from totten/master-poc-postcommit
[civicrm-core.git] / CRM / ACL / Form / EntityRole.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 *
14 * @package CRM
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
16 */
17 class CRM_ACL_Form_EntityRole extends CRM_Admin_Form {
18
19 /**
20 * Build the form object.
21 */
22 public function buildQuickForm() {
23 parent::buildQuickForm();
24
25 if ($this->_action & CRM_Core_Action::DELETE) {
26 return;
27 }
28
29 $aclRoles = ['' => ts('- select -')] + CRM_Core_OptionGroup::values('acl_role');
30 $this->add('select', 'acl_role_id', ts('ACL Role'),
31 $aclRoles, TRUE
32 );
33
34 $label = ts('Assigned to');
35 $group = ['' => ts('- select group -')] + CRM_Core_PseudoConstant::staticGroup(FALSE, 'Access');
36 $this->add('select', 'entity_id', $label, $group, TRUE, ['class' => 'crm-select2 huge']);
37
38 $this->add('checkbox', 'is_active', ts('Enabled?'));
39 }
40
41 /**
42 * Process the form submission.
43 */
44 public function postProcess() {
45 CRM_ACL_BAO_Cache::resetCache();
46
47 if ($this->_action & CRM_Core_Action::DELETE) {
48 CRM_ACL_BAO_EntityRole::del($this->_id);
49 CRM_Core_Session::setStatus(ts('Selected Entity Role has been deleted.'), ts('Record Deleted'), 'success');
50 }
51 else {
52 $params = $this->controller->exportValues($this->_name);
53 if ($this->_id) {
54 $params['id'] = $this->_id;
55 }
56
57 $params['entity_table'] = 'civicrm_group';
58 CRM_ACL_BAO_EntityRole::create($params);
59 }
60 }
61
62 }