Browse Source

Fix link to translate extra field options - refs BT#11015

Angel Fernando Quiroz Campos 8 years ago
parent
commit
6b5937c48c

+ 2 - 1
main/extrafield/translate.php

@@ -10,6 +10,7 @@ api_protect_admin_script();
 $em = Database::getManager();
 
 $extraFieldInfo = null;
+$extraFieldOptionInfo = null;
 $variableLanguage = null;
 $originalName = null;
 
@@ -23,7 +24,7 @@ if (isset($_GET['extra_field'])) {
     $originalName = $extraFieldOptionInfo['display_text'];
 }
 
-if (empty($extraFieldInfo) || empty($variableLanguage) || empty($originalName)) {
+if ((empty($extraFieldInfo) && empty($extraFieldOptionInfo)) || empty($variableLanguage) || empty($originalName)) {
     api_not_allowed(true);
 }
 

+ 13 - 8
main/inc/lib/extra_field.lib.php

@@ -1763,14 +1763,19 @@ EOF;
 
         $form->addElement('header', $header);
 
-        $translateUrl = api_get_path(WEB_CODE_PATH) . 'extrafield/translate.php?' . http_build_query([
-            'extra_field' => $id
-        ]);
-        $translateButton = Display::toolbarButton(get_lang('TranslateThisTerm'), $translateUrl, 'language', 'link');
-        $form->addText(
-            'display_text',
-            [get_lang('Name'), $translateButton]
-        );
+        if ($action == 'edit') {
+            $translateUrl = api_get_path(WEB_CODE_PATH) . 'extrafield/translate.php?' . http_build_query([
+                'extra_field' => $id
+            ]);
+            $translateButton = Display::toolbarButton(get_lang('TranslateThisTerm'), $translateUrl, 'language', 'link');
+
+            $form->addText(
+                'display_text',
+                [get_lang('Name'), $translateButton]
+            );
+        } else {
+            $form->addElement('text', 'display_text', get_lang('Name'));
+        }
 
         // Field type
         $types = self::get_field_types();

+ 5 - 8
main/inc/lib/extra_field_option.lib.php

@@ -616,18 +616,15 @@ class ExtraFieldOption extends Model
         $form->addElement('hidden', 'field_id', $this->field_id);
 
         if ($action == 'edit') {
-            $platformLanguage = api_get_setting('platformLanguage');
-            $languageId = api_get_language_id($platformLanguage);
-            $languageInfo = api_get_language_info($languageId);
-            $translateUrl = api_get_path(WEB_CODE_PATH) . 'admin/sub_language.php?' . http_build_query([
-                'id' => $languageInfo['parent_id'],
-                'action' => 'registersublanguage',
-                'sub_language_id' => $languageInfo['id'],
+            $translateUrl = api_get_path(WEB_CODE_PATH) . 'extrafield/translate.php?' . http_build_query([
                 'extra_field_option' => $id
             ]);
             $translateButton = Display::toolbarButton(get_lang('TranslateThisTerm'), $translateUrl, 'language', 'link');
 
-            $form->addElement('text', 'display_text', [get_lang('Name'), $translateButton]);
+            $form->addText(
+                'display_text',
+                [get_lang('Name'), $translateButton]
+            );
         } else {
             $form->addElement('text', 'display_text', get_lang('Name'));
         }