Ims LTI Improve view when adding tool - refs BT#13469

pull/2729/head
Angel Fernando Quiroz Campos 7 years ago
parent c18da6398a
commit ef73036ad6
  1. 2
      plugin/ims_lti/ImsLtiPlugin.php
  2. 24
      plugin/ims_lti/add.php
  3. 13
      plugin/ims_lti/create.php
  4. 11
      plugin/ims_lti/edit.php
  5. 3
      plugin/ims_lti/lang/english.php
  6. 3
      plugin/ims_lti/lang/french.php
  7. 3
      plugin/ims_lti/lang/spanish.php
  8. 10
      plugin/ims_lti/view/add.tpl

@ -175,7 +175,7 @@ class ImsLtiPlugin extends Plugin
private function setCourseSettings() private function setCourseSettings()
{ {
$button = Display::toolbarButton( $button = Display::toolbarButton(
$this->get_lang('AddExternalTool'), $this->get_lang('ConfigureExternalTool'),
api_get_path(WEB_PLUGIN_PATH).'ims_lti/add.php?'.api_get_cidreq(), api_get_path(WEB_PLUGIN_PATH).'ims_lti/add.php?'.api_get_cidreq(),
'cog', 'cog',
'primary' 'primary'

@ -30,24 +30,36 @@ if ($baseTool && !$baseTool->isGlobal()) {
} }
$form = new FormValidator('ims_lti_add_tool'); $form = new FormValidator('ims_lti_add_tool');
$form->addHeader($plugin->get_lang('ToolSettings'));
if ($baseTool) { if ($baseTool) {
$form->addHtml('<p class="lead">'.Security::remove_XSS($baseTool->getDescription()).'</p>'); $form->addHtml('<p class="lead">'.Security::remove_XSS($baseTool->getDescription()).'</p>');
} }
$form->addText('name', get_lang('Title')); $form->addText('name', get_lang('Title'));
$form->addTextarea('description', get_lang('Description'), ['rows' => 10]);
if (!$baseTool) { if (!$baseTool) {
$form->addElement('url', 'url', $plugin->get_lang('LaunchUrl')); $form->addElement('url', 'url', $plugin->get_lang('LaunchUrl'));
$form->addText('consumer_key', $plugin->get_lang('ConsumerKey'), true); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey'), true);
$form->addText('shared_secret', $plugin->get_lang('SharedSecret'), 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'); $form->addRule('url', get_lang('Required'), 'required');
} else { }
$form->addButtonAdvancedSettings('lti_adv');
$form->addHtml('<div id="lti_adv_options" style="display:none;">');
$form->addTextarea('description', get_lang('Description'), ['rows' => 3]);
if (!$baseTool) {
$form->addTextarea('custom_params', [$plugin->get_lang('CustomParams'), $plugin->get_lang('CustomParamsHelp')]);
$form->addCheckBox('deep_linking', $plugin->get_lang('SupportDeepLinking'), get_lang('Yes'));
}
if ($baseTool) {
$form->addHidden('type', $baseTool->getId()); $form->addHidden('type', $baseTool->getId());
} }
$form->addHtml('</div>');
$form->addButtonCreate($plugin->get_lang('AddExternalTool')); $form->addButtonCreate($plugin->get_lang('AddExternalTool'));
if ($form->validate()) { if ($form->validate()) {
@ -93,5 +105,11 @@ $template->assign('form', $form->returnForm());
$content = $template->fetch('ims_lti/view/add.tpl'); $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->assign('content', $content);
$template->display_one_col_template(); $template->display_one_col_template();

@ -17,8 +17,12 @@ $form->addText('name', get_lang('Name'));
$form->addText('base_url', $plugin->get_lang('LaunchUrl')); $form->addText('base_url', $plugin->get_lang('LaunchUrl'));
$form->addText('consumer_key', $plugin->get_lang('ConsumerKey')); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey'));
$form->addText('shared_secret', $plugin->get_lang('SharedSecret')); $form->addText('shared_secret', $plugin->get_lang('SharedSecret'));
$form->addTextarea('description', get_lang('Description'), ['rows' => 10]); $form->addButtonAdvancedSettings('lti_adv');
$form->addTextarea('custom_params', $plugin->get_lang('CustomParams')); $form->addHtml('<div id="lti_adv_options" style="display:none;">');
$form->addTextarea('description', get_lang('Description'), ['rows' => 3]);
$form->addTextarea('custom_params', [$plugin->get_lang('CustomParams'), $plugin->get_lang('CustomParamsHelp')]);
$form->addCheckBox('deep_linking', $plugin->get_lang('SupportDeepLinking'), get_lang('Yes'));
$form->addHtml('</div>');
$form->addButtonCreate($plugin->get_lang('AddExternalTool')); $form->addButtonCreate($plugin->get_lang('AddExternalTool'));
if ($form->validate()) { if ($form->validate()) {
@ -32,7 +36,10 @@ if ($form->validate()) {
->setConsumerKey($formValues['consumer_key']) ->setConsumerKey($formValues['consumer_key'])
->setSharedSecret($formValues['shared_secret']) ->setSharedSecret($formValues['shared_secret'])
->setCustomParams($formValues['custom_params']) ->setCustomParams($formValues['custom_params'])
->setIsGlobal(true); ->setIsGlobal(true)
->setActiveDeepLinking(
isset($formValues['deep_linking'])
);
$em->persist($externalTool); $em->persist($externalTool);
$em->flush(); $em->flush();

@ -31,11 +31,15 @@ if (!$tool) {
$form = new FormValidator('ims_lti_edit_tool'); $form = new FormValidator('ims_lti_edit_tool');
$form->addText('name', get_lang('Name')); $form->addText('name', get_lang('Name'));
$form->addTextarea('description', get_lang('Description'), ['rows' => 10]);
$form->addText('url', $plugin->get_lang('LaunchUrl')); $form->addText('url', $plugin->get_lang('LaunchUrl'));
$form->addText('consumer_key', $plugin->get_lang('ConsumerKey')); $form->addText('consumer_key', $plugin->get_lang('ConsumerKey'));
$form->addText('shared_secret', $plugin->get_lang('SharedSecret')); $form->addText('shared_secret', $plugin->get_lang('SharedSecret'));
$form->addTextarea('custom_params', $plugin->get_lang('CustomParams')); $form->addButtonAdvancedSettings('lti_adv');
$form->addHtml('<div id="lti_adv_options" style="display:none;">');
$form->addTextarea('description', get_lang('Description'), ['rows' => 3]);
$form->addTextarea('custom_params', [$plugin->get_lang('CustomParams'), $plugin->get_lang('CustomParamsHelp')]);
$form->addCheckBox('deep_linking', $plugin->get_lang('SupportDeepLinking'), get_lang('Yes'));
$form->addHtml('</div>');
$form->addButtonSave(get_lang('Save')); $form->addButtonSave(get_lang('Save'));
$form->addHidden('id', $tool->getId()); $form->addHidden('id', $tool->getId());
$form->setDefaults([ $form->setDefaults([
@ -44,7 +48,8 @@ $form->setDefaults([
'url' => $tool->getLaunchUrl(), 'url' => $tool->getLaunchUrl(),
'consumer_key' => $tool->getConsumerKey(), 'consumer_key' => $tool->getConsumerKey(),
'shared_secret' => $tool->getSharedSecret(), 'shared_secret' => $tool->getSharedSecret(),
'custom_params' => $tool->getCustomParams() 'custom_params' => $tool->getCustomParams(),
'deep_linking' => $tool->isActiveDeepLinking(),
]); ]);
if ($form->validate()) { if ($form->validate()) {

@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'Launch URL';
$strings['ConsumerKey'] = 'Consumer key'; $strings['ConsumerKey'] = 'Consumer key';
$strings['SharedSecret'] = 'Shared secret'; $strings['SharedSecret'] = 'Shared secret';
$strings['CustomParams'] = 'Custom params'; $strings['CustomParams'] = 'Custom params';
$strings['CustomParamsHelp'] = 'Custom params required by the Tool Provider. Format: <code>name=value</code>';
$strings['ToolName'] = 'Tool name'; $strings['ToolName'] = 'Tool name';
$strings['ToolNotAdded'] = 'Tool not added'; $strings['ToolNotAdded'] = 'Tool not added';
$strings['AvailableTools'] = 'Available tools'; $strings['AvailableTools'] = 'Available tools';
@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Edit external tool';
$strings['ToolDeleted'] = 'Tool deleted'; $strings['ToolDeleted'] = 'Tool deleted';
$strings['ToolAdded'] = 'Tool added'; $strings['ToolAdded'] = 'Tool added';
$strings['PressToContinue'] = 'Press to continue to external tool'; $strings['PressToContinue'] = 'Press to continue to external tool';
$strings['ConfigureExternalTool'] = 'Configure external tools';
$strings['SupportDeepLinking'] = 'Support Deep-Linking';

@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'URL de démarrage (Launch URL)';
$strings['ConsumerKey'] = 'Clef consommateur (Consumer key)'; $strings['ConsumerKey'] = 'Clef consommateur (Consumer key)';
$strings['SharedSecret'] = 'Secret partagé (Shared secret)'; $strings['SharedSecret'] = 'Secret partagé (Shared secret)';
$strings['CustomParams'] = 'Paramètres personnalisés'; $strings['CustomParams'] = 'Paramètres personnalisés';
$strings['CustomParamsHelp'] = 'Paramètres personnalisés requis par le fournisseur d\'outils. Format: <code>nom=valeur</code>.';
$strings['ToolName'] = 'Nom de l\'outil'; $strings['ToolName'] = 'Nom de l\'outil';
$strings['ToolNotAdded'] = 'Outil non ajouté'; $strings['ToolNotAdded'] = 'Outil non ajouté';
$strings['AvailableTools'] = 'Outils disponibles'; $strings['AvailableTools'] = 'Outils disponibles';
@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Éditer outil externe';
$strings['ToolDeleted'] = 'Outil supprimé'; $strings['ToolDeleted'] = 'Outil supprimé';
$strings['ToolAdded'] = 'Outil ajouté'; $strings['ToolAdded'] = 'Outil ajouté';
$strings['PressToContinue'] = 'Appuyez sur pour continuer à l\'outil externe'; $strings['PressToContinue'] = 'Appuyez sur pour continuer à l\'outil externe';
$strings['ConfigureExternalTool'] = 'Configure external tools';
$strings['SupportDeepLinking'] = 'Support Deep-Linking';

@ -13,6 +13,7 @@ $strings['LaunchUrl'] = 'URL de arranque (launch URL)';
$strings['ConsumerKey'] = 'Clave consumidor (consumer key)'; $strings['ConsumerKey'] = 'Clave consumidor (consumer key)';
$strings['SharedSecret'] = 'Secreto compartido (shared secret)'; $strings['SharedSecret'] = 'Secreto compartido (shared secret)';
$strings['CustomParams'] = 'Parámetros personalizados'; $strings['CustomParams'] = 'Parámetros personalizados';
$strings['CustomParamsHelp'] = 'Parámetros personalizados requeridos por el Proveedor de la Herramienta. Formato: <code>name=value</code>.';
$strings['ToolName'] = 'Nombre de la herramienta'; $strings['ToolName'] = 'Nombre de la herramienta';
$strings['ToolNotAdded'] = 'Herramienta no añadida'; $strings['ToolNotAdded'] = 'Herramienta no añadida';
$strings['AvailableTools'] = 'Herramientas disponibles'; $strings['AvailableTools'] = 'Herramientas disponibles';
@ -23,3 +24,5 @@ $strings['EditExternalTool'] = 'Editar herramienta externa';
$strings['ToolDeleted'] = 'Herramienta eliminada'; $strings['ToolDeleted'] = 'Herramienta eliminada';
$strings['ToolAdded'] = 'Herramienta agregada'; $strings['ToolAdded'] = 'Herramienta agregada';
$strings['PressToContinue'] = 'Presione para continuar con la herramienta externa'; $strings['PressToContinue'] = 'Presione para continuar con la herramienta externa';
$strings['ConfigureExternalTool'] = 'Configure external tools';
$strings['SupportDeepLinking'] = 'Support Deep-Linking';

@ -1,7 +1,7 @@
<div class="row"> <div class="row">
{% if tools|length %} {% if tools|length %}
<div class="col-sm-3"> <div class="col-sm-3">
<h2 class="page-header">{{ 'AvailableTools'|get_plugin_lang('ImsLtiPlugin') }}</h2> <h2>{{ 'AvailableTools'|get_plugin_lang('ImsLtiPlugin') }}</h2>
<ul class="nav nav-pills nav-stacked"> <ul class="nav nav-pills nav-stacked">
{% for tool in tools %} {% for tool in tools %}
<li class="{{ type == tool.id ? 'active' : '' }}"> <li class="{{ type == tool.id ? 'active' : '' }}">
@ -15,8 +15,12 @@
</ul> </ul>
</div> </div>
{% endif %} {% endif %}
<div class="col-sm-9 {{ tools|length ? '' : 'col-sm-offset-3' }}">
<h2 class="page-header">{{ 'ToolSettings'|get_plugin_lang('ImsLtiPlugin') }}</h2> <div class="{{ tools|length ? 'col-sm-9' : 'col-sm-12' }}">
{% if tools|length == 0 %}
<h2>{{ 'ToolSettings'|get_plugin_lang('ImsLtiPlugin') }}</h2>
{% endif %}
{{ form }} {{ form }}
</div> </div>
</div> </div>

Loading…
Cancel
Save