diff --git a/CRM/Core/BAO/UFField.php b/CRM/Core/BAO/UFField.php
index 4549d78d3b0a..e651f84c515a 100644
--- a/CRM/Core/BAO/UFField.php
+++ b/CRM/Core/BAO/UFField.php
@@ -970,6 +970,7 @@ public static function getAvailableFields($gid = NULL, $defaults = []) {
'membership_type_id',
'member_is_test',
'is_override',
+ 'member_is_override',
'status_override_end_date',
'status_id',
'member_is_pay_later'
diff --git a/CRM/Member/DAO/Membership.php b/CRM/Member/DAO/Membership.php
index 3fa1ead53912..59580c356fe6 100644
--- a/CRM/Member/DAO/Membership.php
+++ b/CRM/Member/DAO/Membership.php
@@ -6,7 +6,7 @@
*
* Generated from xml/schema/CRM/Member/Membership.xml
* DO NOT EDIT. Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:64ef044391b9dee565e8e2a9d893f4cf)
+ * (GenCodeChecksum:40f3b0813c1e13fab544ae1f8fa2ebb3)
*/
/**
@@ -328,7 +328,7 @@ public static function &fields() {
'labelColumn' => 'label',
],
],
- 'is_override' => [
+ 'member_is_override' => [
'name' => 'is_override',
'type' => CRM_Utils_Type::T_BOOLEAN,
'title' => ts('Status Override'),
@@ -381,6 +381,7 @@ public static function &fields() {
'title' => ts('Max Related'),
'description' => ts('Maximum number of related memberships (membership_type override).'),
'where' => 'civicrm_membership.max_related',
+ 'export' => TRUE,
'table_name' => 'civicrm_membership',
'entity' => 'Membership',
'bao' => 'CRM_Member_BAO_Membership',
@@ -423,12 +424,13 @@ public static function &fields() {
'type' => 'CheckBox',
],
],
- 'contribution_recur_id' => [
+ 'membership_recur_id' => [
'name' => 'contribution_recur_id',
'type' => CRM_Utils_Type::T_INT,
'title' => ts('Membership Recurring Contribution'),
'description' => ts('Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.'),
'where' => 'civicrm_membership.contribution_recur_id',
+ 'export' => TRUE,
'table_name' => 'civicrm_membership',
'entity' => 'Membership',
'bao' => 'CRM_Member_BAO_Membership',
diff --git a/CRM/Upgrade/Incremental/php/FiveSeventeen.php b/CRM/Upgrade/Incremental/php/FiveSeventeen.php
index 1c5987037462..a1f91b2ec53b 100644
--- a/CRM/Upgrade/Incremental/php/FiveSeventeen.php
+++ b/CRM/Upgrade/Incremental/php/FiveSeventeen.php
@@ -102,6 +102,11 @@ public function upgrade_5_17_alpha1($rev) {
'contribution_recur_failure_retry_date',
],
]);
+ $this->addTask('Update smart groups to reflect change of unique name for is_override', 'updateSmartGroups', [
+ 'renameField' => [
+ ['old' => 'is_override', 'new' => 'member_is_override'],
+ ],
+ ]);
}
}
diff --git a/tests/phpunit/CRM/Export/BAO/ExportTest.php b/tests/phpunit/CRM/Export/BAO/ExportTest.php
index 3774933f2501..1f1e4690ceb9 100644
--- a/tests/phpunit/CRM/Export/BAO/ExportTest.php
+++ b/tests/phpunit/CRM/Export/BAO/ExportTest.php
@@ -282,10 +282,10 @@ public function testExportComponentsMembership() {
'Membership Status' => 'Expired',
'Membership ID' => '2',
'Primary Member ID' => '',
- 'max_related' => '',
- 'membership_recur_id' => '',
+ 'Max Related' => '',
+ 'Membership Recurring Contribution' => '',
'Campaign ID' => '',
- 'member_is_override' => '',
+ 'Status Override' => '',
'member_auto_renew' => '',
'Total Amount' => '100.00',
'Contribution Status' => 'Completed',
diff --git a/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php b/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php
index 06c2c2c73859..bcf155278525 100644
--- a/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php
+++ b/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php
@@ -155,7 +155,7 @@ public function testImportOverriddenMembershipButWithoutStatus() {
'mapper[0][0]' => 'email',
'mapper[1][0]' => 'membership_type_id',
'mapper[2][0]' => 'membership_start_date',
- 'mapper[3][0]' => 'is_override',
+ 'mapper[3][0]' => 'member_is_override',
];
$membershipImporter = new CRM_Member_Import_Parser_Membership($fieldMapper);
$membershipImporter->init();
@@ -184,7 +184,7 @@ public function testImportOverriddenMembershipWithStatus() {
'email',
'membership_type_id',
'membership_start_date',
- 'is_override',
+ 'member_is_override',
'status_id',
]);
@@ -207,7 +207,7 @@ public function testImportOverriddenMembershipWithValidOverrideEndDate() {
'mapper[0][0]' => 'email',
'mapper[1][0]' => 'membership_type_id',
'mapper[2][0]' => 'membership_start_date',
- 'mapper[3][0]' => 'is_override',
+ 'mapper[3][0]' => 'member_is_override',
'mapper[4][0]' => 'status_id',
'mapper[5][0]' => 'status_override_end_date',
];
@@ -235,7 +235,7 @@ public function testImportOverriddenMembershipWithInvalidOverrideEndDate() {
'mapper[0][0]' => 'email',
'mapper[1][0]' => 'membership_type_id',
'mapper[2][0]' => 'membership_start_date',
- 'mapper[3][0]' => 'is_override',
+ 'mapper[3][0]' => 'member_is_override',
'mapper[4][0]' => 'status_id',
'mapper[5][0]' => 'status_override_end_date',
];
diff --git a/tests/phpunit/api/v3/MembershipTest.php b/tests/phpunit/api/v3/MembershipTest.php
index 07ea1173469c..c2aaadf17668 100644
--- a/tests/phpunit/api/v3/MembershipTest.php
+++ b/tests/phpunit/api/v3/MembershipTest.php
@@ -221,14 +221,14 @@ public function testGetWithParamsContactId() {
$this->callAPISuccess('Membership', 'Delete', [
'id' => $this->_membershipID,
]);
- $this->assertEquals($result['contact_id'], $this->_contactID, "In line " . __LINE__);
- $this->assertEquals($result['membership_type_id'], $this->_membershipTypeID, "In line " . __LINE__);
- $this->assertEquals($result['status_id'], $this->_membershipStatusID, "In line " . __LINE__);
- $this->assertEquals($result['join_date'], '2009-01-21', "In line " . __LINE__);
- $this->assertEquals($result['start_date'], '2009-01-21', "In line " . __LINE__);
- $this->assertEquals($result['end_date'], '2009-12-21', "In line " . __LINE__);
- $this->assertEquals($result['source'], 'Payment', "In line " . __LINE__);
- $this->assertEquals($result['is_override'], 1, "In line " . __LINE__);
+ $this->assertEquals($result['contact_id'], $this->_contactID);
+ $this->assertEquals($result['membership_type_id'], $this->_membershipTypeID);
+ $this->assertEquals($result['status_id'], $this->_membershipStatusID);
+ $this->assertEquals($result['join_date'], '2009-01-21');
+ $this->assertEquals($result['start_date'], '2009-01-21');
+ $this->assertEquals($result['end_date'], '2009-12-21');
+ $this->assertEquals($result['source'], 'Payment');
+ $this->assertEquals($result['is_override'], 1);
}
/**
diff --git a/xml/schema/Member/Membership.xml b/xml/schema/Member/Membership.xml
index 3be81314907c..e46f4d634e41 100644
--- a/xml/schema/Member/Membership.xml
+++ b/xml/schema/Member/Membership.xml
@@ -156,8 +156,10 @@
is_override
+ member_is_override
Status Override
true
+ true
/override$/i
boolean
Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.
@@ -203,6 +205,7 @@
int
Maximum number of related memberships (membership_type override).
4.3
+ true
Text
@@ -234,8 +237,10 @@
contribution_recur_id
+ membership_recur_id
Membership Recurring Contribution
int unsigned
+ true
Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
3.3