Merge pull request #16004 from civicrm/5.20
[civicrm-core.git] / CRM / ACL / Form / EntityRole.php
CommitLineData
6a488035 1<?php
6a488035
TO
2/*
3 +--------------------------------------------------------------------+
bc77d7c0 4 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 5 | |
bc77d7c0
TO
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 |
6a488035 9 +--------------------------------------------------------------------+
d25dd0ee 10 */
6a488035
TO
11
12/**
13 *
14 * @package CRM
ca5cec67 15 * @copyright CiviCRM LLC https://civicrm.org/licensing
6a488035
TO
16 */
17class CRM_ACL_Form_EntityRole extends CRM_Admin_Form {
18
19 /**
d2e5d2ce 20 * Build the form object.
6a488035
TO
21 */
22 public function buildQuickForm() {
23 parent::buildQuickForm();
24
25 if ($this->_action & CRM_Core_Action::DELETE) {
26 return;
27 }
28
cf0d1c08 29 $aclRoles = ['' => ts('- select -')] + CRM_Core_OptionGroup::values('acl_role');
6a488035
TO
30 $this->add('select', 'acl_role_id', ts('ACL Role'),
31 $aclRoles, TRUE
32 );
33
3bd48a28 34 $label = ts('Assigned to');
cf0d1c08 35 $group = ['' => ts('- select group -')] + CRM_Core_PseudoConstant::staticGroup(FALSE, 'Access');
36 $this->add('select', 'entity_id', $label, $group, TRUE, ['class' => 'crm-select2 huge']);
6a488035
TO
37
38 $this->add('checkbox', 'is_active', ts('Enabled?'));
39 }
40
41 /**
d2e5d2ce 42 * Process the form submission.
6a488035
TO
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 }
96025800 61
6a488035 62}