Skip to content
Snippets Groups Projects
ContactSource.php 1.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • jaapjansma's avatar
    jaapjansma committed
    <?php
    /**
     * @author Jaap Jansma <jaap.jansma@civicoop.org>
     * @license AGPL-3.0
     */
    
    
    jaapjansma's avatar
    jaapjansma committed
    namespace Civi\DataProcessor\Source\Contact;
    
    jaapjansma's avatar
    jaapjansma committed
    
    use Civi\DataProcessor\DataSpecification\DataSpecification;
    
    jaapjansma's avatar
    jaapjansma committed
    use Civi\DataProcessor\Source\AbstractCivicrmEntitySource;
    
    jaapjansma's avatar
    jaapjansma committed
    
    use CRM_Dataprocessor_ExtensionUtil as E;
    
    
    jaapjansma's avatar
    jaapjansma committed
    class ContactSource extends AbstractCivicrmEntitySource {
    
    jaapjansma's avatar
    jaapjansma committed
    
      /**
    
    jaapjansma's avatar
    jaapjansma committed
       * Returns the entity name
       *
       * @return String
    
    jaapjansma's avatar
    jaapjansma committed
       */
    
    jaapjansma's avatar
    jaapjansma committed
      protected function getEntity() {
        return 'Contact';
    
    jaapjansma's avatar
    jaapjansma committed
      }
    
      /**
    
    jaapjansma's avatar
    jaapjansma committed
       * Returns the table name of this entity
    
    jaapjansma's avatar
    jaapjansma committed
       *
    
    jaapjansma's avatar
    jaapjansma committed
       * @return String
    
    jaapjansma's avatar
    jaapjansma committed
       */
    
    jaapjansma's avatar
    jaapjansma committed
      protected function getTable() {
        return 'civicrm_contact';
    
    jaapjansma's avatar
    jaapjansma committed
      }
    
      /**
    
    jaapjansma's avatar
    jaapjansma committed
       * @return \Civi\DataProcessor\DataSpecification\DataSpecification
       * @throws \Exception
    
    jaapjansma's avatar
    jaapjansma committed
       */
    
    jaapjansma's avatar
    jaapjansma committed
      public function getAvailableFilterFields() {
        if (!$this->availableFilterFields) {
          $this->availableFilterFields = new DataSpecification();
    
          $this->loadFields($this->availableFilterFields);
    
    jaapjansma's avatar
    jaapjansma committed
          $this->loadCustomGroupsAndFields($this->availableFilterFields, true);
        }
        return $this->availableFilterFields;
    
    jaapjansma's avatar
    jaapjansma committed
      }
    
    
      /**
       * Returns the default configuration for this data source
       *
       * @return array
       */
      public function getDefaultConfiguration() {
        return array(
          'filter' => array(
            'is_deleted' => array (
              'op' => '=',
              'value' => '0',
            )
          )
        );
      }
    
    
    jaapjansma's avatar
    jaapjansma committed
    }