예제 #1
0
 /**
  * Get array that will be sent back to ajax frontend
  * @param SugarBean $bean
  * @return array
  */
 static function getBeanDataArray(SugarBean $bean)
 {
     if (isset($bean->parent_name) && isset($_REQUEST['parent_name'])) {
         $bean->parent_name = $_REQUEST['parent_name'];
     }
     $users = array();
     if ($bean->object_name == 'Call') {
         $users = $bean->get_call_users();
     } else {
         if ($bean->object_name == 'Meeting') {
             $users = $bean->get_meeting_users();
         }
     }
     $user_ids = array();
     foreach ($users as $u) {
         $user_ids[] = $u->id;
     }
     $field_list = CalendarUtils::get_fields();
     $field_arr = array();
     foreach ($field_list[$bean->module_dir] as $field) {
         if ($field == 'related_to') {
             $focus = BeanFactory::getBean($bean->parent_type, $bean->parent_id);
             $field_arr[$field] = $focus->name;
         } else {
             $field_arr[$field] = $bean->{$field};
         }
     }
     $date_field = "date_start";
     if ($bean->object_name == 'Task') {
         $date_field = "date_due";
     }
     $arr = array('access' => 'yes', 'type' => strtolower($bean->object_name), 'module_name' => $bean->module_dir, 'user_id' => $GLOBALS['current_user']->id, 'detail' => 1, 'edit' => 1, 'name' => $bean->name, 'record' => $bean->id, 'users' => $user_ids);
     if (!empty($bean->repeat_parent_id)) {
         $arr['repeat_parent_id'] = $bean->repeat_parent_id;
     }
     $arr = array_merge($arr, $field_arr);
     $arr = array_merge($arr, CalendarUtils::get_time_data($bean));
     return $arr;
 }