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

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

Loading…
Cancel
Save