From ef73036ad665869694b85a9c7865e5355db04178 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 11 Oct 2018 18:05:00 -0500 Subject: [PATCH] Ims LTI Improve view when adding tool - refs BT#13469 --- plugin/ims_lti/ImsLtiPlugin.php | 2 +- plugin/ims_lti/add.php | 24 +++++++++++++++++++++--- plugin/ims_lti/create.php | 13 ++++++++++--- plugin/ims_lti/edit.php | 11 ++++++++--- plugin/ims_lti/lang/english.php | 3 +++ plugin/ims_lti/lang/french.php | 3 +++ plugin/ims_lti/lang/spanish.php | 3 +++ plugin/ims_lti/view/add.tpl | 10 +++++++--- 8 files changed, 56 insertions(+), 13 deletions(-) diff --git a/plugin/ims_lti/ImsLtiPlugin.php b/plugin/ims_lti/ImsLtiPlugin.php index 8fe8007caa..45ccda4a53 100644 --- a/plugin/ims_lti/ImsLtiPlugin.php +++ b/plugin/ims_lti/ImsLtiPlugin.php @@ -175,7 +175,7 @@ class ImsLtiPlugin extends Plugin private function setCourseSettings() { $button = Display::toolbarButton( - $this->get_lang('AddExternalTool'), + $this->get_lang('ConfigureExternalTool'), api_get_path(WEB_PLUGIN_PATH).'ims_lti/add.php?'.api_get_cidreq(), 'cog', 'primary' diff --git a/plugin/ims_lti/add.php b/plugin/ims_lti/add.php index d1ec9667e8..3779ee2887 100644 --- a/plugin/ims_lti/add.php +++ b/plugin/ims_lti/add.php @@ -30,24 +30,36 @@ if ($baseTool && !$baseTool->isGlobal()) { } $form = new FormValidator('ims_lti_add_tool'); +$form->addHeader($plugin->get_lang('ToolSettings')); if ($baseTool) { $form->addHtml('

'.Security::remove_XSS($baseTool->getDescription()).'

