projects
/
civicrm-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #13044 from giovannidalmas1967/giovannidalmas1967-patch-1
[civicrm-core.git]
/
CRM
/
Admin
/
Form
/
Preferences.php
diff --git
a/CRM/Admin/Form/Preferences.php
b/CRM/Admin/Form/Preferences.php
index c379954b73e2500cd3038cd91dd92f2ae73212ca..ad9053ccba636f4161fdf6e9eede0c7f374450ee 100644
(file)
--- a/
CRM/Admin/Form/Preferences.php
+++ b/
CRM/Admin/Form/Preferences.php
@@
-35,13
+35,16
@@
* Base class for settings forms.
*/
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
* Base class for settings forms.
*/
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
+
+ use CRM_Admin_Form_SettingTrait;
+
protected $_system = FALSE;
protected $_contactID = NULL;
public $_action = NULL;
protected $_checkbox = NULL;
protected $_system = FALSE;
protected $_contactID = NULL;
public $_action = NULL;
protected $_checkbox = NULL;
- protected $_varNames =
NULL
;
+ protected $_varNames =
[]
;
protected $_config = NULL;
protected $_config = NULL;
@@
-85,8
+88,11
@@
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
$this->_config->contact_id = $this->_contactID;
}
$this->_config->contact_id = $this->_contactID;
}
+ $this->addFieldsDefinedInSettingsMetadata();
$settings = Civi::settings();
$settings = Civi::settings();
+ // @todo replace this by defining all in settings.
foreach ($this->_varNames as $groupName => $settingNames) {
foreach ($this->_varNames as $groupName => $settingNames) {
+ CRM_Core_Error::deprecatedFunctionWarning('deprecated use of preferences form. This will be removed from core soon');
foreach ($settingNames as $settingName => $options) {
$this->_config->$settingName = $settings->get($settingName);
}
foreach ($settingNames as $settingName => $options) {
$this->_config->$settingName = $settings->get($settingName);
}
@@
-98,23
+104,28
@@
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
* @return array
*/
public function setDefaultValues() {
* @return array
*/
public function setDefaultValues() {
- $defaults = array();
+ $
this->_
defaults = array();
+ $this->setDefaultsForMetadataDefinedFields();
foreach ($this->_varNames as $groupName => $settings) {
foreach ($this->_varNames as $groupName => $settings) {
+ CRM_Core_Error::deprecatedFunctionWarning('deprecated use of preferences form. This will be removed from core soon');
foreach ($settings as $settingName => $settingDetails) {
foreach ($settings as $settingName => $settingDetails) {
- $defaults[$settingName] = isset($this->_config->$settingName) ? $this->_config->$settingName : CRM_Utils_Array::value('default', $settingDetails, NULL);
+ $
this->_
defaults[$settingName] = isset($this->_config->$settingName) ? $this->_config->$settingName : CRM_Utils_Array::value('default', $settingDetails, NULL);
}
}
}
}
- return $defaults;
+ return $
this->_
defaults;
}
/**
}
/**
+ * @todo deprecate in favour of setting using metadata.
+ *
* @param $defaults
*/
public function cbsDefaultValues(&$defaults) {
foreach ($this->_varNames as $groupName => $groupValues) {
* @param $defaults
*/
public function cbsDefaultValues(&$defaults) {
foreach ($this->_varNames as $groupName => $groupValues) {
+ CRM_Core_Error::deprecatedFunctionWarning('deprecated use of preferences form. This will be removed from core soon');
foreach ($groupValues as $settingName => $fieldValue) {
if ($fieldValue['html_type'] == 'checkboxes') {
if (isset($this->_config->$settingName) &&
foreach ($groupValues as $settingName => $fieldValue) {
if ($fieldValue['html_type'] == 'checkboxes') {
if (isset($this->_config->$settingName) &&
@@
-142,6
+153,7
@@
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
parent::buildQuickForm();
if (!empty($this->_varNames)) {
parent::buildQuickForm();
if (!empty($this->_varNames)) {
+ CRM_Core_Error::deprecatedFunctionWarning('deprecated use of preferences form. This will be removed from core soon');
foreach ($this->_varNames as $groupName => $groupValues) {
$formName = CRM_Utils_String::titleToVar($groupName);
$this->assign('formName', $formName);
foreach ($this->_varNames as $groupName => $groupValues) {
$formName = CRM_Utils_String::titleToVar($groupName);
$this->assign('formName', $formName);
@@
-251,6
+263,14
@@
class CRM_Admin_Form_Preferences extends CRM_Core_Form {
* Process the form submission.
*/
public function postProcessCommon() {
* Process the form submission.
*/
public function postProcessCommon() {
+ try {
+ $this->saveMetadataDefinedSettings($this->_params);
+ $this->filterParamsSetByMetadata($this->_params);
+ }
+ catch (CiviCRM_API3_Exception $e) {
+ CRM_Core_Session::setStatus($e->getMessage(), ts('Save Failed'), 'error');
+ }
+
foreach ($this->_varNames as $groupName => $groupValues) {
foreach ($groupValues as $settingName => $fieldValue) {
switch ($fieldValue['html_type']) {
foreach ($this->_varNames as $groupName => $groupValues) {
foreach ($groupValues as $settingName => $fieldValue) {
switch ($fieldValue['html_type']) {