forked from EVOgeek/Vmeda.Online
		
	MOBILE-4382 assign: Use granted extensions on remaining time
Similar to 9eb1e4d7c0
			
			
This commit is contained in:
		
							parent
							
								
									6f5b68be64
								
							
						
					
					
						commit
						4ba3b560e4
					
				@ -218,14 +218,19 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can
 | 
			
		||||
 | 
			
		||||
        const time = CoreTimeUtils.timestamp();
 | 
			
		||||
        const timeLimitEnabled = this.assign.timelimit && submissionStarted;
 | 
			
		||||
        const dueDateReached = this.assign.duedate > 0 && this.assign.duedate - time <= 0;
 | 
			
		||||
 | 
			
		||||
        // Define duedate as latest between due date and extension - which is a possibility...
 | 
			
		||||
        const extensionDuedate = response.lastattempt?.extensionduedate;
 | 
			
		||||
        const duedate = extensionDuedate ? Math.max(this.assign.duedate, extensionDuedate) : this.assign.duedate;
 | 
			
		||||
        const dueDateReached = duedate > 0 && duedate - time <= 0;
 | 
			
		||||
 | 
			
		||||
        const timeLimitEnabledBeforeDueDate = timeLimitEnabled && !dueDateReached;
 | 
			
		||||
 | 
			
		||||
        if (this.userSubmission && this.userSubmission.status === AddonModAssignSubmissionStatusValues.SUBMITTED) {
 | 
			
		||||
            // Submitted, display the relevant early/late message.
 | 
			
		||||
            const lateCalculation = this.userSubmission.timemodified -
 | 
			
		||||
                (timeLimitEnabledBeforeDueDate ? this.userSubmission.timecreated : 0);
 | 
			
		||||
            const lateThreshold = timeLimitEnabledBeforeDueDate ? this.assign.timelimit || 0 : this.assign.duedate;
 | 
			
		||||
            const lateThreshold = timeLimitEnabledBeforeDueDate ? this.assign.timelimit || 0 : duedate;
 | 
			
		||||
            const earlyString = timeLimitEnabledBeforeDueDate ? 'submittedundertime' : 'submittedearly';
 | 
			
		||||
            const lateString = timeLimitEnabledBeforeDueDate ? 'submittedovertime' : 'submittedlate';
 | 
			
		||||
            const onTime = lateCalculation <= lateThreshold;
 | 
			
		||||
@ -244,7 +249,7 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can
 | 
			
		||||
            const submissionsEnabled = response.lastattempt?.submissionsenabled || response.gradingsummary?.submissionsenabled;
 | 
			
		||||
            this.timeRemaining = Translate.instant(
 | 
			
		||||
                'addon.mod_assign.' + (submissionsEnabled ? 'overdue' : 'duedatereached'),
 | 
			
		||||
                { $a: CoreTime.formatTime(time - this.assign.duedate) },
 | 
			
		||||
                { $a: CoreTime.formatTime(time - duedate) },
 | 
			
		||||
            );
 | 
			
		||||
            this.timeRemainingClass = 'overdue';
 | 
			
		||||
            this.timeLimitFinished = true;
 | 
			
		||||
@ -262,7 +267,7 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Assignment is not overdue, and no submission has been made. Just display the due date.
 | 
			
		||||
        this.timeRemaining = CoreTime.formatTime(this.assign.duedate - time);
 | 
			
		||||
        this.timeRemaining = CoreTime.formatTime(duedate - time);
 | 
			
		||||
        this.timeRemainingClass = 'timeremaining';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user