}
if (isset($component) && !$this->_skipPermission) {
// Unit test coverage in api_v3_FinancialTypeACLTest::testGetACLContribution.
- CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClause, $component);
+ $clauses = [];
+ if ($component === 'contribution') {
+ $clauses = CRM_Contribute_BAO_Contribution::getSelectWhereClause();
+ }
+ if ($component === 'membership') {
+ $clauses = CRM_Member_BAO_Membership::getSelectWhereClause();
+ }
+ if ($clauses) {
+ $this->_whereClause .= ' AND ' . implode(' AND ', $clauses);
+ }
}
$this->_fromClause = self::fromClause($this->_tables, NULL, NULL, $this->_primaryLocation, $this->_mode, $apiEntity);
}
}
- return implode(' AND ', $andClauses);
+ return $andClauses ? implode(' AND ', $andClauses) : ' 1 ';
}
/**
* Search on primary location. See note below.
* @param int $mode
* Determines search mode based on bitwise MODE_* constants.
- * @param string|NULL $apiEntity
+ * @param string|null $apiEntity
* Determines search mode based on entity by string.
*
* The $primaryLocation flag only seems to be used when
}
/**
- * Include Select columns in groupBy clause.
+ * Include select columns in groupBy clause.
*
* @param array $selectClauses
- * @param array $groupBy - Columns already included in GROUP By clause.
+ * @param array|string|null $groupBy - Columns already included in GROUP By clause.
*
* @return string
*/
public static function getGroupByFromSelectColumns($selectClauses, $groupBy = NULL) {
$groupBy = (array) $groupBy;
- $mysqlVersion = CRM_Core_DAO::singleValueQuery('SELECT VERSION()');
$sqlMode = CRM_Core_DAO::singleValueQuery('SELECT @@sql_mode');
//return if ONLY_FULL_GROUP_BY is not enabled.