*
* @param bool $moveToTrash
*
- * @return void
+ * @return bool is successful
* @access public
* @static
*/
//check for operations.
if (self::checkPermission($dao->id, 'Move To Case', $dao->activity_type_id)) {
- $url .= ' <a ' . $css . ' href="#" onClick="Javascript:fileOnCase( \'move\',' . $dao->id . ', ' . $caseID . ' ); return false;">' . ts('Move To Case') . '</a> ';
+ $url .= ' <a ' . $css . ' href="#" onClick="Javascript:fileOnCase( \'move\',' . $dao->id . ', ' . $caseID . ', this ); return false;">' . ts('Move To Case') . '</a> ';
}
if (self::checkPermission($dao->id, 'Copy To Case', $dao->activity_type_id)) {
- $url .= ' <a ' . $css . ' href="#" onClick="Javascript:fileOnCase( \'copy\',' . $dao->id . ',' . $caseID . ' ); return false;">' . ts('Copy To Case') . '</a> ';
+ $url .= ' <a ' . $css . ' href="#" onClick="Javascript:fileOnCase( \'copy\',' . $dao->id . ',' . $caseID . ', this ); return false;">' . ts('Copy To Case') . '</a> ';
}
// if there are file attachments we will return how many and, if only one, add a link to it
if (!empty($dao->attachment_ids)) {
* @param int $caseID case id
* @param boolean $skipDetails if true include details of contacts
*
- * @return returns $searchRows array of returnproperties
+ * @return array $searchRows array of return properties
*
* @static
*/
static function getRelatedContacts($caseID, $skipDetails = FALSE) {
$values = array();
- $query = 'SELECT cc.display_name as name, cc.sort_name as sort_name, cc.id, crt.label_b_a as role, ce.email
- FROM civicrm_relationship cr
- LEFT JOIN civicrm_relationship_type crt ON crt.id = cr.relationship_type_id
- LEFT JOIN civicrm_contact cc ON cc.id = cr.contact_id_b
- LEFT JOIN civicrm_email ce ON ce.contact_id = cc.id
- WHERE cr.case_id = %1 AND ce.is_primary= 1
- GROUP BY cc.id';
+ $query = '
+ SELECT cc.display_name as name, cc.sort_name as sort_name, cc.id, crt.label_b_a as role, ce.email
+ FROM civicrm_relationship cr
+ LEFT JOIN civicrm_relationship_type crt
+ ON crt.id = cr.relationship_type_id
+ LEFT JOIN civicrm_contact cc
+ ON cc.id = cr.contact_id_b
+ LEFT JOIN civicrm_email ce
+ ON ce.contact_id = cc.id
+ AND ce.is_primary= 1
+ WHERE cr.case_id = %1
+ GROUP BY cc.id';
$params = array(1 => array($caseID, 'Integer'));
$dao = CRM_Core_DAO::executeQuery($query, $params);
*
* @return array of case and related data keyed on case id
*/
- static function getUnclosedCases($params = array(), $excludeCaseIds = array(), $excludeDeleted = TRUE) {
+ static function getUnclosedCases($params = array(), $excludeCaseIds = array(), $excludeDeleted = TRUE, $includeClosed = FALSE) {
//params from ajax call.
- $where = array('( ca.end_date is null )');
+ $where = array($includeClosed ? '(1)' : '(ca.end_date is null)');
if ($caseType = CRM_Utils_Array::value('case_type', $params)) {
$where[] = "( civicrm_case_type.title LIKE '%$caseType%' )";
}
$search = ($config->includeWildCardInName) ? "%$sortName%" : "$sortName%";
$where[] = "( sort_name LIKE '$search' )";
}
+ if ($cid = CRM_Utils_Array::value('contact_id', $params)) {
+ $where[] = " c.id = $cid ";
+ }
if (is_array($excludeCaseIds) &&
!CRM_Utils_System::isNull($excludeCaseIds)
) {
ca.id,
ca.subject as case_subject,
civicrm_case_type.title as case_type,
- ca.start_date as start_date
+ ca.start_date as start_date,
+ ca.end_date as end_date,
+ ca.status_id
FROM civicrm_case ca INNER JOIN civicrm_case_contact cc ON ca.id=cc.case_id
INNER JOIN civicrm_contact c ON cc.contact_id=c.id
INNER JOIN civicrm_case_type ON ca.case_type_id = civicrm_case_type.id
WHERE {$whereClause}
- ORDER BY c.sort_name
+ ORDER BY c.sort_name, ca.end_date
{$limitClause}
";
$dao = CRM_Core_DAO::executeQuery($query);
+ $statuses = CRM_Case_BAO_Case::buildOptions('status_id', 'create');
+
$unclosedCases = array();
while ($dao->fetch()) {
if ($doFilterCases && !array_key_exists($dao->id, $filterCases)) {
'case_type' => $dao->case_type,
'contact_id' => $dao->contact_id,
'start_date' => $dao->start_date,
+ 'end_date' => $dao->end_date,
'case_subject' => $dao->case_subject,
+ 'case_status' => $statuses[$dao->status_id],
);
}
$dao->free();
*
* @param bool $changeClient
*
- * @return void.
+ * @return integer|NULL
* @static
*/
static function mergeCases($mainContactId, $mainCaseId = NULL, $otherContactId = NULL,