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

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

@ -65,3 +65,4 @@ $strings['AuthUrl'] = 'OIDC Auth URL';
$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';

@ -36,3 +36,4 @@ $strings['ShareLauncherPicture'] = 'Share launcher\'s picture';
$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';

@ -38,3 +38,4 @@ $strings['ToolAddedOnCourseX'] = 'Herramienta agregada en el curso <strong>%s</s
$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['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->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'),

@ -104,15 +104,40 @@ class FrmEdit extends FormValidator
}
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'),

Loading…
Cancel
Save