Skip to content

Commit ac71d3f

Browse files
authored
Merge pull request #1822 from albertgasset/MOBILE-2915
Mobile 2915
2 parents 9a291e4 + d3ff082 commit ac71d3f

File tree

5 files changed

+24
-3
lines changed

5 files changed

+24
-3
lines changed

scripts/langindex.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@
344344
"addon.mod_assign_submission_comments.pluginname": "assignsubmission_comments",
345345
"addon.mod_assign_submission_file.pluginname": "assignsubmission_file",
346346
"addon.mod_assign_submission_onlinetext.pluginname": "assignsubmission_onlinetext",
347+
"addon.mod_assign_submission_onlinetext.wordlimitexceeded": "assignsubmission_onlinetext",
347348
"addon.mod_book.errorchapter": "book",
348349
"addon.mod_book.modulenameplural": "book",
349350
"addon.mod_book.toc": "book",

src/addon/mod/assign/providers/assign.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,9 +379,13 @@ export class AddonModAssignProvider {
379379
*
380380
* @param {any} assign Assign.
381381
* @param {any} attempt Attempt.
382-
* @return {any} Submission object.
382+
* @return {any} Submission object or null.
383383
*/
384384
getSubmissionObjectFromAttempt(assign: any, attempt: any): any {
385+
if (!attempt) {
386+
return null;
387+
}
388+
385389
return assign.teamsubmission ? attempt.teamsubmission : attempt.submission;
386390
}
387391

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"pluginname": "Online text submissions"
2+
"pluginname": "Online text submissions",
3+
"wordlimitexceeded": "The word limit for this assignment is {{$a.limit}} words and you are attempting to submit {{$a.count}} words. Please review your submission and try again."
34
}

src/addon/mod/assign/submission/onlinetext/providers/handler.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
// limitations under the License.
1515

1616
import { Injectable, Injector } from '@angular/core';
17+
import { TranslateService } from '@ngx-translate/core';
1718
import { CoreSitesProvider } from '@providers/sites';
1819
import { CoreWSProvider } from '@providers/ws';
1920
import { CoreTextUtilsProvider } from '@providers/utils/text';
@@ -31,7 +32,7 @@ export class AddonModAssignSubmissionOnlineTextHandler implements AddonModAssign
3132
name = 'AddonModAssignSubmissionOnlineTextHandler';
3233
type = 'onlinetext';
3334

34-
constructor(private sitesProvider: CoreSitesProvider, private wsProvider: CoreWSProvider,
35+
constructor(private translate: TranslateService, private sitesProvider: CoreSitesProvider, private wsProvider: CoreWSProvider,
3536
private textUtils: CoreTextUtilsProvider, private assignProvider: AddonModAssignProvider,
3637
private assignOfflineProvider: AddonModAssignOfflineProvider, private assignHelper: AddonModAssignHelperProvider) { }
3738

@@ -238,6 +239,19 @@ export class AddonModAssignSubmissionOnlineTextHandler implements AddonModAssign
238239

239240
let text = this.getTextToSubmit(plugin, inputData);
240241

242+
// Check word limit.
243+
const configs = this.assignHelper.getPluginConfig(assign, 'assignsubmission', plugin.type);
244+
if (parseInt(configs.wordlimitenabled, 10)) {
245+
const words = this.textUtils.countWords(text);
246+
const wordlimit = parseInt(configs.wordlimit, 10);
247+
if (words > wordlimit) {
248+
const params = {$a: {count: words, limit: wordlimit}};
249+
const message = this.translate.instant('addon.mod_assign_submission_onlinetext.wordlimitexceeded', params);
250+
251+
return Promise.reject(message);
252+
}
253+
}
254+
241255
// Add some HTML to the text if needed.
242256
text = this.textUtils.formatHtmlLines(text);
243257

src/assets/lang/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@
344344
"addon.mod_assign_submission_comments.pluginname": "Submission comments",
345345
"addon.mod_assign_submission_file.pluginname": "File submissions",
346346
"addon.mod_assign_submission_onlinetext.pluginname": "Online text submissions",
347+
"addon.mod_assign_submission_onlinetext.wordlimitexceeded": "The word limit for this assignment is {{$a.limit}} words and you are attempting to submit {{$a.count}} words. Please review your submission and try again.",
347348
"addon.mod_book.errorchapter": "Error reading chapter of book.",
348349
"addon.mod_book.modulenameplural": "Books",
349350
"addon.mod_book.toc": "Table of contents",

0 commit comments

Comments
 (0)