* @access public
* @static
*/
- static function &add(&$params, $ids) {
+ static function add(&$params, $ids = array()) {
$fieldValueBAO = new CRM_Price_BAO_PriceFieldValue();
$fieldValueBAO->copyValues($params);
* @access public
* @static
*/
- static function create(&$params, $ids) {
-
+ static function create(&$params, $ids = array()) {
+ $id = CRM_Utils_Array::value('id', $params, CRM_Utils_Array::value('id', $ids));
if (!is_array($params) || empty($params)) {
return;
}
+ if(!$id && empty($params['name'])) {
+ $params['name'] = strtolower(CRM_Utils_String::munge($params['label'], '_', 242));
+ }
- if ($id = CRM_Utils_Array::value('id', $ids)) {
+ if ($id && !empty($params['weight'])) {
if (isset($params['name']))unset($params['name']);
$oldWeight = NULL;
$params['weight'] = CRM_Utils_Weight::updateOtherWeights('CRM_Price_DAO_PriceFieldValue', $oldWeight, $params['weight'], $fieldValues);
}
else {
- if (empty($params['name'])) {
- $params['name'] = CRM_Utils_String::munge(CRM_Utils_Array::value('label', $params), '_', 64);
- }
- if (empty($params['weight'])) {
- $params['weight'] = 1;
+ if (!$id) {
+ CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());
+ if (empty($params['name'])) {
+ $params['name'] = CRM_Utils_String::munge(CRM_Utils_Array::value('label', $params), '_', 64);
+ }
}
}
- $params['is_active'] = CRM_Utils_Array::value('is_active', $params, 0);
-
return self::add($params, $ids);
}
+ /**
+ * Get defaults for new entity
+ * @return array
+ */
+ static function getDefaults() {
+ return array(
+ 'is_active' => 1,
+ 'weight' => 1,
+ );
+
+ }
+
/**
* Takes a bunch of params that are needed to match certain criteria and
* retrieves the relevant objects.
*
* @param int $fieldId Price field id
*
- * @return boolean
*
* @access public
* @static
*/
static function deleteValues($fieldId) {
if (!$fieldId) {
- return FALSE;
+ return;
}
$fieldValueDAO = new CRM_Price_DAO_PriceFieldValue();
* @param String $entityTable entity table
* @param String $financialTypeID financial type id
*
- * @return bool
* @access public
* @static
*/
static function updateFinancialType($entityId, $entityTable, $financialTypeID) {
if (!$entityId || !$entityTable || !$financialTypeID) {
- return FALSE;
+ return;
}
$params = array(
1 => array($entityId, 'Integer'),