Skip to content

Commit

Permalink
BTHAB-178: Allow creating custom field for membership type
Browse files Browse the repository at this point in the history
  • Loading branch information
erawat committed Aug 25, 2023
1 parent 3e73a35 commit 97e8d06
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 12 deletions.
34 changes: 34 additions & 0 deletions CRM/Civicase/Setup/Manage/MembershipTypeCustomFieldManager.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

/**
* Manages Membership Type Custom Field Entity.
*/
class CRM_Civicase_Setup_Manage_MembershipTypeCustomFieldManager extends CRM_Civicase_Setup_Manage_AbstractManager {

const OPTION_GROUP_NAME = 'cg_extend_objects';

/**
* Adds Membership Type entity to extend object.
*/
public function create(): void {
CRM_Core_BAO_OptionValue::ensureOptionValueExists([
'option_group_id' => self::OPTION_GROUP_NAME,
"label" => "Membership Type",
"value" => "MembershipType",
"name" => "civicrm_membership_type",
'is_active' => TRUE,
'is_reserved' => TRUE,
]);
}

/**
* {@inheritDoc}
*/
public function remove(): void {}

/**
* {@inheritDoc}
*/
protected function toggle($status): void {}

}
26 changes: 14 additions & 12 deletions CRM/Civicase/Upgrader.php
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
<?php

use CRM_Civicase_Setup_CaseTypeCategorySupport as CaseTypeCategorySupport;
use CRM_Civicase_Setup_CreateCasesOptionValue as CreateCasesOptionValue;
use CRM_Civicase_ExtensionUtil as E;
use CRM_Civicase_Helper_CaseUrl as CaseUrlHelper;
use CRM_Civicase_Service_CaseCategoryInstance as CaseCategoryInstance;
use CRM_Civicase_Setup_AddCaseCategoryWordReplacementOptionGroup as AddCaseCategoryWordReplacementOptionGroup;
use CRM_Civicase_Setup_MoveCaseTypesToCasesCategory as MoveCaseTypesToCasesCategory;
use CRM_Civicase_Setup_CreateSafeFileExtensionOptionValue as CreateSafeFileExtensionOptionValue;
use CRM_Civicase_Uninstall_RemoveCustomGroupSupportForCaseCategory as RemoveCustomGroupSupportForCaseCategory;
use CRM_Civicase_Setup_ProcessCaseCategoryForCustomGroupSupport as ProcessCaseCategoryForCustomGroupSupport;
use CRM_Civicase_Setup_CaseCategoryInstanceSupport as CaseCategoryInstanceSupport;
use CRM_Civicase_Setup_AddChangeCaseRoleDateActivityTypes as AddChangeCaseRoleDateActivityTypes;
use CRM_Civicase_Setup_AddManageWorkflowMenu as AddManageWorkflowMenu;
use CRM_Civicase_Service_CaseCategoryInstance as CaseCategoryInstance;
use CRM_Civicase_Helper_CaseUrl as CaseUrlHelper;
use CRM_Civicase_Setup_AddSingularLabels as AddSingularLabels;
use CRM_Civicase_ExtensionUtil as E;
use CRM_Civicase_Setup_AddMyActivitiesMenu as AddMyActivitiesMenu;
use CRM_Civicase_Setup_Manage_CaseTypeCategoryFeaturesManager as CaseTypeCategoryFeaturesManager;
use CRM_Civicase_Setup_AddSingularLabels as AddSingularLabels;
use CRM_Civicase_Setup_CaseCategoryInstanceSupport as CaseCategoryInstanceSupport;
use CRM_Civicase_Setup_CaseTypeCategorySupport as CaseTypeCategorySupport;
use CRM_Civicase_Setup_CreateCasesOptionValue as CreateCasesOptionValue;
use CRM_Civicase_Setup_CreateSafeFileExtensionOptionValue as CreateSafeFileExtensionOptionValue;
use CRM_Civicase_Setup_Manage_CaseSalesOrderStatusManager as CaseSalesOrderStatusManager;
use CRM_Civicase_Setup_Manage_CaseTypeCategoryFeaturesManager as CaseTypeCategoryFeaturesManager;
use CRM_Civicase_Setup_Manage_MembershipTypeCustomFieldManager as MembershipTypeCustomFieldManager;
use CRM_Civicase_Setup_Manage_QuotationTemplateManager as QuotationTemplateManager;
use CRM_Civicase_Setup_MoveCaseTypesToCasesCategory as MoveCaseTypesToCasesCategory;
use CRM_Civicase_Setup_ProcessCaseCategoryForCustomGroupSupport as ProcessCaseCategoryForCustomGroupSupport;
use CRM_Civicase_Uninstall_RemoveCustomGroupSupportForCaseCategory as RemoveCustomGroupSupportForCaseCategory;

/**
* Collection of upgrade steps.
Expand Down Expand Up @@ -154,6 +155,7 @@ public function install() {
(new CaseTypeCategoryFeaturesManager())->create();
(new CaseSalesOrderStatusManager())->create();
(new QuotationTemplateManager())->create();
(new MembershipTypeCustomFieldManager())->create();
}

/**
Expand Down
30 changes: 30 additions & 0 deletions CRM/Civicase/Upgrader/Steps/Step0020.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/**
* Add custom fields.
*/
class CRM_Civicase_Upgrader_Steps_Step0020 {

/**
* Runs the upgrader changes.
*
* @return bool
* Return value in boolean.
*/
public function apply() {
try {
(new CRM_Civicase_Setup_Manage_MembershipTypeCustomFieldManager())->create();
}
catch (\Throwable $th) {
\Civi::log()->error('Error upgrading Civicase', [
'context' => [
'backtrace' => $th->getTraceAsString(),
'message' => $th->getMessage(),
],
]);
}

return TRUE;
}

}

0 comments on commit 97e8d06

Please sign in to comment.