Extra Fields: Avoid using the ExtraField::translateDisplayName method to translate the options display name - refs BT#21533

pull/5832/head
Angel Fernando Quiroz Campos 10 months ago
parent 911dfc01ae
commit ffcdc3e4d8
No known key found for this signature in database
GPG Key ID: B284841AE3E562CD
  1. 4
      public/main/admin/statistics/index.php
  2. 2
      public/main/inc/ajax/statistics.ajax.php
  3. 24
      public/main/inc/lib/extra_field.lib.php
  4. 23
      public/main/inc/lib/extra_field_option.lib.php

@ -1000,7 +1000,7 @@ switch ($report) {
$count = $result['count']; $count = $result['count'];
$usersFound += $count; $usersFound += $count;
$option = $extraFieldOption->get($item['id'], true); $option = $extraFieldOption->get($item['id']);
$item['display_text'] = $option['display_text']; $item['display_text'] = $option['display_text'];
$all[$item['display_text']] = $count; $all[$item['display_text']] = $count;
} }
@ -1204,7 +1204,7 @@ switch ($report) {
$query = Database::query($sql); $query = Database::query($sql);
$result = Database::fetch_array($query); $result = Database::fetch_array($query);
$count = $result['count']; $count = $result['count'];
$option = $extraFieldOption->get($item['id'], true); $option = $extraFieldOption->get($item['id']);
$item['display_text'] = $option['display_text']; $item['display_text'] = $option['display_text'];
$all[$item['display_text']] = $count; $all[$item['display_text']] = $count;
$usersFound += $count; $usersFound += $count;

@ -362,7 +362,7 @@ switch ($action) {
$count = $result['count']; $count = $result['count'];
$usersFound += $count; $usersFound += $count;
$option = $extraFieldOption->get($item['id'], true); $option = $extraFieldOption->get($item['id']);
$item['display_text'] = $option['display_text']; $item['display_text'] = $option['display_text'];
$all[$item['display_text']] = $count; $all[$item['display_text']] = $count;
} }

@ -795,30 +795,6 @@ class ExtraField extends Model
return $extra; return $extra;
} }
/**
* Translate the display text for a extra field.
*
* @param string $variable
* @param string $defaultDisplayText
*
* @return string
*/
public static function translateDisplayName($variable, $defaultDisplayText): string
{
// 1st priority variable.
$translatedVariable = get_lang(api_underscore_to_camel_case($variable));
if (api_underscore_to_camel_case($variable) !== $translatedVariable) {
return $translatedVariable;
}
// 2nd priority display text.
$translatedDisplayText = get_lang($defaultDisplayText);
if ($defaultDisplayText !== $translatedDisplayText) {
return $translatedDisplayText;
}
return $defaultDisplayText;
}
/** /**
* Return an array of all the extra fields available for this item. * Return an array of all the extra fields available for this item.
* *

@ -535,8 +535,7 @@ class ExtraFieldOption extends Model
break; break;
} }
$extraFieldOptionsRepo = Container::getExtraFieldOptionsRepository(); $result = Container::getExtraFieldOptionsRepository()->findBy(['field' => $field_id], $orderBy);
$result = $extraFieldOptionsRepo->findBy(['field' => $field_id], $orderBy);
if (!$result) { if (!$result) {
return false; return false;
@ -549,7 +548,7 @@ class ExtraFieldOption extends Model
'id' => $row->getId(), 'id' => $row->getId(),
'field_id' => $row->getField()->getId(), 'field_id' => $row->getField()->getId(),
'option_value' => $row->getValue(), 'option_value' => $row->getValue(),
'display_text' => \ExtraField::translateDisplayName($row->getValue(), $row->getDisplayText()), 'display_text' => $row->getDisplayText(),
'priority' => $row->getPriority(), 'priority' => $row->getPriority(),
'priority_message' => $row->getPriorityMessage(), 'priority_message' => $row->getPriorityMessage(),
'option_order' => $row->getOptionOrder(), 'option_order' => $row->getOptionOrder(),
@ -591,7 +590,7 @@ class ExtraFieldOption extends Model
'id' => $subOption->getId(), 'id' => $subOption->getId(),
'field_id' => $subOption->getField()->getId(), 'field_id' => $subOption->getField()->getId(),
'option_value' => $subOption->getValue(), 'option_value' => $subOption->getValue(),
'display_text' => \ExtraField::translateDisplayName($subOption->getValue(), $subOption->getDisplayText()), 'display_text' => $subOption->getDisplayText(),
'priority' => $subOption->getPriority(), 'priority' => $subOption->getPriority(),
'priority_message' => $subOption->getPriorityMessage(), 'priority_message' => $subOption->getPriorityMessage(),
'option_order' => $subOption->getOptionOrder(), 'option_order' => $subOption->getOptionOrder(),
@ -859,10 +858,13 @@ class ExtraFieldOption extends Model
{ {
$info = parent::get($id); $info = parent::get($id);
if ($info && $translateDisplayText) { if ($info) {
$extraFieldOptionsRepo = Container::getExtraFieldOptionsRepository(); $option = Container::getExtraFieldOptionsRepository()->find($id);
$option = $extraFieldOptionsRepo->find($id); if (!$translateDisplayText) {
$info['display_text'] = \ExtraField::translateDisplayName($option->getValue(), $option->getDisplayText()); $option->setLocale(Container::getParameter('locale'));
Database::getManager()->refresh($option);
}
$info['display_text'] = $option->getDisplayText();
} }
return $info; return $info;
@ -873,9 +875,8 @@ class ExtraFieldOption extends Model
$result = parent::get_all($options); $result = parent::get_all($options);
foreach ($result as &$row) { foreach ($result as &$row) {
$extraFieldOptionsRepo = Container::getExtraFieldOptionsRepository(); $option = Container::getExtraFieldOptionsRepository()->find($row['id']);
$option = $extraFieldOptionsRepo->find($row['id']); $row['display_text'] = $option->getDisplayText();
$row['display_text'] = \ExtraField::translateDisplayName($option->getValue(), $option->getDisplayText());
} }
return $result; return $result;

Loading…
Cancel
Save