Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | <?php |
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 | */ |
17 | ||
18 | /** | |
19 | * This class is to build the form for deleting a field | |
20 | */ | |
21 | class CRM_Custom_Form_DeleteField extends CRM_Core_Form { | |
22 | ||
23 | /** | |
fe482240 | 24 | * The group id. |
6a488035 TO |
25 | * |
26 | * @var int | |
27 | */ | |
28 | protected $_id; | |
29 | ||
30 | /** | |
fe482240 | 31 | * The title of the group being deleted. |
6a488035 TO |
32 | * |
33 | * @var string | |
34 | */ | |
35 | protected $_title; | |
36 | ||
37 | /** | |
fe482240 | 38 | * Set up variables to build the form. |
6a488035 | 39 | * |
6a488035 | 40 | * @return void |
b44e3f84 | 41 | * @access protected |
8ef12e64 | 42 | */ |
00be9182 | 43 | public function preProcess() { |
6a488035 TO |
44 | $this->_id = $this->get('id'); |
45 | ||
be2fb01f CW |
46 | $defaults = []; |
47 | $params = ['id' => $this->_id]; | |
6a488035 TO |
48 | CRM_Core_BAO_CustomField::retrieve($params, $defaults); |
49 | ||
9c1bc317 | 50 | $this->_title = $defaults['label'] ?? NULL; |
5238aa83 | 51 | $this->assign('title', $this->_title); |
be2fb01f | 52 | CRM_Utils_System::setTitle(ts('Delete %1', [1 => $this->_title])); |
6a488035 TO |
53 | } |
54 | ||
55 | /** | |
fe482240 | 56 | * Build the form object. |
6a488035 | 57 | * |
6a488035 | 58 | * @return void |
6a488035 TO |
59 | */ |
60 | public function buildQuickForm() { | |
61 | ||
be2fb01f | 62 | $this->addButtons([ |
518fa0ee SL |
63 | [ |
64 | 'type' => 'next', | |
65 | 'name' => ts('Delete Custom Field'), | |
66 | 'isDefault' => TRUE, | |
67 | ], | |
68 | [ | |
69 | 'type' => 'cancel', | |
70 | 'name' => ts('Cancel'), | |
71 | ], | |
72 | ]); | |
6a488035 TO |
73 | } |
74 | ||
75 | /** | |
fe482240 | 76 | * Process the form when submitted. |
6a488035 | 77 | * |
6a488035 | 78 | * @return void |
6a488035 TO |
79 | */ |
80 | public function postProcess() { | |
81 | $field = new CRM_Core_DAO_CustomField(); | |
82 | $field->id = $this->_id; | |
83 | $field->find(TRUE); | |
84 | ||
85 | CRM_Core_BAO_CustomField::deleteField($field); | |
86 | ||
87 | // also delete any profiles associted with this custom field | |
be2fb01f | 88 | CRM_Core_Session::setStatus(ts('The custom field \'%1\' has been deleted.', [1 => $field->label]), '', 'success'); |
6a488035 TO |
89 | |
90 | } | |
96025800 | 91 | |
6a488035 | 92 | } |