LTI: Avoid use AGS when there is no gradebook - refs BT#16379

pull/3114/head
Angel Fernando Quiroz Campos 6 years ago
parent d53958f7c0
commit fa33f5be0e
  1. 8
      plugin/ims_lti/configure.php
  2. 4
      plugin/ims_lti/edit.php
  3. 1
      plugin/ims_lti/lang/english.php
  4. 1
      plugin/ims_lti/lang/french.php
  5. 3
      plugin/ims_lti/lang/spanish.php
  6. 44
      plugin/ims_lti/src/Form/FrmAdd.php
  7. 43
      plugin/ims_lti/src/Form/FrmEdit.php

@ -79,7 +79,9 @@ switch ($action) {
->setRedirectUrl($formValues['redirect_url']) ->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices( ->setAdvantageServices(
[ [
'ags' => $formValues['1p3_ags'], 'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'], 'nrps' => $formValues['1p3_nrps'],
] ]
); );
@ -200,7 +202,9 @@ switch ($action) {
->setRedirectUrl($formValues['redirect_url']) ->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices( ->setAdvantageServices(
[ [
'ags' => $formValues['1p3_ags'], 'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'], 'nrps' => $formValues['1p3_nrps'],
] ]
); );

@ -66,7 +66,9 @@ if ($form->validate()) {
->setRedirectUrl($formValues['redirect_url']) ->setRedirectUrl($formValues['redirect_url'])
->setAdvantageServices( ->setAdvantageServices(
[ [
'ags' => $formValues['1p3_ags'], 'ags' => isset($formValues['1p3_ags'])
? $formValues['1p3_ags']
: LtiAssignmentGradesService::AGS_NONE,
'nrps' => $formValues['1p3_nrps'], 'nrps' => $formValues['1p3_nrps'],
] ]
) )

@ -65,3 +65,4 @@ $strings['AuthUrl'] = 'OIDC Auth URL';
$strings['TokenUrl'] = 'OAuth2 Access Token URL'; $strings['TokenUrl'] = 'OAuth2 Access Token URL';
$strings['KeySetUrl'] = 'Keyset URL'; $strings['KeySetUrl'] = 'Keyset URL';
$strings['NamesAndRoleProvisioningService'] = 'Names and Role Provisioning Service'; $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';

@ -36,3 +36,4 @@ $strings['ShareLauncherPicture'] = 'Share launcher\'s picture';
$strings['NoTool'] = 'Tool not exists'; $strings['NoTool'] = 'Tool not exists';
$strings['ToolAddedOnCourseX'] = 'Tool addeed on course <strong>%s</strong>.'; $strings['ToolAddedOnCourseX'] = 'Tool addeed on course <strong>%s</strong>.';
$strings['SupportDeppLinkingHelp'] = 'Contact your Tool Provider to verify if Deep Linking support is mandatory'; $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';

@ -37,4 +37,5 @@ $strings['NoTool'] = 'La herramienta no existe';
$strings['ToolAddedOnCourseX'] = 'Herramienta agregada en el curso <strong>%s</strong>.'; $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['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['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';

@ -92,16 +92,42 @@ class FrmAdd extends FormValidator
); );
} }
$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->addHtml('<div class="'.ImsLti::V_1P3.'" style="display: none;">');
$this->addRadio(
'1p3_ags', if ($showAGS) {
$plugin->get_lang('AssigmentAndGradesService'), $this->addRadio(
[ '1p3_ags',
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'), $plugin->get_lang('AssigmentAndGradesService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'), [
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'), 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( $this->addRadio(
'1p3_nrps', '1p3_nrps',
$plugin->get_lang('NamesAndRoleProvisioningService'), $plugin->get_lang('NamesAndRoleProvisioningService'),

@ -104,15 +104,40 @@ class FrmEdit extends FormValidator
} }
if (null === $parent && $this->tool->getVersion() === ImsLti::V_1P3) { if (null === $parent && $this->tool->getVersion() === ImsLti::V_1P3) {
$this->addRadio( $showAGS = false;
'1p3_ags',
$plugin->get_lang('AssigmentAndGradesService'), if (api_get_course_int_id()) {
[ $caterories = Category::load(null, null, api_get_course_id());
LtiAssignmentGradesService::AGS_NONE => $plugin->get_lang('DontUseService'),
LtiAssignmentGradesService::AGS_SIMPLE => $plugin->get_lang('AGServiceSimple'), if (!empty($caterories)) {
LtiAssignmentGradesService::AGS_FULL => $plugin->get_lang('AGServiceFull'), $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( $this->addRadio(
'1p3_nrps', '1p3_nrps',
$plugin->get_lang('NamesAndRoleProvisioningService'), $plugin->get_lang('NamesAndRoleProvisioningService'),

Loading…
Cancel
Save