예제 #1
0
 /**
  * Test contactTypes() and subTypes() methods with valid data
  * success expected
  */
 public function testGetMethods()
 {
     // check all contact types
     $contactTypes = array('Individual', 'Organization', 'Household');
     $result = CRM_Contact_BAO_ContactType::contactTypes('Individual');
     foreach ($contactTypes as $type) {
         $this->assertEquals(in_array($type, $result), TRUE);
     }
     // check for type:Individual
     $result = CRM_Contact_BAO_ContactType::subTypes('Individual');
     foreach ($result as $subtype) {
         $subTypeName = in_array($subtype, $this->subTypesIndividual);
         if (!empty($subTypeName)) {
             $this->assertEquals($subTypeName, TRUE);
         }
         $this->assertEquals(in_array($subtype, $this->subTypesOrganization), FALSE);
         $this->assertEquals(in_array($subtype, $this->subTypesHousehold), FALSE);
     }
     // check for type:Organization
     $result = CRM_Contact_BAO_ContactType::subTypes('Organization');
     foreach ($result as $subtype) {
         $this->assertEquals(in_array($subtype, $this->subTypesIndividual), FALSE);
         $subTypeName = in_array($subtype, $this->subTypesOrganization);
         if (!empty($subTypeName)) {
             $this->assertEquals($subTypeName, TRUE);
         }
         $subTypeName = in_array($subTypeName, $this->subTypesHousehold);
         if (empty($subTypeName)) {
             $this->assertEquals($subTypeName, FALSE);
         }
     }
     // check for type:Household
     $result = CRM_Contact_BAO_ContactType::subTypes('Household');
     foreach ($result as $subtype) {
         $this->assertEquals(in_array($subtype, $this->subTypesIndividual), FALSE);
         $this->assertEquals(in_array($subtype, $this->subTypesOrganization), FALSE);
         $this->assertEquals(in_array($subtype, $this->subTypesHousehold), TRUE);
     }
     // check for all conatct types
     $result = CRM_Contact_BAO_ContactType::subTypes();
     foreach ($this->subTypesIndividual as $subtype) {
         $this->assertEquals(in_array($subtype, $result), TRUE);
     }
     foreach ($this->subTypesOrganization as $subtype) {
         $this->assertEquals(in_array($subtype, $result), TRUE);
     }
     foreach ($this->subTypesHousehold as $subtype) {
         $this->assertEquals(in_array($subtype, $result), TRUE);
     }
 }
예제 #2
0
 /**
  * Check if a provider is allowed to add stuff.
  * If correspondig setting is empty, all are allowed
  *
  * @param string $providerName
  */
 public static function isProviderEnabled($providerName)
 {
     // Join contact types to providerName 'Contact'
     $contactTypes = CRM_Contact_BAO_ContactType::contactTypes(TRUE);
     if (in_array($providerName, $contactTypes)) {
         $providerName = 'Contact';
     }
     $allowed = TRUE;
     // Use core setting recentItemsProviders if configured
     $providersPermitted = Civi::settings()->get('recentItemsProviders');
     if ($providersPermitted) {
         $allowed = in_array($providerName, $providersPermitted);
     }
     // Else allow
     return $allowed;
 }