remove crm_util_api class v1
authorTim Mallezie <tim.mallezie@chiro.be>
Tue, 17 Mar 2015 07:22:48 +0000 (08:22 +0100)
committerTim Mallezie <tim.mallezie@chiro.be>
Tue, 17 Mar 2015 07:22:48 +0000 (08:22 +0100)
16 files changed:
CRM/Activity/Form/Activity.php
CRM/Admin/Form/ParticipantStatusType.php
CRM/Admin/Form/Tag.php
CRM/Campaign/Form/Campaign.php
CRM/Campaign/Form/Survey/Main.php
CRM/Contact/Form/Contact.php
CRM/Contact/Form/Search.php
CRM/Contribute/Form/ContributionPage.php
CRM/Core/Form.php
CRM/Event/Form/ManageEvent.php
CRM/Event/Form/Participant.php
CRM/Event/Form/SearchEvent.php
CRM/Grant/Form/Grant.php
CRM/Member/Form/MembershipConfig.php
CRM/Profile/Form.php
CRM/Utils/Api.php [deleted file]

index facd92491db6b9ef7a9efb5ecea087b889ba0170..ab9e242a08803bf695b072447bbd82f1ad36849d 100644 (file)
@@ -121,6 +121,13 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
   protected $_values = array();
 
   protected $unsavedWarn = TRUE;
