diff --git a/src/addons/mod/assign/components/submission/submission.ts b/src/addons/mod/assign/components/submission/submission.ts index 4bf833519..9cd46da9f 100644 --- a/src/addons/mod/assign/components/submission/submission.ts +++ b/src/addons/mod/assign/components/submission/submission.ts @@ -1124,9 +1124,15 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can return []; } + // Receved submission statement should not be undefined. It would mean that the WS is not returning the value. const submissionStatementMissing = !!this.assign.requiresubmissionstatement && this.assign.submissionstatement === undefined; + // If received submission statement is empty, then it's not required. + if(!this.assign.submissionstatement && this.assign.submissionstatement !== undefined) { + this.assign.requiresubmissionstatement = 0; + } + this.canSubmit = !this.isSubmittedForGrading && !this.submittedOffline && (lastAttempt.cansubmit || (this.hasOffline && AddonModAssign.canSubmitOffline(this.assign, submissionStatus))); diff --git a/src/addons/mod/assign/pages/edit/edit.ts b/src/addons/mod/assign/pages/edit/edit.ts index b7677e451..1618d3918 100644 --- a/src/addons/mod/assign/pages/edit/edit.ts +++ b/src/addons/mod/assign/pages/edit/edit.ts @@ -205,6 +205,12 @@ export class AddonModAssignEditPage implements OnInit, OnDestroy, CanLeave { this.introAttachments = submissionStatus.assignmentdata?.attachments?.intro ?? this.assign.introattachments; this.allowOffline = true; // If offline isn't allowed we shouldn't have reached this point. + + // If received submission statement is empty, then it's not required. + if(!this.assign.submissionstatement && this.assign.submissionstatement !== undefined) { + this.assign.requiresubmissionstatement = 0; + } + // Only show submission statement if we are editing our own submission. if (this.assign.requiresubmissionstatement && !this.assign.submissiondrafts && this.userId == currentUserId) { this.submissionStatement = this.assign.submissionstatement;