Selaa lähdekoodia

Also allow `@` in moderator commands

JC Brand 6 vuotta sitten
vanhempi
commit
fcc9e8c31b
2 muutettua tiedostoa jossa 7 lisäystä ja 4 poistoa
  1. 1 1
      spec/muc.js
  2. 6 3
      src/converse-muc-views.js

+ 1 - 1
spec/muc.js

@@ -3191,7 +3191,7 @@
                 // XXX: Calling onFormSubmitted directly, trying
                 // again via triggering Event doesn't work for some weird
                 // reason.
-                textarea.value = '/kick annoying guy You\'re annoying';
+                textarea.value = '/kick @annoying guy You\'re annoying';
                 view.onFormSubmitted(new Event('submit'));
 
                 expect(view.validateRoleOrAffiliationChangeArgs.calls.count()).toBe(2);

+ 6 - 3
src/converse-muc-views.js

@@ -921,7 +921,10 @@ converse.plugins.add('converse-muc-views', {
             },
 
             getNickOrJIDFromCommandArgs (args) {
-                const [text, references] = this.model.parseTextForReferences('@'+args);
+                if (!args.startsWith('@')) {
+                    args = '@'+ args;
+                }
+                const [text, references] = this.model.parseTextForReferences(args);
                 if (!references.length) {
                     this.showErrorMessage(__("Error: couldn't find a groupchat participant based on your arguments"));
                     return false;
@@ -944,7 +947,7 @@ converse.plugins.add('converse-muc-views', {
                 if (!nick_or_jid) {
                     return false;
                 }
-                const reason = args.slice(nick_or_jid.length).trim();
+                const reason = args.split(nick_or_jid, 2)[1].trim();
                 // We're guaranteed to have an occupant due to getNickOrJIDFromCommandArgs
                 const occupant = this.model.getOccupant(nick_or_jid);
                 const attrs = {
@@ -981,7 +984,7 @@ converse.plugins.add('converse-muc-views', {
                 if (!nick_or_jid) {
                     return false;
                 }
-                const reason = args.slice(nick_or_jid.length).trim();
+                const reason = args.split(nick_or_jid, 2)[1].trim();
                 // We're guaranteed to have an occupant due to getNickOrJIDFromCommandArgs
                 const occupant = this.model.getOccupant(nick_or_jid);
                 this.model.setRole(occupant, role, reason, undefined, this.onCommandError.bind(this));