Merge branch 'development' of github.com:SafeExamBrowser/seb-server into SEBSLI-9
This commit is contained in:
commit
114313e207
3 changed files with 36 additions and 12 deletions
|
@ -148,9 +148,12 @@ public class SEBRestrictionServiceImpl implements SEBRestrictionService {
|
|||
// special Moodle plugin case for ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK
|
||||
this.lmsAPIService.getLmsSetup(exam.lmsSetupId).map(lms -> {
|
||||
if (lms.lmsType == LmsType.MOODLE_PLUGIN) {
|
||||
additionalAttributes.put(
|
||||
MoodleSEBRestriction.ATTR_ALT_BEK,
|
||||
exam.getAdditionalAttribute(ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK));
|
||||
final AdditionalAttributeRecord attr = this.additionalAttributesDAO.getAdditionalAttribute(
|
||||
EntityType.EXAM,
|
||||
exam.id,
|
||||
ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK)
|
||||
.getOrThrow();
|
||||
additionalAttributes.put(MoodleSEBRestriction.ATTR_ALT_BEK, attr.getValue());
|
||||
}
|
||||
return lms;
|
||||
});
|
||||
|
|
|
@ -202,18 +202,36 @@ public abstract class MoodleUtils {
|
|||
final boolean useQuizId) {
|
||||
|
||||
final Map<String, String> additionalAttrs = new HashMap<>();
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_CREATION_TIME, String.valueOf(courseData.time_created));
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_SHORT_NAME, courseData.short_name);
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_ID_NUMBER, courseData.idnumber);
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_FULL_NAME, courseData.full_name);
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_DISPLAY_NAME, courseData.display_name);
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_SUMMARY, courseData.summary);
|
||||
if (courseData.time_created != null) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_CREATION_TIME, String.valueOf(courseData.time_created));
|
||||
}
|
||||
if (courseData.short_name != null) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_SHORT_NAME, courseData.short_name);
|
||||
}
|
||||
if (courseData.idnumber != null) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_ID_NUMBER, courseData.idnumber);
|
||||
}
|
||||
if (StringUtils.isNotBlank(courseData.full_name)) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_FULL_NAME, courseData.full_name);
|
||||
}
|
||||
if (StringUtils.isNotBlank(courseData.display_name)) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_DISPLAY_NAME, courseData.display_name);
|
||||
}
|
||||
if (StringUtils.isNotBlank(courseData.summary)) {
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_SUMMARY, courseData.summary);
|
||||
}
|
||||
|
||||
final List<QuizData> courseAndQuiz = courseData.quizzes
|
||||
.stream()
|
||||
.map(courseQuizData -> {
|
||||
final String startURI = uriPrefix + courseQuizData.course_module;
|
||||
additionalAttrs.put(QuizData.ATTR_ADDITIONAL_TIME_LIMIT, String.valueOf(courseQuizData.time_limit));
|
||||
|
||||
additionalAttrs.put(
|
||||
QuizData.ATTR_ADDITIONAL_TIME_LIMIT,
|
||||
(courseQuizData.time_limit == null)
|
||||
? StringUtils.EMPTY
|
||||
: String.valueOf(courseQuizData.time_limit));
|
||||
|
||||
return new QuizData(
|
||||
MoodleUtils.getInternalQuizId(
|
||||
(useQuizId) ? courseQuizData.id : courseQuizData.course_module,
|
||||
|
|
|
@ -137,8 +137,11 @@ public class MoodlePluginCourseRestriction implements SEBRestrictionAPI {
|
|||
final ArrayList<String> configKeys = new ArrayList<>(sebRestrictionData.configKeys);
|
||||
final String quitLink = this.examConfigurationValueService.getQuitLink(exam.id);
|
||||
final String quitSecret = this.examConfigurationValueService.getQuitPassword(exam.id);
|
||||
final String additionalBEK = exam.getAdditionalAttribute(
|
||||
SEBRestrictionService.ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK);
|
||||
String additionalBEK = sebRestrictionData.additionalProperties.get(SEBRestrictionService.ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK);
|
||||
if (additionalBEK == null) {
|
||||
additionalBEK = exam.getAdditionalAttribute(
|
||||
SEBRestrictionService.ADDITIONAL_ATTR_ALTERNATIVE_SEB_BEK);
|
||||
}
|
||||
|
||||
if (additionalBEK != null && !beks.contains(additionalBEK)) {
|
||||
beks.add(additionalBEK);
|
||||
|
|
Loading…
Reference in a new issue