'); } $form->addText('name', get_lang('Title')); -$form->addTextarea('description', get_lang('Description'), ['rows' => 10]); if (!$baseTool) { $form->addElement('url', 'url', $plugin->get_lang('LaunchUrl')); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey'), true); $form->addText('shared_secret', $plugin->get_lang('SharedSecret'), true); - $form->addTextarea('custom_params', $plugin->get_lang('CustomParams')); $form->addRule('url', get_lang('Required'), 'required'); -} else { +} + +$form->addButtonAdvancedSettings('lti_adv'); +$form->addHtml(''); + $form->addButtonCreate($plugin->get_lang('AddExternalTool')); if ($form->validate()) { @@ -93,5 +105,11 @@ $template->assign('form', $form->returnForm()); $content = $template->fetch('ims_lti/view/add.tpl'); +$actions = Display::url( + Display::return_icon('add.png', $plugin->get_lang('AddExternalTool'), [], ICON_SIZE_MEDIUM), + api_get_self().'?'.api_get_cidreq() +); + +$template->assign('actions', Display::toolbarAction('lti_toolbar', [$actions])); $template->assign('content', $content); $template->display_one_col_template(); diff --git a/plugin/ims_lti/create.php b/plugin/ims_lti/create.php index 129aa50cd3..a7b477b984 100644 --- a/plugin/ims_lti/create.php +++ b/plugin/ims_lti/create.php @@ -17,8 +17,12 @@ $form->addText('name', get_lang('Name')); $form->addText('base_url', $plugin->get_lang('LaunchUrl')); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey')); $form->addText('shared_secret', $plugin->get_lang('SharedSecret')); -$form->addTextarea('description', get_lang('Description'), ['rows' => 10]); -$form->addTextarea('custom_params', $plugin->get_lang('CustomParams')); +$form->addButtonAdvancedSettings('lti_adv'); +$form->addHtml(''); $form->addButtonCreate($plugin->get_lang('AddExternalTool')); if ($form->validate()) { @@ -32,7 +36,10 @@ if ($form->validate()) { ->setConsumerKey($formValues['consumer_key']) ->setSharedSecret($formValues['shared_secret']) ->setCustomParams($formValues['custom_params']) - ->setIsGlobal(true); + ->setIsGlobal(true) + ->setActiveDeepLinking( + isset($formValues['deep_linking']) + ); $em->persist($externalTool); $em->flush(); diff --git a/plugin/ims_lti/edit.php b/plugin/ims_lti/edit.php index 34a11a53e0..ff2e442d8d 100644 --- a/plugin/ims_lti/edit.php +++ b/plugin/ims_lti/edit.php @@ -31,11 +31,15 @@ if (!$tool) { $form = new FormValidator('ims_lti_edit_tool'); $form->addText('name', get_lang('Name')); -$form->addTextarea('description', get_lang('Description'), ['rows' => 10]); $form->addText('url', $plugin->get_lang('LaunchUrl')); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey')); $form->addText('shared_secret', $plugin->get_lang('SharedSecret')); -$form->addTextarea('custom_params', $plugin->get_lang('CustomParams')); +$form->addButtonAdvancedSettings('lti_adv'); +$form->addHtml(''); $form->addButtonSave(get_lang('Save')); $form->addHidden('id', $tool->getId()); $form->setDefaults([ @@ -44,7 +48,8 @@ $form->setDefaults([ 'url' => $tool->getLaunchUrl(), 'consumer_key' => $tool->getConsumerKey(), 'shared_secret' => $tool->getSharedSecret(), - 'custom_params' => $tool->getCustomParams() + 'custom_params' => $tool->getCustomParams(), + 'deep_linking' => $tool->isActiveDeepLinking(), ]); if ($form->validate()) { diff --git a/plugin/ims_lti/lang/english.php b/plugin/ims_lti/lang/english.php index 47d737ca99..342908534f 100644 --- a/plugin/ims_lti/lang/english.php +++ b/plugin/ims_lti/lang/english.php @@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'Launch URL'; $strings['ConsumerKey'] = 'Consumer key'; $strings['SharedSecret'] = 'Shared secret'; $strings['CustomParams'] = 'Custom params'; +$strings['CustomParamsHelp'] = 'Custom params required by the Tool Provider. Format: name=value'; $strings['ToolName'] = 'Tool name'; $strings['ToolNotAdded'] = 'Tool not added'; $strings['AvailableTools'] = 'Available tools'; @@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Edit external tool'; $strings['ToolDeleted'] = 'Tool deleted'; $strings['ToolAdded'] = 'Tool added'; $strings['PressToContinue'] = 'Press to continue to external tool'; +$strings['ConfigureExternalTool'] = 'Configure external tools'; +$strings['SupportDeepLinking'] = 'Support Deep-Linking'; diff --git a/plugin/ims_lti/lang/french.php b/plugin/ims_lti/lang/french.php index 58d9a12b2c..7718fef2f4 100644 --- a/plugin/ims_lti/lang/french.php +++ b/plugin/ims_lti/lang/french.php @@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'URL de démarrage (Launch URL)'; $strings['ConsumerKey'] = 'Clef consommateur (Consumer key)'; $strings['SharedSecret'] = 'Secret partagé (Shared secret)'; $strings['CustomParams'] = 'Paramètres personnalisés'; +$strings['CustomParamsHelp'] = 'Paramètres personnalisés requis par le fournisseur d\'outils. Format: nom=valeur.'; $strings['ToolName'] = 'Nom de l\'outil'; $strings['ToolNotAdded'] = 'Outil non ajouté'; $strings['AvailableTools'] = 'Outils disponibles'; @@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Éditer outil externe'; $strings['ToolDeleted'] = 'Outil supprimé'; $strings['ToolAdded'] = 'Outil ajouté'; $strings['PressToContinue'] = 'Appuyez sur pour continuer à l\'outil externe'; +$strings['ConfigureExternalTool'] = 'Configure external tools'; +$strings['SupportDeepLinking'] = 'Support Deep-Linking'; diff --git a/plugin/ims_lti/lang/spanish.php b/plugin/ims_lti/lang/spanish.php index b659afe473..8fcc09e2f7 100644 --- a/plugin/ims_lti/lang/spanish.php +++ b/plugin/ims_lti/lang/spanish.php @@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'URL de arranque (launch URL)'; $strings['ConsumerKey'] = 'Clave consumidor (consumer key)'; $strings['SharedSecret'] = 'Secreto compartido (shared secret)'; $strings['CustomParams'] = 'Parámetros personalizados'; +$strings['CustomParamsHelp'] = 'Parámetros personalizados requeridos por el Proveedor de la Herramienta. Formato: name=value.'; $strings['ToolName'] = 'Nombre de la herramienta'; $strings['ToolNotAdded'] = 'Herramienta no añadida'; $strings['AvailableTools'] = 'Herramientas disponibles'; @@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Editar herramienta externa'; $strings['ToolDeleted'] = 'Herramienta eliminada'; $strings['ToolAdded'] = 'Herramienta agregada'; $strings['PressToContinue'] = 'Presione para continuar con la herramienta externa'; +$strings['ConfigureExternalTool'] = 'Configure external tools'; +$strings['SupportDeepLinking'] = 'Support Deep-Linking'; diff --git a/plugin/ims_lti/view/add.tpl b/plugin/ims_lti/view/add.tpl index 3b577f1290..f112cb50c0 100644 --- a/plugin/ims_lti/view/add.tpl +++ b/plugin/ims_lti/view/add.tpl @@ -1,7 +1,7 @@
{% if tools|length %}
- +

{{ 'AvailableTools'|get_plugin_lang('ImsLtiPlugin') }}

{% endif %} -
- + +
+ {% if tools|length == 0 %} +

{{ 'ToolSettings'|get_plugin_lang('ImsLtiPlugin') }}

+ {% endif %} + {{ form }}