MDL-59758 core_user: Pluralise bulk actions
authorDamyon Wiese <damyon@moodle.com>
Tue, 7 Nov 2017 06:35:50 +0000 (14:35 +0800)
committerDamyon Wiese <damyon@moodle.com>
Tue, 7 Nov 2017 06:39:04 +0000 (14:39 +0800)
Don't say 1 people.

lang/en/message.php
lang/en/notes.php
notes/tests/behat/participants_notes.feature
user/amd/build/participants.min.js
user/amd/src/participants.js

index ab3e90d..91eac47 100644 (file)
@@ -112,7 +112,9 @@ $string['sendingvia'] = 'Sending "{$a->provider}" via "{$a->processor}"';
 $string['sendingviawhen'] = 'Sending "{$a->provider}" via "{$a->processor}" when {$a->state}';
 $string['sendmessage'] = 'Send message';
 $string['sendbulkmessage'] = 'Send message to {$a} people';
-$string['sendbulkmessagesent'] = 'Message sent to {$a} people.';
+$string['sendbulkmessagesingle'] = 'Send message to 1 person';
+$string['sendbulkmessagesent'] = 'Message sent to {$a} people';
+$string['sendbulkmessagesentsingle'] = 'Message sent to 1 person';
 $string['sendmessageto'] = 'Send message to {$a}';
 $string['sendmessagetopopup'] = 'Send message to {$a} - new window';
 $string['settings'] = 'Settings';
index efc196c..c2b388d 100644 (file)
@@ -25,7 +25,9 @@
 
 $string['addnewnote'] = 'Add a new note';
 $string['addbulknote'] = 'Add a new note to {$a} people';
+$string['addbulknotesingle'] = 'Add a new note to 1 person';
 $string['addbulknotedone'] = 'Note added to {$a} people';
+$string['addbulknotedonesingle'] = 'Note added to 1 person';
 $string['addnewnoteselect'] = 'Select users to write notes about';
 $string['bynameondate'] = 'by {$a->name} - {$a->date}';
 $string['configenablenotes'] = 'Enable storing of notes about individual users.';
index a2df671..58f7c2a 100644 (file)
@@ -36,17 +36,17 @@ Feature: Add notes to course participants
     And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 1')]//input[@type='checkbox']" to "1"
     And I choose "Add a new note" from the participants page bulk action menu
     And I set the field "bulk-note" to "Student 1 needs to pick up his game"
-    And I press "Add a new note to 1 people"
+    And I press "Add a new note to 1 person"
     And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 1')]//input[@type='checkbox']" to "0"
     And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 2')]//input[@type='checkbox']" to "1"
     And I choose "Add a new note" from the participants page bulk action menu
     And I set the field "bulk-note" to ""
-    And I press "Add a new note to 1 people"
+    And I press "Add a new note to 1 person"
     And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 2')]//input[@type='checkbox']" to "0"
     And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 3')]//input[@type='checkbox']" to "1"
     And I choose "Add a new note" from the participants page bulk action menu
     And I set the field "bulk-note" to "  "
-    And I press "Add a new note to 1 people"
+    And I press "Add a new note to 1 person"
     And I follow "Student 1"
     And I follow "Notes"
     # Student 1 has note from Teacher
index 267d51d..6831b7a 100644 (file)
Binary files a/user/amd/build/participants.min.js and b/user/amd/build/participants.min.js differ
index 9fc7a59..afada89 100644 (file)
@@ -151,13 +151,19 @@ define(['jquery', 'core/str', 'core/modal_factory', 'core/modal_events', 'core/t
         }
 
         var context = {stateNames: states, stateHelpIcon: this.stateHelpIcon};
+        var titlePromise = null;
+        if (users.length == 1) {
+            titlePromise = Str.get_string('addbulknotesingle', 'core_notes');
+        } else {
+            titlePromise = Str.get_string('addbulknote', 'core_notes', users.length);
+        }
 
         return $.when(
             ModalFactory.create({
                 type: ModalFactory.types.SAVE_CANCEL,
                 body: Templates.render('core_user/add_bulk_note', context)
             }),
-            Str.get_string('addbulknote', 'core_notes', users.length)
+            titlePromise
         ).then(function(modal, title) {
             // Keep a reference to the modal.
             this.modal = modal;
@@ -205,7 +211,11 @@ define(['jquery', 'core/str', 'core/modal_factory', 'core/modal_events', 'core/t
             methodname: 'core_notes_create_notes',
             args: {notes: notes}
         }])[0].then(function(noteIds) {
-            return Str.get_string('addbulknotedone', 'core_notes', noteIds.length);
+            if (noteIds.length == 1) {
+                return Str.get_string('addbulknotedonesingle', 'core_notes');
+            } else {
+                return Str.get_string('addbulknotedone', 'core_notes', noteIds.length);
+            }
         }).then(function(msg) {
             Notification.addNotification({
                 message: msg,
@@ -229,14 +239,19 @@ define(['jquery', 'core/str', 'core/modal_factory', 'core/modal_events', 'core/t
             // Nothing to do.
             return $.Deferred().resolve().promise();
         }
-        var bodyPromise = Templates.render('core_user/send_bulk_message', {});
+        var titlePromise = null;
+        if (users.length == 1) {
+            titlePromise = Str.get_string('sendbulkmessagesingle', 'core_message');
+        } else {
+            titlePromise = Str.get_string('sendbulkmessage', 'core_message', users.length);
+        }
 
         return $.when(
             ModalFactory.create({
                 type: ModalFactory.types.SAVE_CANCEL,
-                body: bodyPromise
+                body: Templates.render('core_user/send_bulk_message', {})
             }),
-            Str.get_string('sendbulkmessage', 'core_message', users.length)
+            titlePromise
         ).then(function(modal, title) {
             // Keep a reference to the modal.
             this.modal = modal;
@@ -282,7 +297,11 @@ define(['jquery', 'core/str', 'core/modal_factory', 'core/modal_events', 'core/t
             methodname: 'core_message_send_instant_messages',
             args: {messages: messages}
         }])[0].then(function(messageIds) {
-            return Str.get_string('sendbulkmessagesent', 'core_message', messageIds.length);
+            if (messageIds.length == 1) {
+                return Str.get_string('sendbulkmessagesentsingle', 'core_message');
+            } else {
+                return Str.get_string('sendbulkmessagesent', 'core_message', messageIds.length);
+            }
         }).then(function(msg) {
             Notification.addNotification({
                 message: msg,