function get_audit_list()
 {
     global $focus, $genericAssocFieldsArray, $moduleAssocFieldsArray, $current_user, $timedate, $app_strings;
     $audit_list = array();
     if (!empty($_REQUEST['record'])) {
         $result = $focus->retrieve($_REQUEST['record']);
         if ($result == null || !$focus->ACLAccess('', $focus->isOwner($current_user->id))) {
             sugar_die($app_strings['ERROR_NO_RECORD']);
         }
     }
     if ($focus->is_AuditEnabled()) {
         $order = ' order by ' . $focus->get_audit_table_name() . '.date_created desc';
         //order by contacts_audit.date_created desc
         $query = "SELECT " . $focus->get_audit_table_name() . ".*, users.user_name FROM " . $focus->get_audit_table_name() . ", users WHERE " . $focus->get_audit_table_name() . ".created_by = users.id AND " . $focus->get_audit_table_name() . ".parent_id = '{$focus->id}'" . $order;
         $result = $focus->db->query($query);
         //if($focus->db->getRowCount($result) > 0){
         // We have some data.
         require 'metadata/audit_templateMetaData.php';
         $fieldDefs = $dictionary['audit']['fields'];
         while (($row = $focus->db->fetchByAssoc($result)) != null) {
             $temp_list = array();
             foreach ($fieldDefs as $field) {
                 if (isset($row[$field['name']])) {
                     if (($field['name'] == 'before_value_string' || $field['name'] == 'after_value_string') && (array_key_exists($row['field_name'], $genericAssocFieldsArray) || !empty($moduleAssocFieldsArray[$focus->object_name]) && array_key_exists($row['field_name'], $moduleAssocFieldsArray[$focus->object_name]))) {
                         $temp_list[$field['name']] = Audit::getAssociatedFieldName($row['field_name'], $row[$field['name']]);
                     } else {
                         $temp_list[$field['name']] = $row[$field['name']];
                     }
                     if ($field['name'] == 'date_created') {
                         $temp_list[$field['name']] = $timedate->to_display_date_time($temp_list[$field['name']]);
                     }
                     if (($field['name'] == 'before_value_string' || $field['name'] == 'after_value_string') && ($row['data_type'] = "enum")) {
                         global $app_list_strings;
                         if (isset($focus->field_defs[$row['field_name']]['options'])) {
                             $domain = $focus->field_defs[$row['field_name']]['options'];
                             if (isset($app_list_strings[$domain][$temp_list[$field['name']]])) {
                                 $temp_list[$field['name']] = $app_list_strings[$domain][$temp_list[$field['name']]];
                             }
                         }
                     } elseif ($field['name'] == 'field_name') {
                         global $mod_strings;
                         if (isset($focus->field_defs[$row['field_name']]['vname'])) {
                             $label = $focus->field_defs[$row['field_name']]['vname'];
                             $temp_list[$field['name']] = translate($label, $focus->module_dir);
                         }
                     }
                 }
             }
             $temp_list['created_by'] = $row['user_name'];
             $audit_list[] = $temp_list;
         }
         //}
     }
     return $audit_list;
 }
