*/
public function postProcess() {
$params = $this->exportValues();
+ $statusClasses = CRM_Event_PseudoConstant::participantStatusClass();
if (isset($params['field'])) {
foreach ($params['field'] as $key => $value) {
//need to send mail when status change
$statusChange = FALSE;
+ $relatedStatusChange = FALSE;
if (CRM_Utils_Array::value('participant_status', $value)) {
$value['status_id'] = $value['participant_status'];
$fromStatusId = CRM_Utils_Array::value($key, $this->_fromStatusIds);
}
if ($fromStatusId != $value['status_id']) {
+ $relatedStatusChange = TRUE;
+ }
+ if ($statusClasses[$fromStatusId] != $statusClasses[$value['status_id']]) {
$statusChange = TRUE;
}
}
//need to trigger mails when we change status
if ($statusChange) {
CRM_Event_BAO_Participant::transitionParticipants(array($key), $value['status_id'], $fromStatusId);
-
+ }
+ if ($relatedStatusChange) {
//update related contribution status, CRM-4395
self::updatePendingOnlineContribution($key, $value['status_id']);
}