mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-12-11 08:11:15 -05:00
43 lines
1.6 KiB
JavaScript
43 lines
1.6 KiB
JavaScript
import Group from 'discourse/models/group';
|
|
|
|
export default Discourse.Route.extend({
|
|
beforeModel: function(transition) {
|
|
const self = this;
|
|
if (Discourse.User.current()) {
|
|
// User is logged in
|
|
self.replaceWith('discovery.latest').then(function(e) {
|
|
if (transition.queryParams.username) {
|
|
// send a message to user
|
|
Discourse.User.findByUsername(transition.queryParams.username).then((user) => {
|
|
if (user.can_send_private_message_to_user) {
|
|
Ember.run.next(function() {
|
|
e.send('createNewMessageViaParams', user.username, transition.queryParams.title, transition.queryParams.body);
|
|
});
|
|
} else {
|
|
bootbox.alert(I18n.t("composer.cant_send_pm", {username: user.username}));
|
|
}
|
|
}).catch(() => {
|
|
bootbox.alert(I18n.t("generic_error"));
|
|
});
|
|
} else {
|
|
// send a message to group
|
|
Group.find(transition.queryParams.groupname).then((group) => {
|
|
if (!group.automatic && group.mentionable) {
|
|
Ember.run.next(function() {
|
|
e.send('createNewMessageViaParams', group.name, transition.queryParams.title, transition.queryParams.body);
|
|
});
|
|
} else {
|
|
bootbox.alert(I18n.t("composer.cant_send_pm", {username: group.name}));
|
|
}
|
|
}).catch(() => {
|
|
bootbox.alert(I18n.t("generic_error"));
|
|
});
|
|
}
|
|
});
|
|
} else {
|
|
// User is not logged in
|
|
self.session.set("shouldRedirectToUrl", window.location.href);
|
|
self.replaceWith('login');
|
|
}
|
|
}
|
|
});
|