// set user context
$urlParams = $urlString = NULL;
$qfKey = CRM_Utils_Request::retrieve('key', 'String', $this);
+ if (!$qfKey) {
+ $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $this);
+ }
//validate the qfKey
if (!CRM_Utils_Rule::qfKey($qfKey)) {
if ($qfKey) {
$urlParams .= "&qfKey=$qfKey";
}
- if ($this->_compContext == 'advanced') {
+ $path = CRM_Utils_System::currentPath();
+ if ($this->_compContext == 'advanced' ||
+ $path == 'civicrm/contact/search/advanced') {
$urlString = 'civicrm/contact/search/advanced';
}
+ else if ($path == 'civicrm/contact/search') {
+ $urlString = 'civicrm/contact/search';
+ }
else {
$urlString = 'civicrm/activity/search';
}
$priority = CRM_Core_PseudoConstant::priority();
$defaults['priority_id'] = array_search('Normal', $priority);
}
+ if (!CRM_Utils_Array::value('status_id', $defaults)) {
+ $defaults['status_id'] = CRM_Core_OptionGroup::getDefaultValue('activity_status');
+ }
return $defaults;
}
// this option should be available only during add mode
if ($this->_action != CRM_Core_Action::UPDATE) {
- $this->add('advcheckbox', 'is_multi_activity', ts('Create a separate activity for each of the above selected contact.'));
+ $this->add('advcheckbox', 'is_multi_activity', ts('Create a separate activity for each contact.'));
}
$this->addRule('duration',
$this->addDateTime('activity_date_time', ts('Date'), TRUE, array('formatType' => 'activityDateTime'));
//add followup date
- $this->addDateTime('followup_date', ts('in'));
+ $this->addDateTime('followup_date', ts('in'), FALSE, array('formatType' => 'activityDateTime'));
//autocomplete url
$dataUrl = CRM_Utils_System::url("civicrm/ajax/rest",
}
$this->addFormRule(array('CRM_Activity_Form_Activity', 'formRule'), $this);
+
+ if (CRM_Core_BAO_Setting::getItem(
+ CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
+ 'activity_assignee_notification'
+ )
+ ) {
+ $this->assign('activityAssigneeNotification', TRUE);
+ }
+ else {
+ $this->assign('activityAssigneeNotification', FALSE);
+ }
}
/**
*/
protected function processActivity(&$params) {
$activityAssigned = array();
+ $activityContacts = CRM_Core_PseudoConstant::activityContacts('name');
+ $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
// format assignee params
if (!CRM_Utils_Array::crmIsEmptyArray($params['assignee_contact_id'])) {
//skip those assignee contacts which are already assigned
//while sending a copy.CRM-4509.
$activityAssigned = array_flip($params['assignee_contact_id']);
if ($this->_activityId) {
- $assigneeContacts = CRM_Activity_BAO_ActivityAssignment::getAssigneeNames($this->_activityId);
+ $assigneeContacts = CRM_Activity_BAO_ActivityContact::getNames($this->_activityId, $assigneeID);
$activityAssigned = array_diff_key($activityAssigned, $assigneeContacts);
}
}
)
) {
$mailToContacts = array();
- $assigneeContacts = CRM_Activity_BAO_ActivityAssignment::getAssigneeNames($activity->id, TRUE, FALSE);
+ //FIX ME : add more parameters to 'getNames' function
+ $assigneeContacts = CRM_Activity_BAO_ActivityContact::getNames($activity->id, $assigneeID, TRUE, FALSE);
//build an associative array with unique email addresses.
foreach ($activityAssigned as $id => $dnc) {