Skip to content
This repository was archived by the owner on Apr 3, 2021. It is now read-only.

Commit 15a973f

Browse files
committed
Improved private message user removal, locale edit
replaced array iteration with findProperty (will be renamed and aliased to findBy with Ember 1.1) added modal dialog to verify catched nil-error on topic.rb
1 parent b089805 commit 15a973f

File tree

5 files changed

+20
-7
lines changed

5 files changed

+20
-7
lines changed

app/assets/javascripts/discourse/controllers/topic_controller.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,17 @@ Discourse.TopicController = Discourse.ObjectController.extend(Discourse.Selected
471471
},
472472

473473
removeAllowedUser: function(username) {
474-
this.get('details').removeAllowedUser(username);
474+
var self = this;
475+
bootbox.dialog(I18n.t("private_message_info.remove_allowed_user", {name: username}), [
476+
{label: I18n.t("no_value"),
477+
'class': 'btn-danger rightg'},
478+
{label: I18n.t("yes_value"),
479+
'class': 'btn-primary',
480+
callback: function() {
481+
self.get('details').removeAllowedUser(username);
482+
}
483+
}
484+
]);
475485
}
476486

477487
});

app/assets/javascripts/discourse/models/topic_details.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,7 @@ Discourse.TopicDetails = Discourse.Model.extend({
5757
type: 'PUT',
5858
data: { username: username }
5959
}).then(function(res) {
60-
users.forEach(function(user, i) {
61-
if (user.username === username) {
62-
users.removeAt(i);
63-
}
64-
});
60+
users.removeObject(users.findProperty('username', username));
6561
});
6662
}
6763
});

app/models/topic.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,12 @@ def change_category(name)
382382
def remove_allowed_user(username)
383383
user = User.where(username: username).first
384384
if user
385-
topic_allowed_users.where(user_id: user.id).first.destroy
385+
topic_user = topic_allowed_users.where(user_id: user.id).first
386+
if topic_user
387+
topic_user.destroy
388+
else
389+
false
390+
end
386391
end
387392
end
388393

config/locales/client.de.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ de:
373373
private_message_info:
374374
title: "Privates Gespräch"
375375
invite: "Andere einladen..."
376+
remove_allowed_user: "Willst du {{name}} wirklich aus diesem Gespräch entfernen?"
376377

377378
email: 'Mail'
378379
username: 'Benutzername'

config/locales/client.en.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ en:
372372
private_message_info:
373373
title: "Private Message"
374374
invite: "Invite Others..."
375+
remove_allowed_user: "Do you really want to remove {{name}} from this private message?"
375376

376377
email: 'Email'
377378
username: 'Username'

0 commit comments

Comments
 (0)