$query = CustomField::get(FALSE)
->setSelect(['custom_group_id.name', 'custom_group_id.title', '*'])
+ ->addWhere('is_active', '=', TRUE)
->addWhere('custom_group_id.is_multiple', '=', '0');
// Contact custom groups are extra complicated because contact_type can be a value for extends
private function getCustomGroupFields($customGroup, RequestSpec $specification) {
$customFields = CustomField::get(FALSE)
->addWhere('custom_group_id.name', '=', $customGroup)
+ ->addWhere('is_active', '=', TRUE)
->setSelect(['custom_group_id.name', 'custom_group_id.table_name', 'custom_group_id.title', '*'])
->execute();
->execute()
->first();
$this->assertEquals(NULL, $contact['MyIndividualFields.FavColor']);
+
+ // Disable the field and it disappears from getFields and from the API output.
+ CustomField::update(FALSE)
+ ->addWhere('custom_group_id:name', '=', 'MyIndividualFields')
+ ->addWhere('name', '=', 'FavColor')
+ ->addValue('is_active', FALSE)
+ ->execute();
+
+ $getFields = Contact::getFields(FALSE)
+ ->execute()->column('name');
+ $this->assertContains('first_name', $getFields);
+ $this->assertNotContains('MyIndividualFields.FavColor', $getFields);
+
+ $contact = Contact::get(FALSE)
+ ->addSelect('MyIndividualFields.FavColor')
+ ->addWhere('id', '=', $contactId)
+ ->execute()
+ ->first();
+ $this->assertArrayNotHasKey('MyIndividualFields.FavColor', $contact);
}
public function testWithTwoFields() {
$this->assertEquals('secondary', $entity['searchable']);
// Retrieve and check the fields of CustomValue = Custom_$group
- $fields = CustomValue::getFields($group)->setLoadOptions(TRUE)->setCheckPermissions(FALSE)->execute();
+ $fields = CustomValue::getFields($group, FALSE)->setLoadOptions(TRUE)->execute();
$expectedResult = [
[
'custom_group' => $group,
}
}
+ // Disable a field
+ CustomField::update(FALSE)
+ ->addValue('is_active', FALSE)
+ ->addWhere('id', '=', $multiField['id'])
+ ->execute();
+
+ $result = CustomValue::get($group)->execute()->single();
+ $this->assertArrayHasKey($colorFieldName, $result);
+ $this->assertArrayNotHasKey($multiFieldName, $result);
+
// CASE 4: Test CustomValue::delete
// There is only record left whose id = 3, delete that record on basis of criteria id = 3
CustomValue::delete($group)->addWhere("id", "=", 3)->execute();