Merge pull request #22448 from mattwire/recurid
[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 * @var bool
21 */
22 public $submitOnce = TRUE;
23
24 /**
25 * Build the form object.
26 */
27 public function buildQuickForm() {
28 parent::buildQuickForm();
29
30 if ($this->_action & CRM_Core_Action::DELETE) {
31 return;
32 }
33
34 $this->add('select', 'acl_role_id', ts('ACL Role'),
35 CRM_Core_OptionGroup::values('acl_role'), TRUE, ['placeholder' => TRUE]
36 );
37
38 $label = ts('Assigned to');
39 $group = ['' => ts('- select group -')] + CRM_Core_PseudoConstant::staticGroup(FALSE, 'Access');
40 $this->add('select', 'entity_id', $label, $group, TRUE, ['class' => 'crm-select2 huge']);
41
42 $this->add('checkbox', 'is_active', ts('Enabled?'));
43 }
44
45 /**
46 * Process the form submission.
47 */
48 public function postProcess() {
49 CRM_ACL_BAO_Cache::resetCache();
50
51 if ($this->_action & CRM_Core_Action::DELETE) {
52 CRM_ACL_BAO_EntityRole::del($this->_id);
53 CRM_Core_Session::setStatus(ts('Selected Entity Role has been deleted.'), ts('Record Deleted'), 'success');
54 }
55 else {
56 $params = $this->controller->exportValues($this->_name);
57 if ($this->_id) {
58 $params['id'] = $this->_id;
59 }
60
61 $params['entity_table'] = 'civicrm_group';
62 CRM_ACL_BAO_EntityRole::create($params);
63 }
64 }
65
66 }