create OptionValue BAO class

This commit is contained in:
Marc Michalsky forumZFD 2021-02-22 18:23:57 +01:00
parent 3ada4fe452
commit 86a718273e
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
4 changed files with 265 additions and 3 deletions

View file

@ -23,6 +23,7 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
// of the json file "campaigns.json"
$campaign_info = Cache::getInstance()->getCampaigns();
$option_values = Cache::getInstance()->getOptionValues();
// Create campaign types
foreach ($campaign_info['campaign_types'] as $campaign_type) {
@ -48,6 +49,13 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
$cf = new CustomField($custom_field);
$cf->create();
}
// Create option values
foreach ($option_values as $option_value) {
$ov = new OptionValue($option_value);
$ov->create();
}
}
/**
@ -57,6 +65,7 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
public function uninstall() {
$campaign_info = Cache::getInstance()->getCampaigns();
$option_values = Cache::getInstance()->getOptionValues();
// Delete campaign types
foreach ($campaign_info['campaign_types'] as $campaign_type) {
@ -74,6 +83,14 @@ class CRM_TwingleCampaign_Upgrader extends CRM_TwingleCampaign_Upgrader_Base {
}
}
// Delete option values
foreach ($option_values as $option_value) {
$result = OptionValue::fetch($option_value['name']);
if ($result) {
$result->delete();
}
}
// Delete all settings for this extension
Configuration::deleteAll();