forked from EVOgeek/Vmeda.Online
		
	
						commit
						8c97b6fe32
					
				| @ -496,7 +496,7 @@ | ||||
|   "addon.mod_chat.nosessionsfound": "local_moodlemobileapp", | ||||
|   "addon.mod_chat.saidto": "chat", | ||||
|   "addon.mod_chat.send": "chat", | ||||
|   "addon.mod_chat.sessionstart": "chat", | ||||
|   "addon.mod_chat.sessionstartsin": "chat", | ||||
|   "addon.mod_chat.showincompletesessions": "local_moodlemobileapp", | ||||
|   "addon.mod_chat.talk": "chat", | ||||
|   "addon.mod_chat.viewreport": "chat", | ||||
|  | ||||
| @ -22,7 +22,7 @@ function copy_lang { | ||||
|     lang=$1 | ||||
| 
 | ||||
|     index_keys=$(jq -r 'to_entries[] | "\"\(.key)\","' langindex.json) | ||||
|     index_keys=${index_keys:0:-1} | ||||
|     index_keys=${index_keys:0:${#index_keys}-1} | ||||
| 
 | ||||
|     hyphenlang=${lang/_/-} | ||||
|     langfilepath=$LANG_PATH/$hyphenlang.json | ||||
|  | ||||
| @ -200,13 +200,21 @@ | ||||
|                                         {{ 'addon.mod_assign.editsubmission' | translate }} | ||||
|                                     </ion-button> | ||||
|                                 </ng-container> | ||||
|                                 <ion-item class="core-danger-item ion-text-wrap" *ngIf="(unsupportedEditPlugins | ||||
|                                     && unsupportedEditPlugins.length && !showErrorStatementEdit)|| showErrorStatementEdit"> | ||||
|                                 <ion-item class="core-danger-item ion-text-wrap" | ||||
|                                     *ngIf="(unsupportedEditPlugins.length && !showErrorStatementEdit)|| showErrorStatementEdit"> | ||||
|                                     <ion-label> | ||||
|                                         <ng-container | ||||
|                                             *ngIf="unsupportedEditPlugins && unsupportedEditPlugins.length && !showErrorStatementEdit"> | ||||
|                                             <p>{{ 'addon.mod_assign.erroreditpluginsnotsupported' | translate }}</p> | ||||
|                                             <p *ngFor="let name of unsupportedEditPlugins">{{ name }}</p> | ||||
|                                             <ul> | ||||
|                                                 <li *ngFor="let name of unsupportedEditPlugins">{{ name }}</li> | ||||
|                                             </ul> | ||||
|                                             <ion-button expand="block" *ngIf="submissionUrl" [href]="submissionUrl" core-link | ||||
|                                                 [showBrowserWarning]="false"> | ||||
|                                                 {{ 'core.openinbrowser' | translate }} | ||||
|                                                 <ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon> | ||||
|                                             </ion-button> | ||||
| 
 | ||||
|                                         </ng-container> | ||||
|                                         <ng-container *ngIf="showErrorStatementEdit"> | ||||
|                                             <p>{{ 'addon.mod_assign.cannoteditduetostatementsubmission' | translate }}</p> | ||||
|  | ||||
| @ -127,6 +127,7 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can | ||||
|     canSaveGrades = false; // Whether the user can save the grades.
 | ||||
|     allowAddAttempt = false; // Allow adding a new attempt when grading.
 | ||||
|     gradeUrl?: string; // URL to grade in browser.
 | ||||
|     submissionUrl?: string; // URL to add/edit a submission in browser.
 | ||||
|     isPreviousAttemptEmpty = true; // Whether the previous attempt contains an empty submission.
 | ||||
|     showDates = false; // Whether to show some dates.
 | ||||
|     timeLimitFinished = false; // Whether there is a time limit and it finished, so the user will submit late.
 | ||||
| @ -793,6 +794,12 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy, Can | ||||
|      */ | ||||
|     protected async loadUnsupportedPlugins(): Promise<void> { | ||||
|         this.unsupportedEditPlugins = await AddonModAssign.getUnsupportedEditPlugins(this.userSubmission?.plugins || []); | ||||
| 
 | ||||
|         if (this.unsupportedEditPlugins && !this.submissionUrl) { | ||||
|             const mod = await CoreCourse.getModule(this.moduleId, this.courseId, undefined, true); | ||||
|             this.submissionUrl = `${mod.url}&action=editsubmission`; | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | ||||
| @ -13,10 +13,10 @@ | ||||
|         [courseId]="courseId" (completionChanged)="onCompletionChange()"> | ||||
|     </core-course-module-info> | ||||
| 
 | ||||
|     <ion-card *ngIf="chatInfo" class="core-info-card"> | ||||
|     <ion-card *ngIf="chatTime" class="core-info-card"> | ||||
|         <ion-item> | ||||
|             <ion-icon name="fas-clock" slot="start" aria-hidden="true"></ion-icon> | ||||
|             <ion-label>{{ 'addon.mod_chat.sessionstart' | translate:{$a: chatInfo} }}</ion-label> | ||||
|             <ion-label>{{ 'addon.mod_chat.sessionstartsin' | translate:{$a: chatTime} }}</ion-label> | ||||
|         </ion-item> | ||||
|     </ion-card> | ||||
| 
 | ||||
|  | ||||
| @ -34,10 +34,7 @@ export class AddonModChatIndexComponent extends CoreCourseModuleMainActivityComp | ||||
|     component = AddonModChatProvider.COMPONENT; | ||||
|     pluginName = 'chat'; | ||||
|     chat?: AddonModChatChat; | ||||
|     chatInfo?: { | ||||
|         date: string; | ||||
|         fromnow: string; | ||||
|     }; | ||||
|     chatTime?: string; | ||||
| 
 | ||||
|     constructor( | ||||
|         protected content?: IonContent, | ||||
| @ -62,17 +59,11 @@ export class AddonModChatIndexComponent extends CoreCourseModuleMainActivityComp | ||||
|         this.chat = await AddonModChat.getChat(this.courseId, this.module.id); | ||||
| 
 | ||||
|         this.description = this.chat.intro; | ||||
|         const now = CoreTimeUtils.timestamp(); | ||||
|         const span = (this.chat.chattime || 0) - now; | ||||
|         const chatTimeSeconds = (this.chat.chattime || 0) - CoreTimeUtils.timestamp(); | ||||
| 
 | ||||
|         if (this.chat.chattime && this.chat.schedule && span > 0) { | ||||
|             this.chatInfo = { | ||||
|                 date: CoreTimeUtils.userDate(this.chat.chattime * 1000), | ||||
|                 fromnow: CoreTime.formatTime(span), | ||||
|             }; | ||||
|         } else { | ||||
|             this.chatInfo = undefined; | ||||
|         } | ||||
|         this.chatTime = this.chat.schedule && chatTimeSeconds > 0 | ||||
|             ? CoreTime.formatTime(chatTimeSeconds) | ||||
|             : undefined; | ||||
| 
 | ||||
|         this.dataRetrieved.emit(this.chat); | ||||
|     } | ||||
|  | ||||
| @ -22,7 +22,7 @@ | ||||
|     "nosessionsfound": "No sessions found", | ||||
|     "saidto": "said to", | ||||
|     "send": "Send", | ||||
|     "sessionstart": "The next chat session will start on {{$a.date}}, ({{$a.fromnow}} from now)", | ||||
|     "sessionstartsin": "The next chat session will start {{$a}} from now.", | ||||
|     "showincompletesessions": "Show incomplete sessions", | ||||
|     "talk": "Talk", | ||||
|     "viewreport": "Past sessions" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user