|
28 | 28 | * ------------------------------------------------------------------------- |
29 | 29 | */ |
30 | 30 |
|
| 31 | +use Glpi\Application\View\TemplateRenderer; |
31 | 32 | use GlpiPlugin\Oauthimap\MailCollectorFeature; |
32 | 33 | use GlpiPlugin\Oauthimap\Provider\Azure; |
33 | 34 | use GlpiPlugin\Oauthimap\Provider\Google; |
@@ -287,53 +288,17 @@ public static function showFormExtra(int $id): void |
287 | 288 |
|
288 | 289 | $documentation_urls_json = json_encode(self::getProvidersDocumentationUrls()); |
289 | 290 |
|
290 | | - // Display/hide additionnal params and update documentation link depending on selected provider |
291 | | - $additionnal_params_js = <<<JAVASCRIPT |
292 | | - (function($) { |
293 | | - var documentation_urls = {$documentation_urls_json}; |
| 291 | + $callback_url = self::getCallbackUrl(); |
294 | 292 |
|
295 | | - var updateDocumentationLink = function () { |
296 | | - var provider = $('#dropdown_provider{$rand}').val(); |
297 | | -
|
298 | | - var url = documentation_urls.hasOwnProperty(provider) |
299 | | - ? documentation_urls[provider] |
300 | | - : null; |
301 | | -
|
302 | | - $('.help-link').attr('href', url).toggle(url !== null); |
303 | | - }; |
304 | | -
|
305 | | - var onProviderChange = function () { |
306 | | - var provider = $.escapeSelector($(this).val()); // escape selector as it contains slashes |
307 | | - $('[data-provider="' + provider + '"]').closest('.form-field').show(); |
308 | | - $('[data-provider]:not([data-provider="' + provider + '"])').closest('.form-field').hide(); |
309 | | -
|
310 | | - updateDocumentationLink(); |
311 | | - }; |
312 | | -
|
313 | | - $('#dropdown_provider{$rand}').change(onProviderChange); |
314 | | - onProviderChange.call($('#dropdown_provider{$rand}')); |
315 | | - })(jQuery); |
316 | | -JAVASCRIPT; |
317 | | - |
318 | | - echo '<div class="form-field row col-12 col-sm-6 mb-2">'; |
319 | | - echo Html::scriptBlock($additionnal_params_js); |
320 | | - echo '<label class="col-form-label col-xxl-5 text-xxl-end" for="_callback_url_' . $rand . '">'; |
321 | | - echo __('Callback url', 'oauthimap'); |
322 | | - echo ' <i class="fa fa-info pointer" title="' . __('copy it in the management console of provider', 'oauthimap') . '"></i>'; |
323 | | - echo '</label>'; |
324 | | - echo '<div class="col-xxl-7 field-container">'; |
325 | | - echo '<div class="input-group flex-grow-1 copy_to_clipboard_wrapper">'; |
326 | | - echo Html::input( |
327 | | - '', |
| 293 | + echo TemplateRenderer::getInstance()->render( |
| 294 | + '@oauthimap/application_form_extra.html.twig', |
328 | 295 | [ |
329 | | - 'value' => self::getCallbackUrl(), |
330 | | - 'readonly' => 'readonly', |
| 296 | + 'rand' => $rand, |
| 297 | + 'callback_url' => $callback_url, |
| 298 | + 'documentation_urls' => self::getProvidersDocumentationUrls(), |
| 299 | + 'documentation_urls_json' => $documentation_urls_json, |
331 | 300 | ], |
332 | 301 | ); |
333 | | - echo '<i class="input-group-text fa-lg pointer copy_to_clipboard_wrapper" role="button"></i>'; |
334 | | - echo '</div>'; |
335 | | - echo '</div>'; |
336 | | - echo '</div>'; |
337 | 302 | } |
338 | 303 |
|
339 | 304 | public function prepareInputForAdd($input) |
|
0 commit comments