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…
Reference in New Issue