Fix setDefault on status id smart group formvalues
[civicrm-core.git] / CRM / Activity / BAO / Query.php
index db841e1e692fdc48248151b4a2a6bdb1cf384572..aa047a361f896a85fc4915882e76ad4771e19cec 100644 (file)
@@ -431,7 +431,14 @@ class CRM_Activity_BAO_Query {
     $form->addSelect('status_id',
       array('entity' => 'activity', 'multiple' => 'multiple', 'option_url' => NULL, 'placeholder' => ts('- any -'))
     );
-    $form->setDefaults(array('status_id' => array($activityStatus['Completed'], $activityStatus['Scheduled'])));
+    $ssID = $form->get('ssID');
+    $status = array($activityStatus['Completed'], $activityStatus['Scheduled']);
+    //If status is saved in smart group.
+    if (!empty($ssID) && !empty($form->_formValues['activity_status_id'])) {
+      $status = $form->_formValues['activity_status_id'];
+    }
+    $form->setDefaults(array('status_id' => $status));
+
     $form->addElement('text', 'activity_text', ts('Activity Text'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name'));
 
     $form->addRadio('activity_option', '', CRM_Core_SelectValues::activityTextOptions());