+  
+    /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Activity';
+  }
 
   /**
    * The _fields var can be used by sub class to set/unset/edit the
index 3eff6f3f37cf46ca57f0f2d72b98ceacde1d6555..b7f5bfcbe05385cb4c24e9d7afc412082a5c3788 100644 (file)
  *
  */
 class CRM_Admin_Form_ParticipantStatusType extends CRM_Admin_Form {
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'ParticipantStatusType';
+  }
+  
   public function buildQuickForm() {
     parent::buildQuickForm();
 
index 0859b03cca8254228732045d9f9f816449ccfa85..10292215fe98e3b253ba18f7032f60471c85e3d1 100644 (file)
  */
 class CRM_Admin_Form_Tag extends CRM_Admin_Form {
   protected $_isTagSet;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Tag';
+  }
 
   /**
    * Build the form object.
index c80c7b7b061fa017e7aeb56acfb11843579abbb1..6686aa6e055e67dc584a843afc016a96ef477358 100644 (file)
@@ -66,6 +66,13 @@ class CRM_Campaign_Form_Campaign extends CRM_Core_Form {
    * @var int
    */
   protected $_campaignId;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Campaign';
+  }
 
   public function preProcess() {
     if (!CRM_Campaign_BAO_Campaign::accessCampaign()) {
index f17334b5900b2cb969176cc400999e889ca906e6..95b3165c2fcfca458882da3d278e3af93ec28646 100644 (file)
@@ -52,6 +52,13 @@ class CRM_Campaign_Form_Survey_Main extends CRM_Campaign_Form_Survey {
    * @var string
    */
   protected $_context;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Survey';
+  }
 
   public function preProcess() {
     parent::preProcess();
index d7c4aacab9e3ccd2a39e098cc61db61f97aee71b..602b57bfcd5225d75e3838c6280fe82e99014a17 100644 (file)
@@ -126,6 +126,13 @@ class CRM_Contact_Form_Contact extends CRM_Core_Form {
    * during the write phase
    */
   public $_preEditValues;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Contact';
+  }
 
   /**
    * Build all the data structures needed to build the form.
index 94bc48551768312d09fc0e294a545d77e4eb47ef..76f3cb5ef1bdcc97035bf73f3e421e7964fed496 100644 (file)
@@ -159,6 +159,13 @@ class CRM_Contact_Form_Search extends CRM_Core_Form_Search {
   protected $_customSearchClass = NULL;
 
   protected $_openedPanes = array();
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Contact';
+  }
 
   /**
    * Define the set of valid contexts that the search form operates on.
index 8a2cb63446c2052371d3679ea744b53a2a4a0a4b..19b8aa30132e58eac77f50ef4a35f0540efbcb27 100644 (file)
@@ -81,6 +81,13 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
   protected $_priceSetID = NULL;
 
   protected $_values;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Contribution';
+  }
 
   /**
    * Set variables up before form is built.
index 15810e6c0f9887caa18f06693caa4e22ac4ecdcc..53078f0e5b8591cd3a8520fa388be70fbdb8eb43 100644 (file)
@@ -1037,6 +1037,14 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       $this->addDate($name . $to, ts('To:'), $required, array('formatType' => $dateFormat));
     }
   }
+  
+  /**
+   * Classes extending CRM_Core_Form should implement this method. 
+   * @throws Exception
+   */
+  public function getDefaultEntity() {
+    throw new Exception("Cannot determine default entity. The form class should implement getDefaultEntity().");
+  }
 
   /**
    * Adds a select based on field metadata.
@@ -1058,12 +1066,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    */
   public function addSelect($name, $props = array(), $required = FALSE) {
     if (!isset($props['entity'])) {
-      if (isset($this->entityName)) {
-        $props['entity'] = $this->entityName;
-      }
-      else {
-        $props['entity'] = CRM_Utils_Api::getEntityName($this);
-      }
+      $props['entity'] = $this->getDefaultEntity();
     }
     if (!isset($props['field'])) {
       $props['field'] = strrpos($name, '[') ? rtrim(substr($name, 1 + strrpos($name, '[')), ']') : $name;
index 74fb6b99db38dabc3261a71bbb6aab1dc59d9cca..188d1651620423ebb8b9bc0c3bd794479a955fbc 100644 (file)
@@ -86,11 +86,13 @@ class CRM_Event_Form_ManageEvent extends CRM_Core_Form {
    * Check if repeating event.
    */
   public $_isRepeatingEvent;
-
+  
   /**
    * Explicitly declare the entity api name.
    */
-  public $entityName = 'Event';
+  public function getDefaultEntity() {
+    return 'Event';
+  }
 
   /**
    * Set variables up before form is built.
index 7b6a868fec6591f452da51632ac945f4743dbd2a..346046b09992f6bb0799917031efc730d26e0d9a 100644 (file)
@@ -188,6 +188,13 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
    * @var null
    */
   public $_onlinePendingContributionId = NULL;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Participant';
+  }
 
   /**
    * Set variables up before form is built.
index c9eab1c83c8aaaa20cd452cc2c541fcdd93d7e98..865a92330996ce6741ecebf4741482cc3f9f050d 100644 (file)
  *
  */
 class CRM_Event_Form_SearchEvent extends CRM_Core_Form {
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Event';
+  }
 
   /**
    * @return array
index 7b36046e4685280f4b52355b68036494db61172a..6b9aaae3235ea625b91b6f71e63ea51b367bc79f 100644 (file)
@@ -54,6 +54,13 @@ class CRM_Grant_Form_Grant extends CRM_Core_Form {
   protected $_contactID;
 
   protected $_context;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Grant';
+  }
 
   /**
    * Set variables up before form is built.
index 022a2a33e9ba18fecf34cbd44ce10fb9586fc53e..8598abfbb213927f8bc52409c533b6f1e7176098 100644 (file)
@@ -52,6 +52,13 @@ class CRM_Member_Form_MembershipConfig extends CRM_Core_Form {
    * @var string
    */
   protected $_BAOName;
+  
+      /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'MembershipType';
+  }
 
   public function preProcess() {
     $this->_id = $this->get('id');
index 31e24a1691cd4983243110916276225d10eab524..6bcf38ffbcd685f3e1ce04caf1612abac326a060 100644 (file)
@@ -175,6 +175,13 @@ class CRM_Profile_Form extends CRM_Core_Form {
 
   protected $_currentUserID = NULL;
   protected $_session = NULL;
+  
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Profile';
+  }
 
   /**
    * Pre processing work done here.
diff --git a/CRM/Utils/Api.php b/CRM/Utils/Api.php
deleted file mode 100644 (file)
index c2a1595..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/*
- +--------------------------------------------------------------------+
- | CiviCRM version 4.6                                                |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM.                                    |
- |                                                                    |
- | CiviCRM is free software; you can copy, modify, and distribute it  |
- | under the terms of the GNU Affero General Public License           |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
- |                                                                    |
- | CiviCRM is distributed in the hope that it will be useful, but     |
- | WITHOUT ANY WARRANTY; without even the implied warranty of         |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
- | See the GNU Affero General Public License for more details.        |
- |                                                                    |
- | You should have received a copy of the GNU Affero General Public   |
- | License and the CiviCRM Licensing Exception along                  |
- | with this program; if not, contact CiviCRM LLC                     |
- | at info[AT]civicrm[DOT]org. If you have questions about the        |
- | GNU Affero General Public License or the licensing of CiviCRM,     |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
- +--------------------------------------------------------------------+
- */
-
-/**
- * Class CRM_Utils_Api
- */
-class CRM_Utils_Api {
-  /**
-   * Attempts to retrieve the API entity name from any calling class.
-   * FIXME: This is a bit hackish but the naming convention for forms is not very strict
-   *
-   * @param string|object $classNameOrObject
-   *
-   * @return string
-   * @throws CRM_Core_Exception
-   */
-  public static function getEntityName($classNameOrObject) {
-    require_once 'api/api.php';
-    $className = is_string($classNameOrObject) ? $classNameOrObject : get_class($classNameOrObject);
-
-    // First try the obvious replacements
-    $daoName = str_replace(array('_BAO_', '_Form_', '_Page_'), '_DAO_', $className);
-    $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($daoName);
-
-    // If that didn't work, try a different pattern
-    if (!$entityName) {
-      list(, $parent, , $child) = explode('_', $className);
-      $daoName = "CRM_{$parent}_DAO_$child";
-      $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($daoName);
-    }
-
-    // If that didn't work, try a different pattern
-    if (!$entityName) {
-      $daoName = "CRM_{$parent}_DAO_$parent";
-      $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($daoName);
-    }
-
-    // If that didn't work, try a different pattern
-    if (!$entityName) {
-      $daoName = "CRM_Core_DAO_$child";
-      $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($daoName);
-    }
-
-    // If that didn't work, try using just the trailing name
-    if (!$entityName) {
-      $entityName = CRM_Core_DAO_AllCoreTables::getFullName($child) ? $child : NULL;
-    }
-
-    // If that didn't work, try using just the leading name
-    if (!$entityName) {
-      $entityName = CRM_Core_DAO_AllCoreTables::getFullName($parent) ? $parent : NULL;
-    }
-
-    if (!$entityName) {
-      throw new CRM_Core_Exception('Could not find api name for supplied class');
-    }
-    return $entityName;
-  }
-
-}