Example #2
0
 /**
  * @Deprecated
  */
 public function get_audit_list()
 {
     global $focus, $genericAssocFieldsArray, $moduleAssocFieldsArray, $current_user, $timedate, $app_strings;
     $audit_list = array();
     if (!empty($_REQUEST['record'])) {
         $result = $focus->retrieve($_REQUEST['record']);
         if ($result == null || !$focus->ACLAccess('', $focus->isOwner($current_user->id))) {
             sugar_die($app_strings['ERROR_NO_RECORD']);
         }
     }
     if ($focus->is_AuditEnabled()) {
         $order = ' order by ' . $focus->get_audit_table_name() . '.date_created desc';
         //order by contacts_audit.date_created desc
         $query = "SELECT " . $focus->get_audit_table_name() . ".*, users.user_name FROM " . $focus->get_audit_table_name() . ", users WHERE " . $focus->get_audit_table_name() . ".created_by = users.id AND " . $focus->get_audit_table_name() . ".parent_id = '{$focus->id}'" . $order;
         $result = $focus->db->query($query);
         // We have some data.
         require 'metadata/audit_templateMetaData.php';
         $fieldDefs = $dictionary['audit']['fields'];
         while (($row = $focus->db->fetchByAssoc($result)) != null) {
             if (!ACLField::hasAccess($row['field_name'], $focus->module_dir, $GLOBALS['current_user']->id, $focus->isOwner($GLOBALS['current_user']->id))) {
                 continue;
             }
             //If the team_set_id field has a log entry, we retrieve the list of teams to display
             if ($row['field_name'] == 'team_set_id') {
                 $row['field_name'] = 'team_name';
                 require_once 'modules/Teams/TeamSetManager.php';
                 $row['before_value_string'] = TeamSetManager::getCommaDelimitedTeams($row['before_value_string']);
                 $row['after_value_string'] = TeamSetManager::getCommaDelimitedTeams($row['after_value_string']);
             }
             $temp_list = array();
             foreach ($fieldDefs as $field) {
                 if (array_key_exists($field['name'], $row)) {
                     if (($field['name'] == 'before_value_string' || $field['name'] == 'after_value_string') && (array_key_exists($row['field_name'], $genericAssocFieldsArray) || !empty($moduleAssocFieldsArray[$focus->object_name]) && array_key_exists($row['field_name'], $moduleAssocFieldsArray[$focus->object_name]))) {
                         $temp_list[$field['name']] = Audit::getAssociatedFieldName($row['field_name'], $row[$field['name']]);
                     } else {
                         $temp_list[$field['name']] = $row[$field['name']];
                     }
                     if ($field['name'] == 'date_created') {
                         $date_created = '';
                         if (!empty($temp_list[$field['name']])) {
                             $date_created = $timedate->to_display_date_time($temp_list[$field['name']]);
                             $date_created = !empty($date_created) ? $date_created : $temp_list[$field['name']];
                         }
                         $temp_list[$field['name']] = $date_created;
                     }
                     if (($field['name'] == 'before_value_string' || $field['name'] == 'after_value_string') && ($row['data_type'] == "enum" || $row['data_type'] == "multienum")) {
                         global $app_list_strings;
                         $enum_keys = unencodeMultienum($temp_list[$field['name']]);
                         $enum_values = array();
                         foreach ($enum_keys as $enum_key) {
                             if (isset($focus->field_defs[$row['field_name']]['options'])) {
                                 $domain = $focus->field_defs[$row['field_name']]['options'];
                                 if (isset($app_list_strings[$domain][$enum_key])) {
                                     $enum_values[] = $app_list_strings[$domain][$enum_key];
                                 }
                             }
                         }
                         if (!empty($enum_values)) {
                             $temp_list[$field['name']] = implode(', ', $enum_values);
                         }
                         if ($temp_list['data_type'] === 'date') {
                             $temp_list[$field['name']] = $timedate->to_display_date($temp_list[$field['name']], false);
                         }
                     } elseif (($field['name'] == 'before_value_string' || $field['name'] == 'after_value_string') && $row['data_type'] == "datetimecombo") {
                         if (!empty($temp_list[$field['name']]) && $temp_list[$field['name']] != 'NULL') {
                             $temp_list[$field['name']] = $timedate->to_display_date_time($temp_list[$field['name']]);
                         } else {
                             $temp_list[$field['name']] = '';
                         }
                     } elseif ($field['name'] == 'field_name') {
                         global $mod_strings;
                         if (isset($focus->field_defs[$row['field_name']]['vname'])) {
                             $label = $focus->field_defs[$row['field_name']]['vname'];
                             $temp_list[$field['name']] = translate($label, $focus->module_dir);
                         }
                     }
                 }
             }
             $temp_list['created_by'] = $row['user_name'];
             $audit_list[] = $temp_list;
         }
     }
     return $audit_list;
 }
Example #3
0
 public function testgetAssociatedFieldName()
 {
     global $focus;
     $focus = new Account();
     //use audit enabbled module object
     $audit = new Audit();
     //test with name field
     $result = $audit->getAssociatedFieldName('name', '1');
     $this->assertEquals('1', $result);
     //test with parent_id field
     $result = $audit->getAssociatedFieldName('parent_id', '1');
     $this->assertEquals(null, $result);
 }