diff --git a/CRM/Grant/BAO/GrantProgram.php b/CRM/Grant/BAO/GrantProgram.php index eb8ee8a63f8cc1b594cc39f9152c65bb698af425..c20dcd51d541dfb5d51f2117cc636aa59f05abb8 100755 --- a/CRM/Grant/BAO/GrantProgram.php +++ b/CRM/Grant/BAO/GrantProgram.php @@ -304,7 +304,7 @@ WHERE civicrm_contact.id = $id "; return $grants; } - static function sendMail($contactID, &$values, $grantStatus, $grantId = FALSE) { + static function sendMail($contactID, &$values, $grantStatus, $grantId = FALSE, $status = '') { $value = array(); if (CRM_Utils_Array::value('is_auto_email', $values)) { list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contactID); @@ -340,11 +340,11 @@ WHERE civicrm_contact.id = $id "; 'source_record_id' => $grantId, 'activity_type_id'=> array_search('Grant Status Change', $activityType), 'assignee_contact_id'=> array($contactID), - 'subject'=> "Grant Status Change", + 'subject'=> "Grant Status Change : " . $grantStatus, 'activity_date_time'=> date('Ymdhis'), 'status_id'=> array_search('Completed', $activityStatus), 'priority_id'=> 2, - 'details'=> '', + 'details'=> "Grant status changed from {$status} to {$grantStatus}", ); CRM_Activity_BAO_Activity::create($params); } diff --git a/CRM/Grant/Form/Task/GrantPayment.php b/CRM/Grant/Form/Task/GrantPayment.php index 7b90b2f5b751fc3e20952da47d0d818486048ff7..39468a24bb19c8fc0a536b8a3f5ed6fe3bf7fb38 100755 --- a/CRM/Grant/Form/Task/GrantPayment.php +++ b/CRM/Grant/Form/Task/GrantPayment.php @@ -377,7 +377,7 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form $this->assign( 'grant_programs', $grantPrograms[$mailParams[$grantId]['grant_program_id']] ); $this->assign( 'grant_status', 'Paid' ); $this->assign( 'params', $mailParams[$grantId] ); - CRM_Grant_BAO_GrantProgram::sendMail($grantContctId[$grantId], $mailParams[$grantId], 'Paid', $grantId); + CRM_Grant_BAO_GrantProgram::sendMail($grantContctId[$grantId], $mailParams[$grantId], 'Paid', $grantId, 'Approved for Payment'); } CRM_Core_Session::setStatus( "Created ".count($details)." payments to pay for ".count($this->_approvedGrants)." grants to ".count($details)." applicants." ); } diff --git a/grantprograms.php b/grantprograms.php index da50ee07de27d098e9026e4f372ce289733574bb..c4d9688fdc1f955d7e6464b67249e20e239eb7b5 100644 --- a/grantprograms.php +++ b/grantprograms.php @@ -724,7 +724,7 @@ function grantprograms_civicrm_post($op, $objectName, $objectId, &$objectRef) { $page->assign('customGroup', $customGroup); $page->assign('customField', $customField); - $grantStatus = CRM_Core_OptionGroup::values('grant_status'); + $grantStatuses = $grantStatus = CRM_Core_OptionGroup::values('grant_status'); $grantPrograms = CRM_Grant_BAO_GrantProgram::getGrantPrograms(); $grantTypes = CRM_Core_OptionGroup::values('grant_type'); $grantProgram = $grantPrograms[$params['grant_program_id']]; @@ -746,7 +746,12 @@ function grantprograms_civicrm_post($op, $objectName, $objectId, &$objectRef) { $smarty = CRM_Core_Smarty::singleton(); $sendMail = $smarty->get_template_vars('sendMail'); if ($sendMail) { - CRM_Grant_BAO_GrantProgram::sendMail($params['contact_id'], $params, $grantStatus, $objectId); + $previousGrant = $smarty->get_template_vars('previousGrant'); + $previousStatus = ''; + if (property_exists($previousGrant, 'status_id')) { + $previousStatus = $grantStatuses[$previousGrant->status_id]; + } + CRM_Grant_BAO_GrantProgram::sendMail($params['contact_id'], $params, $grantStatus, $objectId, $previousStatus); } }