Skip to content
Snippets Groups Projects
Commit b4cb87fd authored by Kurund Jalmi's avatar Kurund Jalmi
Browse files

Merge pull request #284 from colemanw/case-activity-status

Refresh case table without reloading the page CRM-12202
parents 851d7eed 79dc2175
Branches
Tags
No related merge requests found
......@@ -1287,7 +1287,7 @@ SELECT case_status.label AS case_status, status_id, case_type.label AS case_type
}
if ($allowEdit) {
$values[$dao->id]['status'] = '<a class="crm-activity-status crm-activity-status-' . $dao->id . ' ' . $values[$dao->id]['class'] . ' crm-activity-change-status" activity_id='. $dao->id. ' current_status=' . $dao->status . ' case_id=' . $caseID . '" href="#" title=\'' . $statusTitle . '\'>' . $values[$dao->id]['status'] . '</a>';
$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>';
}
}
$dao->free();
......
......@@ -428,7 +428,7 @@ class CRM_Case_Form_Case extends CRM_Core_Form {
// 5. auto populate activites
// 6. set status
CRM_Core_Session::setStatus($params['statusMsg'], '', 'info');
CRM_Core_Session::setStatus($params['statusMsg'], ts('Saved'), 'success');
}
}
......@@ -66,6 +66,17 @@ class CRM_Case_Page_CaseDetails extends CRM_Core_Page {
$this->assign('caseId', $caseId);
$this->assign('contactId', $this->_contactId);
// Make it easy to refresh this table
$params = array(
'caseId' => $caseId,
'type' => $type,
'context' => $this->_context,
'cid' => $this->_contactId,
'action' => $this->_action,
'snippet' => 4,
);
$this->assign('data_params', json_encode($params));
return parent::run();
}
}
......
// http://civicrm.org/licensing
cj(function($) {
$('.crm-container').on('click', 'a.crm-activity-change-status', function() {
changeActivityStatus(
$(this).attr('activity_id'),
$(this).attr('current_status'),
$(this).attr('case_id')
);
return false;
});
function changeActivityStatus(activityId, current_status_id, caseId) {
var o = $('<div class="crm-container crm-activity_change_status"></div>');
$('#crm-container').on('click', 'a.crm-activity-change-status', function() {
var link = $(this),
activityId = $(this).attr('activity_id'),
current_status_id = $(this).attr('current_status'),
caseId = $(this).attr('case_id'),
data = 'snippet=1&reset=1',
o = $('<div class="crm-container crm-activity_change_status"></div>');
addCiviOverlay(o);
var data = 'snippet=1&reset=1';
o.load(CRM.url('civicrm/case/changeactivitystatus'), data, function() {
removeCiviOverlay(o);
cj("#activity_change_status").val(current_status_id);
......@@ -40,8 +36,16 @@ cj(function($) {
return false;
}
else {
// just reload the page on success
window.location.reload();
// reload the table on success
if (window.buildCaseActivities) {
// If we are using a datatable
buildCaseActivities(true);
}
else {
// Legacy refresh for non-datatable screens
var table = link.closest('table.nestedActivitySelector');
table.parent().load(CRM.url('civicrm/case/details', table.data('params')));
}
}
},
error : function(jqXHR) {
......@@ -55,7 +59,8 @@ cj(function($) {
message: o
}
);
}
return false;
});
});
......@@ -25,7 +25,7 @@
*}
{strip}
{if $rows}
<table class="nestedActivitySelector">
<table class="nestedActivitySelector" data-params='{$data_params}'>
<tr class="columnheader">
<th>{ts}Date{/ts}</th>
<th>{ts}Subject{/ts}</th>
......@@ -55,4 +55,4 @@
{/if}
{/strip}
{include file="CRM/Case/Form/ActivityToCase.tpl"}
\ No newline at end of file
{include file="CRM/Case/Form/ActivityToCase.tpl"}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment