Plugin: LTI: Add option to replicate tool as invisible - refs BT#17165

pull/3372/merge
Angel Fernando Quiroz Campos 5 years ago
parent 4bd6911c88
commit b0655d63a8
  1. 13
      plugin/ims_lti/ImsLtiPlugin.php
  2. 6
      plugin/ims_lti/multiply.php

@ -342,12 +342,13 @@ class ImsLtiPlugin extends Plugin
/**
* Add the course tool.
*
* @param Course $course
* @param Course $course
* @param ImsLtiTool $ltiTool
* @param bool $isVisible
*
* @throws \Doctrine\ORM\OptimisticLockException
*/
public function addCourseTool(Course $course, ImsLtiTool $ltiTool)
public function addCourseTool(Course $course, ImsLtiTool $ltiTool, $isVisible = true)
{
$cTool = $this->createLinkToCourseTool(
$ltiTool->getName(),
@ -355,9 +356,11 @@ class ImsLtiPlugin extends Plugin
null,
self::generateToolLink($ltiTool)
);
$cTool->setTarget(
$ltiTool->getDocumentTarget() === 'iframe' ? '_self' : '_blank'
);
$cTool
->setTarget(
$ltiTool->getDocumentTarget() === 'iframe' ? '_self' : '_blank'
)
->setVisibility($isVisible);
$em = Database::getManager();
$em->persist($cTool);

@ -55,12 +55,14 @@ try {
['url' => api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_course', 'multiple' => true]
);
$form->addCheckBox('all_courses', '', $plugin->get_lang('AddInAllCourses'));
$form->addCheckBox('tool_visible', get_lang('SetVisible'), get_lang('ToolIsNowVisible'));
$form->addButtonExport(get_lang('Save'));
if ($form->validate()) {
$em = Database::getManager();
$formValues = $form->exportValues();
$formValues['courses'] = empty($formValues['courses']) ? [] : $formValues['courses'];
$formValues['tool_visible'] = !empty($formValues['tool_visible']);
if (!empty($formValues['all_courses'])) {
$courseList = Database::select('id', Database::get_main_table(TABLE_MAIN_COURSE));
@ -108,7 +110,8 @@ try {
$plugin->addCourseTool(
api_get_course_entity($newSelectedCourseId),
$newTool
$newTool,
$formValues['tool_visible']
);
}
}
@ -124,6 +127,7 @@ try {
$form->setDefaults(
[
'courses' => $selectedCoursesIds,
'tool_visible' => true,
]
);
$form->protect();

Loading…
Cancel
Save