Example #1
0
 /**
  * Set default values for the form. For edit/view mode
  * the default values are retrieved from the database
  *
  *
  * @return array
  */
 public function setDefaultValues()
 {
     $defaults = array();
     //Always pass current event's start date by default
     $currentEventStartDate = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'start_date', 'id');
     list($defaults['repetition_start_date'], $defaults['repetition_start_date_time']) = CRM_Utils_Date::setDateDefaults($currentEventStartDate, 'activityDateTime');
     $recurringEntityDefaults = CRM_Core_Form_RecurringEntity::setDefaultValues();
     return array_merge($defaults, $recurringEntityDefaults);
 }
Example #2
0
 /**
  * Set default values for the form.
  *
  * For edit/view mode the default values are retrieved from the database.
  *
  * @return array
  */
 public function setDefaultValues()
 {
     $defaults = $this->_values + CRM_Core_Form_RecurringEntity::setDefaultValues();
     // if we're editing...
     if (isset($this->_activityId)) {
         if (empty($defaults['activity_date_time'])) {
             list($defaults['activity_date_time'], $defaults['activity_date_time_time']) = CRM_Utils_Date::setDateDefaults(NULL, 'activityDateTime');
         } elseif ($this->_action & CRM_Core_Action::UPDATE) {
             $this->assign('current_activity_date_time', $defaults['activity_date_time']);
             list($defaults['activity_date_time'], $defaults['activity_date_time_time']) = CRM_Utils_Date::setDateDefaults($defaults['activity_date_time'], 'activityDateTime');
             list($defaults['repetition_start_date'], $defaults['repetition_start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['activity_date_time'], 'activityDateTime');
         }
         if ($this->_context != 'standalone') {
             $this->assign('target_contact_value', CRM_Utils_Array::value('target_contact_value', $defaults));
             $this->assign('assignee_contact_value', CRM_Utils_Array::value('assignee_contact_value', $defaults));
         }
         // Fixme: why are we getting the wrong keys from upstream?
         $defaults['target_contact_id'] = CRM_Utils_Array::value('target_contact', $defaults);
         $defaults['assignee_contact_id'] = CRM_Utils_Array::value('assignee_contact', $defaults);
         // set default tags if exists
         $defaults['tag'] = CRM_Core_BAO_EntityTag::getTag($this->_activityId, 'civicrm_activity');
     } else {
         // if it's a new activity, we need to set default values for associated contact fields
         $this->_sourceContactId = $this->_currentUserId;
         $this->_targetContactId = $this->_currentlyViewedContactId;
         $defaults['source_contact_id'] = $this->_sourceContactId;
         $defaults['target_contact_id'] = $this->_targetContactId;
         list($defaults['activity_date_time'], $defaults['activity_date_time_time']) = CRM_Utils_Date::setDateDefaults(NULL, 'activityDateTime');
     }
     if ($this->_activityTypeId) {
         $defaults['activity_type_id'] = $this->_activityTypeId;
     }
     if (!$this->_single && !empty($this->_contactIds)) {
         $defaults['target_contact_id'] = $this->_contactIds;
     }
     // CRM-15472 - 50 is around the practical limit of how many items a select2 entityRef can handle
     if (!empty($defaults['target_contact_id'])) {
         $count = count(is_array($defaults['target_contact_id']) ? $defaults['target_contact_id'] : explode(',', $defaults['target_contact_id']));
         if ($count > 50) {
             $this->freeze(array('target_contact_id'));
         }
     }
     if ($this->_action & (CRM_Core_Action::DELETE | CRM_Core_Action::RENEW)) {
         $this->assign('delName', CRM_Utils_Array::value('subject', $defaults));
     }
     if ($this->_activityTypeFile) {
         $className = "CRM_{$this->_crmDir}_Form_Activity_{$this->_activityTypeFile}";
         $defaults += $className::setDefaultValues($this);
     }
     if (empty($defaults['priority_id'])) {
         $priority = CRM_Core_PseudoConstant::get('CRM_Activity_DAO_Activity', 'priority_id');
         $defaults['priority_id'] = array_search('Normal', $priority);
     }
     if (empty($defaults['status_id'])) {
         $defaults['status_id'] = CRM_Core_OptionGroup::getDefaultValue('activity_status');
     }
     return $defaults;
 }