Support for running discourse with a prefix (i.e. as http://servername/discourse)

This commit is contained in:
Wojciech Kocjan
2013-03-14 13:01:52 +01:00
parent 19860bd2c5
commit e6ccc300dc
61 changed files with 231 additions and 163 deletions

View File

@ -7,10 +7,18 @@
@module Discourse
**/
Discourse.AdminUser = Discourse.Model.extend({
path: (function() {
return Discourse.getURL("/users/") + (this.get('username_lower'));
}).property('username'),
adminPath: (function() {
return Discourse.getURL("/admin/users/") + (this.get('username_lower'));
}).property('username'),
deleteAllPosts: function() {
this.set('can_delete_all_posts', false);
$.ajax("/admin/users/" + (this.get('id')) + "/delete_all_posts", {type: 'PUT'});
$.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/delete_all_posts", {type: 'PUT'});
},
// Revoke the user's admin access
@ -18,14 +26,14 @@ Discourse.AdminUser = Discourse.Model.extend({
this.set('admin', false);
this.set('can_grant_admin', true);
this.set('can_revoke_admin', false);
return $.ajax("/admin/users/" + (this.get('id')) + "/revoke_admin", {type: 'PUT'});
return $.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/revoke_admin", {type: 'PUT'});
},
grantAdmin: function() {
this.set('admin', true);
this.set('can_grant_admin', false);
this.set('can_revoke_admin', true);
$.ajax("/admin/users/" + (this.get('id')) + "/grant_admin", {type: 'PUT'});
$.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/grant_admin", {type: 'PUT'});
},
// Revoke the user's moderation access
@ -33,18 +41,18 @@ Discourse.AdminUser = Discourse.Model.extend({
this.set('moderator', false);
this.set('can_grant_moderation', true);
this.set('can_revoke_moderation', false);
return $.ajax("/admin/users/" + (this.get('id')) + "/revoke_moderation", {type: 'PUT'});
return $.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/revoke_moderation", {type: 'PUT'});
},
grantModeration: function() {
this.set('moderator', true);
this.set('can_grant_moderation', false);
this.set('can_revoke_moderation', true);
$.ajax("/admin/users/" + (this.get('id')) + "/grant_moderation", {type: 'PUT'});
$.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/grant_moderation", {type: 'PUT'});
},
refreshBrowsers: function() {
$.ajax("/admin/users/" + (this.get('id')) + "/refresh_browsers", {type: 'POST'});
$.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/refresh_browsers", {type: 'POST'});
bootbox.alert("Message sent to all clients!");
},
@ -52,7 +60,7 @@ Discourse.AdminUser = Discourse.Model.extend({
this.set('can_approve', false);
this.set('approved', true);
this.set('approved_by', Discourse.get('currentUser'));
$.ajax("/admin/users/" + (this.get('id')) + "/approve", {type: 'PUT'});
$.ajax(Discourse.getURL("/admin/users/") + (this.get('id')) + "/approve", {type: 'PUT'});
},
username_lower: (function() {
@ -79,7 +87,7 @@ Discourse.AdminUser = Discourse.Model.extend({
_this = this;
if (duration = parseInt(window.prompt(Em.String.i18n('admin.user.ban_duration')), 10)) {
if (duration > 0) {
return $.ajax("/admin/users/" + this.id + "/ban", {
return $.ajax(Discourse.getURL("/admin/users/") + this.id + "/ban", {
type: 'PUT',
data: {duration: duration},
success: function() {
@ -99,7 +107,7 @@ Discourse.AdminUser = Discourse.Model.extend({
unban: function() {
var _this = this;
return $.ajax("/admin/users/" + this.id + "/unban", {
return $.ajax(Discourse.getURL("/admin/users/") + this.id + "/unban", {
type: 'PUT',
success: function() {
window.location.reload();
@ -116,7 +124,7 @@ Discourse.AdminUser = Discourse.Model.extend({
impersonate: function() {
var _this = this;
return $.ajax("/admin/impersonate", {
return $.ajax(Discourse.getURL("/admin/impersonate"), {
type: 'POST',
data: {
username_or_email: this.get('username')
@ -145,7 +153,7 @@ Discourse.AdminUser.reopenClass({
user.set('can_approve', false);
return user.set('selected', false);
});
return $.ajax("/admin/users/approve-bulk", {
return $.ajax(Discourse.getURL("/admin/users/approve-bulk"), {
type: 'PUT',
data: {
users: users.map(function(u) {
@ -156,7 +164,7 @@ Discourse.AdminUser.reopenClass({
},
find: function(username) {
return $.ajax({url: "/admin/users/" + username}).then(function (result) {
return $.ajax({url: Discourse.getURL("/admin/users/") + username}).then(function (result) {
return Discourse.AdminUser.create(result);
})
},
@ -165,7 +173,7 @@ Discourse.AdminUser.reopenClass({
var result;
result = Em.A();
$.ajax({
url: "/admin/users/list/" + query + ".json",
url: Discourse.getURL("/admin/users/list/") + query + ".json",
data: {
filter: filter
},