Skip to content

Commit

Permalink
LTI: Avoid use AGS when there is no gradebook - refs BT#16379
Browse files Browse the repository at this point in the history
  • Loading branch information
AngelFQC committed Mar 9, 2020
1 parent d53958f commit fa33f5b
Show file tree
Hide file tree
Showing 7 changed files with 82 additions and 22 deletions.
8 changes: 6 additions & 2 deletions plugin/ims_lti/configure.php
Expand Up @@ -79,7 +79,9 @@
->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices(
[
'ags' => $formValues['1p3_ags'],
'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'],
]
);
Expand Down Expand Up @@ -200,7 +202,9 @@
->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices(
[
'ags' => $formValues['1p3_ags'],
'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'],
]
);
Expand Down
4 changes: 3 additions & 1 deletion plugin/ims_lti/edit.php
Expand Up @@ -66,7 +66,9 @@
->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices(
[
'ags' => $formValues['1p3_ags'],
'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'],
]
)
Expand Down
1 change: 1 addition & 0 deletions plugin/ims_lti/lang/english.php
Expand Up @@ -65,3 +65,4 @@
$strings['TokenUrl'] = 'OAuth2 Access Token URL';
$strings['KeySetUrl'] = 'Keyset URL';
$strings['NamesAndRoleProvisioningService'] = 'Names and Role Provisioning Service';
$strings['YouNeedCreateTheGradebokInCourseFirst'] = 'You must first create the course gradebook to use this service by following this link %s';
1 change: 1 addition & 0 deletions plugin/ims_lti/lang/french.php
Expand Up @@ -36,3 +36,4 @@
$strings['NoTool'] = 'Tool not exists';
$strings['ToolAddedOnCourseX'] = 'Tool addeed on course <strong>%s</strong>.';
$strings['SupportDeppLinkingHelp'] = 'Contact your Tool Provider to verify if Deep Linking support is mandatory';
$strings['YouNeedCreateTheGradebokInCourseFirst'] = 'You must first create the course gradebook to use this service by following this link %s';
3 changes: 2 additions & 1 deletion plugin/ims_lti/lang/spanish.php
Expand Up @@ -37,4 +37,5 @@
$strings['ToolAddedOnCourseX'] = 'Herramienta agregada en el curso <strong>%s</strong>.';
$strings['SupportDeppLinkingHelp'] = 'Contacte a su Proveedor de Herramienta para verificar si el soporte a Deep Linking es obligatorio';
$strings['NoAccessToUrl'] = 'Sin acceso a la URL';
$strings['LaunchUrlNotFound'] = 'URL de lanzamiento no encontrada';
$strings['LaunchUrlNotFound'] = 'URL de lanzamiento no encontrada';
$strings['YouNeedCreateTheGradebokInCourseFirst'] = 'Debe crear el libro de calificaciones del curso para usar este servicio siguiendo este enlace %s';
44 changes: 35 additions & 9 deletions plugin/ims_lti/src/Form/FrmAdd.php
Expand Up @@ -92,16 +92,42 @@ public function build()
);
}

$showAGS = false;

if (api_get_course_int_id()) {
$caterories = Category::load(null, null, api_get_course_id());

if (!empty($caterories)) {
$showAGS = true;
}
} else {
$showAGS = true;
}

$this->addHtml('<div class="'.ImsLti::V_1P3.'" style="display: none;">');
$this->addRadio(
'1p3_ags',
$plugin->get_lang('AssigmentAndGradesService'),
[
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'),
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'),
]
);

if ($showAGS) {
$this->addRadio(
'1p3_ags',
$plugin->get_lang('AssigmentAndGradesService'),
[
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'),
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'),
]
);
} else {
$gradebookUrl = api_get_path(WEB_CODE_PATH).'gradebook/index.php?'.api_get_cidreq();

$this->addLabel(
$plugin->get_lang('AssigmentAndGradesService'),
sprintf(
$plugin->get_lang('YouNeedCreateTheGradebokInCourseFirst'),
Display::url($gradebookUrl, $gradebookUrl)
)
);
}

$this->addRadio(
'1p3_nrps',
$plugin->get_lang('NamesAndRoleProvisioningService'),
Expand Down
43 changes: 34 additions & 9 deletions plugin/ims_lti/src/Form/FrmEdit.php
Expand Up @@ -104,15 +104,40 @@ public function build($globalMode = true)
}

if (null === $parent && $this->tool->getVersion() === ImsLti::V_1P3) {
$this->addRadio(
'1p3_ags',
$plugin->get_lang('AssigmentAndGradesService'),
[
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'),
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'),
]
);
$showAGS = false;

if (api_get_course_int_id()) {
$caterories = Category::load(null, null, api_get_course_id());

if (!empty($caterories)) {
$showAGS = true;
}
} else {
$showAGS = true;
}

if ($showAGS) {
$this->addRadio(
'1p3_ags',
$plugin->get_lang('AssigmentAndGradesService'),
[
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'),
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'),
]
);
} else {
$gradebookUrl = api_get_path(WEB_CODE_PATH).'gradebook/index.php?'.api_get_cidreq();

$this->addLabel(
$plugin->get_lang('AssigmentAndGradesService'),
sprintf(
$plugin->get_lang('YouNeedCreateTheGradebokInCourseFirst'),
Display::url($gradebookUrl, $gradebookUrl)
)
);
}

$this->addRadio(
'1p3_nrps',
$plugin->get_lang('NamesAndRoleProvisioningService'),
Expand Down

0 comments on commit fa33f5b

Please sign in to comment.