*/
/**
- * This class contains the functions for Case Management
+ * This class contains the functions for Case Management.
*
*/
class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
/**
- * Static field for all the case information that we can potentially export
+ * Static field for all the case information that we can potentially export.
*
* @var array
*/
static $_exportableFields = NULL;
/**
+ * Class constructor.
*/
public function __construct() {
parent::__construct();
}
/**
- * Takes an associative array and creates a case object
+ * Create a case object.
*
- * the function extract all the params it needs to initialize the create a
+ * The function extracts all the params it needs to initialize the create a
* case object. the params array could contain additional unused name/value
* pairs
*
/**
* Given the list of params in the params array, fetch the object
- * and store the values in the values array
+ * and store the values in the values array.
*
* @param array $params
* Input parameters to find object.
* @param array $ids
* The array that holds all the db ids.
*
- * @return CRM_Case_BAO_Case|null the found object or null
+ * @return CRM_Case_BAO_Case|null
+ * The found object or null
*/
public static function &getValues(&$params, &$values, &$ids) {
$case = new CRM_Case_BAO_Case();
}
/**
- * Takes an associative array and creates a case object
+ * Takes an associative array and creates a case object.
*
* @param array $params
- * (reference ) an assoc array of name/value pairs.
+ * (reference) an assoc array of name/value pairs.
*
* @return CRM_Case_BAO_Case
*/
}
/**
- * Create case contact record
+ * Create case contact record.
*
* @param array $params
* case_id, contact_id
}
/**
- * Delet case contact record
+ * Delete case contact record.
*
* @param int $caseID
- *
- * @return void
*/
public static function deleteCaseContact($caseID) {
$caseContact = new CRM_Case_DAO_CaseContact();
}
/**
- * convert associative array names to values
- * and vice-versa.
+ * Convert associative array names to values and vice-versa.
*
* This function is used by both the web form layer and the api. Note that
* the api needs the name => value conversion, also the view layer typically
* requires value => name conversion
+ *
+ * @param array $defaults
+ * @param string $property
+ * @param array $lookup
+ * @param bool $reverse
+ *
+ * @return bool
*/
public static function lookupValue(&$defaults, $property, &$lookup, $reverse) {
$id = $property . '_id';
}
/**
- * Takes a bunch of params that are needed to match certain criteria and
- * retrieves the relevant objects. We'll tweak this function to be more
- * full featured over a period of time. This is the inverse function of
- * create. It also stores all the retrieved values in the default array
+ * Retrieve DB object based on input parameters.
+ *
+ * It also stores all the retrieved values in the default array.
*
* @param array $params
* (reference ) an assoc array of name/value pairs.
}
/**
- * Get the case subject for Activity
+ * Get the case subject for Activity.
*
* @param int $activityId
* Activity id.
}
/**
- * Delete the record that are associated with this case
+ * Delete the record that are associated with this case.
* record are deleted from case
*
* @param int $caseId
}
/**
- * Enable disable case related relationships
+ * Enable disable case related relationships.
*
* @param int $caseId
* Case id.
}
/**
- * Delete the activities related to case
+ * Delete the activities related to case.
*
* @param int $activityId
* Id of the activity.
}
/**
- * Retrieve contact_id by case_id
+ * Retrieve contact_id by case_id.
*
* @param int $caseId
* ID of the case.
}
/**
- * Look up a case using an activity ID
+ * Look up a case using an activity ID.
*
* @param int $activityId
*
}
/**
- * Retrieve contact names by caseId
+ * Retrieve contact names by caseId.
*
* @param int $caseId
* ID of the case.
}
/**
- * Retrieve case_id by contact_id
+ * Retrieve case_id by contact_id.
*
* @param int $contactID
* @param bool $includeDeleted
}
/**
- * Retrieve cases related to particular contact or whole contact
- * used in Dashboad and Tab
+ * Retrieve cases related to particular contact or whole contact used in Dashboard and Tab.
*
* @param bool $allCases
*
}
/**
- * Get Case roles
+ * Get Case roles.
*
* @param int $contactID
* Contact id.
}
/**
- * Get Case Activities
+ * Get Case Activities.
*
* @param int $caseID
* Case id.
}
if ($allowEdit) {
- $values[$dao->id]['status'] = '<a class="crm-activity-status crm-activity-status-' . $dao->id . ' ' . $values[$dao->id]['class'] . ' crm-activity-change-status crm-editable-enabled" activity_id=' . $dao->id . ' current_status=' . $dao->status . ' case_id=' . $caseID . ' href="#" title=\'' . $statusTitle . '\'>' . $values[$dao->id]['status'] . '</a>';
+ $values[$dao->id]['status'] = '<div class="crmf-status_id crm-activity-status-' . $dao->id . ' ' . $values[$dao->id]['class'] . ' crm-editable" data-type="select" data-action="create" data-refresh="true">' . $values[$dao->id]['status'] . '</div>';
}
}
$dao->free();
}
/**
- * Get Case Related Contacts
+ * Get Case Related Contacts.
*
* @param int $caseID
* Case id.
}
/**
- * Create an activity for a case via email
+ * Create an activity for a case via email.
*
* @param int $file
* Email sent.
}
/**
- * Retrieve the scheduled activity type and date
+ * Retrieve the scheduled activity type and date.
*
* @param array $cases
* Array of contact and case id.
}
/**
- * Combine all the exportable fields from the lower levels object
+ * Combine all the exportable fields from the lower levels object.
*
* @return array
* array of exportable Fields
}
/**
- * Restore the record that are associated with this case
+ * Restore the record that are associated with this case.
*
* @param int $caseId
* Id of the case to restore.
}
/**
- * Convenience function to get both case contacts and global in one array
+ * Convenience function to get both case contacts and global in one array.
* @param int $caseId
*
* @return array
}
/**
- * Get all cases with no end dates
+ * Get all cases with no end dates.
*
* @param array $params
* @param array $excludeCaseIds
* @param bool $excludeDeleted
*
+ * @param bool $includeClosed
+ *
* @return array
- * case and related data keyed on case id
+ * Case and related data keyed on case id
*/
public static function getUnclosedCases($params = array(), $excludeCaseIds = array(), $excludeDeleted = TRUE, $includeClosed = FALSE) {
//params from ajax call.
* @see CRM_Dedupe_Merger::cpTables()
*
* TODO: use the 3rd $sqls param to append sql statements rather than executing them here
+ *
+ * @param int $mainContactId
+ * @param int $otherContactId
*/
public static function mergeContacts($mainContactId, $otherContactId) {
self::mergeCases($mainContactId, NULL, $otherContactId);
}
}
- //create merge activity record.
+ //Create merge activity record. Source for merge activity is the logged in user's contact ID ($currentUserId).
$activityParams = array(
'subject' => $mergeActSubject,
'details' => $mergeActSubjectDetails,
'status_id' => array_search('Completed', $activityStatuses),
'activity_type_id' => $mergeActType,
- 'source_contact_id' => $mainContactId,
+ 'source_contact_id' => $currentUserId,
'activity_date_time' => date('YmdHis'),
);
}
/**
- * Verify user has permission to access a case
+ * Verify user has permission to access a case.
*
* @param int $caseId
* @param bool $denyClosed
}
/**
- * Check whether activity is a case Activity
+ * Check whether activity is a case Activity.
*
* @param int $activityID
* Activity id.
}
/**
- * Get all the case type ids currently in use
+ * Get all the case type ids currently in use.
*
* @return array
*/
}
/**
- * Get all the case status ids currently in use
+ * Get all the case status ids currently in use.
*
* @return array
*/
}
/**
- * Get all the encounter medium ids currently in use
+ * Get all the encounter medium ids currently in use.
*
* @return array
*/
}
/**
- * Used during case component enablement and during ugprade
+ * Used during case component enablement and during ugprade.
*
* @return bool
*/
/**
* Helper function, also used by the upgrade in case of error
*
+ * @param string $section
+ *
* @return string
*/
public static function createCaseViewsQuery($section = 'upcoming') {
}
/**
- * Get the list of clients for a case
+ * Get the list of clients for a case.
*
* @param int $caseId
*