Revert "REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS"
This reverts commit c0b277d273.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ["ip-lookup"],
|
||||
|
||||
@@ -43,8 +42,7 @@ export default Ember.Component.extend({
|
||||
self.set("totalOthersWithSameIP", result.total);
|
||||
});
|
||||
|
||||
const AdminUser = require('admin/models/admin-user').default;
|
||||
AdminUser.findAll("active", data).then(function (users) {
|
||||
Discourse.AdminUser.findAll("active", data).then(function (users) {
|
||||
self.setProperties({
|
||||
other_accounts: users,
|
||||
otherAccountsLoading: false,
|
||||
|
||||
@@ -18,17 +18,15 @@ export default Ember.Component.extend({
|
||||
|
||||
actions: {
|
||||
submit: function() {
|
||||
const Permalink = require('admin/models/permalink').default;
|
||||
|
||||
if (!this.get('formSubmitted')) {
|
||||
const self = this;
|
||||
self.set('formSubmitted', true);
|
||||
const permalink = Permalink.create({url: self.get('url'), permalink_type: self.get('permalinkType'), permalink_type_value: self.get('permalink_type_value')});
|
||||
const permalink = Discourse.Permalink.create({url: self.get('url'), permalink_type: self.get('permalinkType'), permalink_type_value: self.get('permalink_type_value')});
|
||||
permalink.save().then(function(result) {
|
||||
self.set('url', '');
|
||||
self.set('permalink_type_value', '');
|
||||
self.set('formSubmitted', false);
|
||||
self.sendAction('action', Permalink.create(result.permalink));
|
||||
self.sendAction('action', Discourse.Permalink.create(result.permalink));
|
||||
Em.run.schedule('afterRender', function() { self.$('.permalink-url').focus(); });
|
||||
}, function(e) {
|
||||
self.set('formSubmitted', false);
|
||||
|
||||
+1
-3
@@ -10,7 +10,7 @@
|
||||
uploadText="UPLOAD"
|
||||
}}
|
||||
**/
|
||||
const ResumableUploadComponent = Ember.Component.extend(Discourse.StringBuffer, {
|
||||
Discourse.ResumableUploadComponent = Ember.Component.extend(Discourse.StringBuffer, {
|
||||
tagName: "button",
|
||||
classNames: ["btn", "ru"],
|
||||
classNameBindings: ["isUploading"],
|
||||
@@ -118,5 +118,3 @@ const ResumableUploadComponent = Ember.Component.extend(Discourse.StringBuffer,
|
||||
}.on("willDestroyElement")
|
||||
|
||||
});
|
||||
|
||||
export default ResumableUploadComponent;
|
||||
+3
-6
@@ -1,4 +1,3 @@
|
||||
import ScreenedIpAddress from 'admin/models/screened-ip-address';
|
||||
/**
|
||||
A form to create an IP address that will be blocked or whitelisted.
|
||||
Example usage:
|
||||
@@ -14,7 +13,7 @@ import ScreenedIpAddress from 'admin/models/screened-ip-address';
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
const ScreenedIpAddressFormComponent = Ember.Component.extend({
|
||||
Discourse.ScreenedIpAddressFormComponent = Ember.Component.extend({
|
||||
classNames: ['screened-ip-address-form'],
|
||||
formSubmitted: false,
|
||||
actionName: 'block',
|
||||
@@ -43,11 +42,11 @@ const ScreenedIpAddressFormComponent = Ember.Component.extend({
|
||||
if (!this.get('formSubmitted')) {
|
||||
var self = this;
|
||||
this.set('formSubmitted', true);
|
||||
var screenedIpAddress = ScreenedIpAddress.create({ip_address: this.get('ip_address'), action_name: this.get('actionName')});
|
||||
var screenedIpAddress = Discourse.ScreenedIpAddress.create({ip_address: this.get('ip_address'), action_name: this.get('actionName')});
|
||||
screenedIpAddress.save().then(function(result) {
|
||||
self.set('ip_address', '');
|
||||
self.set('formSubmitted', false);
|
||||
self.sendAction('action', ScreenedIpAddress.create(result.screened_ip_address));
|
||||
self.sendAction('action', Discourse.ScreenedIpAddress.create(result.screened_ip_address));
|
||||
Em.run.schedule('afterRender', function() { self.$('.ip-address-input').focus(); });
|
||||
}, function(e) {
|
||||
self.set('formSubmitted', false);
|
||||
@@ -75,5 +74,3 @@ const ScreenedIpAddressFormComponent = Ember.Component.extend({
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default ScreenedIpAddressFormComponent;
|
||||
@@ -1,5 +1,3 @@
|
||||
import ApiKey from 'admin/models/api-key';
|
||||
|
||||
/**
|
||||
This controller supports the interface for dealing with API keys
|
||||
|
||||
@@ -18,7 +16,7 @@ export default Ember.ArrayController.extend({
|
||||
**/
|
||||
generateMasterKey: function() {
|
||||
var self = this;
|
||||
ApiKey.generateMasterKey().then(function (key) {
|
||||
Discourse.ApiKey.generateMasterKey().then(function (key) {
|
||||
self.get('model').pushObject(key);
|
||||
});
|
||||
},
|
||||
@@ -27,7 +25,7 @@ export default Ember.ArrayController.extend({
|
||||
Creates an API key instance with internal user object
|
||||
|
||||
@method regenerateKey
|
||||
@param {ApiKey} key the key to regenerate
|
||||
@param {Discourse.ApiKey} key the key to regenerate
|
||||
**/
|
||||
regenerateKey: function(key) {
|
||||
bootbox.confirm(I18n.t("admin.api.confirm_regen"), I18n.t("no_value"), I18n.t("yes_value"), function(result) {
|
||||
@@ -41,7 +39,7 @@ export default Ember.ArrayController.extend({
|
||||
Revokes an API key
|
||||
|
||||
@method revokeKey
|
||||
@param {ApiKey} key the key to revoke
|
||||
@param {Discourse.ApiKey} key the key to revoke
|
||||
**/
|
||||
revokeKey: function(key) {
|
||||
var self = this;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { setting } from 'discourse/lib/computed';
|
||||
import AdminDashboard from 'admin/models/admin-dashboard';
|
||||
|
||||
// This controller supports the default interface when you enter the admin section.
|
||||
export default Ember.Controller.extend({
|
||||
@@ -27,7 +26,7 @@ export default Ember.Controller.extend({
|
||||
this.set('loadingProblems', true);
|
||||
this.set('problemsFetchedAt', new Date());
|
||||
var c = this;
|
||||
AdminDashboard.fetchProblems().then(function(d) {
|
||||
Discourse.AdminDashboard.fetchProblems().then(function(d) {
|
||||
c.set('problems', d.problems);
|
||||
c.set('loadingProblems', false);
|
||||
if( d.problems && d.problems.length > 0 ) {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import EmailPreview from 'admin/models/email-preview';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
|
||||
actions: {
|
||||
@@ -7,7 +5,7 @@ export default Ember.Controller.extend({
|
||||
const model = this.get('model');
|
||||
|
||||
this.set('loading', true);
|
||||
EmailPreview.findDigest(this.get('lastSeen'), this.get('username')).then(email => {
|
||||
Discourse.EmailPreview.findDigest(this.get('lastSeen'), this.get('username')).then(email => {
|
||||
model.setProperties(email.getProperties('html_content', 'text_content'));
|
||||
this.set('loading', false);
|
||||
});
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import debounce from 'discourse/lib/debounce';
|
||||
import EmailLog from 'admin/models/email-log';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
|
||||
filterEmailLogs: debounce(function() {
|
||||
var self = this;
|
||||
EmailLog.findAll(this.get("filter")).then(function(logs) {
|
||||
Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) {
|
||||
self.set("model", logs);
|
||||
});
|
||||
}, 250).observes("filter.user", "filter.address", "filter.type", "filter.reply_key")
|
||||
|
||||
@@ -2,7 +2,9 @@ import debounce from 'discourse/lib/debounce';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
filterEmailLogs: debounce(function() {
|
||||
const EmailLog = require('admin/models/email-log').default;
|
||||
EmailLog.findAll(this.get("filter")).then(logs => this.set("model", logs));
|
||||
var self = this;
|
||||
Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) {
|
||||
self.set("model", logs);
|
||||
});
|
||||
}, 250).observes("filter.user", "filter.address", "filter.type", "filter.skipped_reason")
|
||||
});
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import FlaggedPost from 'admin/models/flagged-post';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
query: null,
|
||||
|
||||
@@ -32,7 +30,7 @@ export default Ember.ArrayController.extend({
|
||||
|
||||
loadMore(){
|
||||
var flags = this.get("model");
|
||||
return FlaggedPost.findAll(this.get("query"),flags.length+1).then(function(data){
|
||||
return Discourse.FlaggedPost.findAll(this.get("query"),flags.length+1).then(function(data){
|
||||
if(data.length===0){
|
||||
flags.set("allLoaded",true);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { exportEntity } from 'discourse/lib/export-csv';
|
||||
import { outputExportResult } from 'discourse/lib/export-result';
|
||||
import ScreenedEmail from 'admin/models/screened-email';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
loading: false,
|
||||
@@ -21,7 +20,7 @@ export default Ember.ArrayController.extend({
|
||||
show() {
|
||||
var self = this;
|
||||
self.set('loading', true);
|
||||
ScreenedEmail.findAll().then(function(result) {
|
||||
Discourse.ScreenedEmail.findAll().then(function(result) {
|
||||
self.set('model', result);
|
||||
self.set('loading', false);
|
||||
});
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import debounce from 'discourse/lib/debounce';
|
||||
import { outputExportResult } from 'discourse/lib/export-result';
|
||||
import { exportEntity } from 'discourse/lib/export-csv';
|
||||
import ScreenedIpAddress from 'admin/models/screened-ip-address';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
loading: false,
|
||||
@@ -11,7 +10,7 @@ export default Ember.ArrayController.extend({
|
||||
show: debounce(function() {
|
||||
var self = this;
|
||||
self.set('loading', true);
|
||||
ScreenedIpAddress.findAll(this.get("filter")).then(function(result) {
|
||||
Discourse.ScreenedIpAddress.findAll(this.get("filter")).then(function(result) {
|
||||
self.set('model', result);
|
||||
self.set('loading', false);
|
||||
});
|
||||
@@ -27,7 +26,7 @@ export default Ember.ArrayController.extend({
|
||||
return bootbox.confirm(I18n.t("admin.logs.screened_ips.roll_up_confirm"), I18n.t("no_value"), I18n.t("yes_value"), function (confirmed) {
|
||||
if (confirmed) {
|
||||
self.set("loading", true);
|
||||
return ScreenedIpAddress.rollUp().then(function(results) {
|
||||
return Discourse.ScreenedIpAddress.rollUp().then(function(results) {
|
||||
if (results && results.subnets) {
|
||||
if (results.subnets.length > 0) {
|
||||
self.send("show");
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { exportEntity } from 'discourse/lib/export-csv';
|
||||
import { outputExportResult } from 'discourse/lib/export-result';
|
||||
import ScreenedUrl from 'admin/models/screened-url';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
loading: false,
|
||||
@@ -8,7 +7,7 @@ export default Ember.ArrayController.extend({
|
||||
show() {
|
||||
const self = this;
|
||||
self.set('loading', true);
|
||||
ScreenedUrl.findAll().then(function(result) {
|
||||
Discourse.ScreenedUrl.findAll().then(function(result) {
|
||||
self.set('model', result);
|
||||
self.set('loading', false);
|
||||
});
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { exportEntity } from 'discourse/lib/export-csv';
|
||||
import { outputExportResult } from 'discourse/lib/export-result';
|
||||
import StaffActionLog from 'admin/models/staff-action-log';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
loading: false,
|
||||
@@ -37,7 +36,7 @@ export default Ember.ArrayController.extend({
|
||||
});
|
||||
this.set('filterCount', count);
|
||||
|
||||
StaffActionLog.findAll(params).then(function(result) {
|
||||
Discourse.StaffActionLog.findAll(params).then(function(result) {
|
||||
self.set('model', result);
|
||||
}).finally(function() {
|
||||
self.set('loading', false);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import debounce from 'discourse/lib/debounce';
|
||||
import Permalink from 'admin/models/permalink';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
loading: false,
|
||||
@@ -8,7 +7,7 @@ export default Ember.ArrayController.extend({
|
||||
show: debounce(function() {
|
||||
var self = this;
|
||||
self.set('loading', true);
|
||||
Permalink.findAll(self.get("filter")).then(function(result) {
|
||||
Discourse.Permalink.findAll(self.get("filter")).then(function(result) {
|
||||
self.set('model', result);
|
||||
self.set('loading', false);
|
||||
});
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import debounce from 'discourse/lib/debounce';
|
||||
import { i18n } from 'discourse/lib/computed';
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
export default Ember.ArrayController.extend({
|
||||
query: null,
|
||||
@@ -43,7 +42,7 @@ export default Ember.ArrayController.extend({
|
||||
var self = this;
|
||||
this.set('refreshing', true);
|
||||
|
||||
AdminUser.findAll(this.get('query'), { filter: this.get('listFilter'), show_emails: this.get('showEmails') }).then(function (result) {
|
||||
Discourse.AdminUser.findAll(this.get('query'), { filter: this.get('listFilter'), show_emails: this.get('showEmails') }).then(function (result) {
|
||||
self.set('model', result);
|
||||
}).finally(function() {
|
||||
self.set('refreshing', false);
|
||||
@@ -52,14 +51,14 @@ export default Ember.ArrayController.extend({
|
||||
|
||||
actions: {
|
||||
approveUsers: function() {
|
||||
AdminUser.bulkApprove(this.get('model').filterProperty('selected'));
|
||||
Discourse.AdminUser.bulkApprove(this.get('model').filterProperty('selected'));
|
||||
this._refreshUsers();
|
||||
},
|
||||
|
||||
rejectUsers: function() {
|
||||
var maxPostAge = this.siteSettings.delete_user_max_post_age;
|
||||
var controller = this;
|
||||
AdminUser.bulkReject(this.get('model').filterProperty('selected')).then(function(result){
|
||||
Discourse.AdminUser.bulkReject(this.get('model').filterProperty('selected')).then(function(result){
|
||||
var message = I18n.t("admin.users.reject_successful", {count: result.success});
|
||||
if (result.failed > 0) {
|
||||
message += ' ' + I18n.t("admin.users.reject_failures", {count: result.failed});
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
||||
import Backup from 'admin/models/backup';
|
||||
|
||||
export default Ember.Controller.extend(ModalFunctionality, {
|
||||
needs: ["adminBackupsLogs"],
|
||||
@@ -7,7 +6,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
|
||||
_startBackup: function (withUploads) {
|
||||
var self = this;
|
||||
Discourse.User.currentProp("hideReadOnlyAlert", true);
|
||||
Backup.start(withUploads).then(function() {
|
||||
Discourse.Backup.start(withUploads).then(function() {
|
||||
self.get("controllers.adminBackupsLogs").clear();
|
||||
self.send("backupStarted");
|
||||
});
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
import { propertyNotEqual } from 'discourse/lib/computed';
|
||||
import { popupAjaxError } from 'discourse/lib/ajax-error';
|
||||
import ApiKey from 'admin/models/api-key';
|
||||
import Group from 'discourse/models/group';
|
||||
import TL3Requirements from 'admin/models/tl3-requirements';
|
||||
|
||||
const AdminUser = Discourse.User.extend({
|
||||
|
||||
customGroups: Em.computed.filter("groups", (g) => !g.automatic && Group.create(g)),
|
||||
automaticGroups: Em.computed.filter("groups", (g) => g.automatic && Group.create(g)),
|
||||
customGroups: Em.computed.filter("groups", (g) => !g.automatic && Discourse.Group.create(g)),
|
||||
automaticGroups: Em.computed.filter("groups", (g) => g.automatic && Discourse.Group.create(g)),
|
||||
|
||||
generateApiKey() {
|
||||
const self = this;
|
||||
return Discourse.ajax("/admin/users/" + this.get('id') + "/generate_api_key", {
|
||||
type: 'POST'
|
||||
}).then(function (result) {
|
||||
const apiKey = ApiKey.create(result.api_key);
|
||||
const apiKey = Discourse.ApiKey.create(result.api_key);
|
||||
self.set('api_key', apiKey);
|
||||
return apiKey;
|
||||
});
|
||||
@@ -380,7 +377,7 @@ const AdminUser = Discourse.User.extend({
|
||||
}
|
||||
}
|
||||
}).catch(function() {
|
||||
AdminUser.find( user.get('username') ).then(function(u){ user.setProperties(u); });
|
||||
Discourse.AdminUser.find( user.get('username') ).then(function(u){ user.setProperties(u); });
|
||||
bootbox.alert(I18n.t("admin.user.delete_failed"));
|
||||
});
|
||||
};
|
||||
@@ -453,7 +450,7 @@ const AdminUser = Discourse.User.extend({
|
||||
|
||||
if (user.get('loadedDetails')) { return Ember.RSVP.resolve(user); }
|
||||
|
||||
return AdminUser.find(user.get('username_lower')).then(function (result) {
|
||||
return Discourse.AdminUser.find(user.get('username_lower')).then(function (result) {
|
||||
user.setProperties(result);
|
||||
user.set('loadedDetails', true);
|
||||
});
|
||||
@@ -461,19 +458,19 @@ const AdminUser = Discourse.User.extend({
|
||||
|
||||
tl3Requirements: function() {
|
||||
if (this.get('tl3_requirements')) {
|
||||
return TL3Requirements.create(this.get('tl3_requirements'));
|
||||
return Discourse.TL3Requirements.create(this.get('tl3_requirements'));
|
||||
}
|
||||
}.property('tl3_requirements'),
|
||||
|
||||
suspendedBy: function() {
|
||||
if (this.get('suspended_by')) {
|
||||
return AdminUser.create(this.get('suspended_by'));
|
||||
return Discourse.AdminUser.create(this.get('suspended_by'));
|
||||
}
|
||||
}.property('suspended_by'),
|
||||
|
||||
approvedBy: function() {
|
||||
if (this.get('approved_by')) {
|
||||
return AdminUser.create(this.get('approved_by'));
|
||||
return Discourse.AdminUser.create(this.get('approved_by'));
|
||||
}
|
||||
}.property('approved_by')
|
||||
|
||||
@@ -514,7 +511,7 @@ AdminUser.reopenClass({
|
||||
find(username) {
|
||||
return Discourse.ajax("/admin/users/" + username + ".json").then(function (result) {
|
||||
result.loadedDetails = true;
|
||||
return AdminUser.create(result);
|
||||
return Discourse.AdminUser.create(result);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -522,7 +519,7 @@ AdminUser.reopenClass({
|
||||
return Discourse.ajax("/admin/users/list/" + query + ".json", {
|
||||
data: filter
|
||||
}).then(function(users) {
|
||||
return users.map((u) => AdminUser.create(u));
|
||||
return users.map((u) => Discourse.AdminUser.create(u));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
+12
-6
@@ -1,7 +1,15 @@
|
||||
/**
|
||||
A model that stores all or some data that is displayed on the dashboard.
|
||||
|
||||
const AdminDashboard = Discourse.Model.extend({});
|
||||
@class AdminDashboard
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
|
||||
AdminDashboard.reopenClass({
|
||||
Discourse.AdminDashboard = Discourse.Model.extend({});
|
||||
|
||||
Discourse.AdminDashboard.reopenClass({
|
||||
|
||||
/**
|
||||
Fetch all dashboard data. This can be an expensive request when the cached data
|
||||
@@ -12,7 +20,7 @@ AdminDashboard.reopenClass({
|
||||
**/
|
||||
find: function() {
|
||||
return Discourse.ajax("/admin/dashboard.json").then(function(json) {
|
||||
var model = AdminDashboard.create(json);
|
||||
var model = Discourse.AdminDashboard.create(json);
|
||||
model.set('loaded', true);
|
||||
return model;
|
||||
});
|
||||
@@ -30,11 +38,9 @@ AdminDashboard.reopenClass({
|
||||
type: 'GET',
|
||||
dataType: 'json'
|
||||
}).then(function(json) {
|
||||
var model = AdminDashboard.create(json);
|
||||
var model = Discourse.AdminDashboard.create(json);
|
||||
model.set('loaded', true);
|
||||
return model;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default AdminDashboard;
|
||||
+16
-11
@@ -1,4 +1,12 @@
|
||||
const ApiKey = Discourse.Model.extend({
|
||||
/**
|
||||
Our data model for representing an API key in the system
|
||||
|
||||
@class ApiKey
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.ApiKey = Discourse.Model.extend({
|
||||
|
||||
/**
|
||||
Regenerates the api key
|
||||
@@ -26,20 +34,19 @@ const ApiKey = Discourse.Model.extend({
|
||||
|
||||
});
|
||||
|
||||
ApiKey.reopenClass({
|
||||
Discourse.ApiKey.reopenClass({
|
||||
|
||||
/**
|
||||
Creates an API key instance with internal user object
|
||||
|
||||
@method create
|
||||
@param {...} var_args the properties to initialize this with
|
||||
@returns {ApiKey} the ApiKey instance
|
||||
@returns {Discourse.ApiKey} the ApiKey instance
|
||||
**/
|
||||
create: function() {
|
||||
const AdminUser = require('admin/models/admin-user').default;
|
||||
var result = this._super.apply(this, arguments);
|
||||
if (result.user) {
|
||||
result.user = AdminUser.create(result.user);
|
||||
result.user = Discourse.AdminUser.create(result.user);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
@@ -48,12 +55,12 @@ ApiKey.reopenClass({
|
||||
Finds a list of API keys
|
||||
|
||||
@method find
|
||||
@returns {Promise} a promise that resolves to the array of `ApiKey` instances
|
||||
@returns {Promise} a promise that resolves to the array of `Discourse.ApiKey` instances
|
||||
**/
|
||||
find: function() {
|
||||
return Discourse.ajax("/admin/api").then(function(keys) {
|
||||
return keys.map(function (key) {
|
||||
return ApiKey.create(key);
|
||||
return Discourse.ApiKey.create(key);
|
||||
});
|
||||
});
|
||||
},
|
||||
@@ -62,14 +69,12 @@ ApiKey.reopenClass({
|
||||
Generates a master api key and returns it.
|
||||
|
||||
@method generateMasterKey
|
||||
@returns {Promise} a promise that resolves to a master `ApiKey`
|
||||
@returns {Promise} a promise that resolves to a master `Discourse.ApiKey`
|
||||
**/
|
||||
generateMasterKey: function() {
|
||||
return Discourse.ajax("/admin/api/key", {type: 'POST'}).then(function (result) {
|
||||
return ApiKey.create(result.api_key);
|
||||
return Discourse.ApiKey.create(result.api_key);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
export default ApiKey;
|
||||
+13
-9
@@ -1,6 +1,12 @@
|
||||
import ColorSchemeColor from 'admin/models/color-scheme-color';
|
||||
/**
|
||||
Our data model for a color scheme.
|
||||
|
||||
const ColorScheme = Discourse.Model.extend(Ember.Copyable, {
|
||||
@class ColorScheme
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.ColorScheme = Discourse.Model.extend(Ember.Copyable, {
|
||||
|
||||
init: function() {
|
||||
this._super();
|
||||
@@ -19,9 +25,9 @@ const ColorScheme = Discourse.Model.extend(Ember.Copyable, {
|
||||
},
|
||||
|
||||
copy: function() {
|
||||
var newScheme = ColorScheme.create({name: this.get('name'), enabled: false, can_edit: true, colors: Em.A()});
|
||||
var newScheme = Discourse.ColorScheme.create({name: this.get('name'), enabled: false, can_edit: true, colors: Em.A()});
|
||||
_.each(this.get('colors'), function(c){
|
||||
newScheme.colors.pushObject(ColorSchemeColor.create({name: c.get('name'), hex: c.get('hex'), default_hex: c.get('default_hex')}));
|
||||
newScheme.colors.pushObject(Discourse.ColorSchemeColor.create({name: c.get('name'), hex: c.get('hex'), default_hex: c.get('default_hex')}));
|
||||
});
|
||||
return newScheme;
|
||||
},
|
||||
@@ -103,17 +109,17 @@ var ColorSchemes = Ember.ArrayProxy.extend({
|
||||
}.observes('selectedItem')
|
||||
});
|
||||
|
||||
ColorScheme.reopenClass({
|
||||
Discourse.ColorScheme.reopenClass({
|
||||
findAll: function() {
|
||||
var colorSchemes = ColorSchemes.create({ content: [], loading: true });
|
||||
Discourse.ajax('/admin/color_schemes').then(function(all) {
|
||||
_.each(all, function(colorScheme){
|
||||
colorSchemes.pushObject(ColorScheme.create({
|
||||
colorSchemes.pushObject(Discourse.ColorScheme.create({
|
||||
id: colorScheme.id,
|
||||
name: colorScheme.name,
|
||||
enabled: colorScheme.enabled,
|
||||
is_base: colorScheme.is_base,
|
||||
colors: colorScheme.colors.map(function(c) { return ColorSchemeColor.create({name: c.name, hex: c.hex, default_hex: c.default_hex}); })
|
||||
colors: colorScheme.colors.map(function(c) { return Discourse.ColorSchemeColor.create({name: c.name, hex: c.hex, default_hex: c.default_hex}); })
|
||||
}));
|
||||
});
|
||||
colorSchemes.set('loading', false);
|
||||
@@ -121,5 +127,3 @@ ColorScheme.reopenClass({
|
||||
return colorSchemes;
|
||||
}
|
||||
});
|
||||
|
||||
export default ColorScheme;
|
||||
+10
-3
@@ -1,4 +1,13 @@
|
||||
const ColorSchemeColor = Discourse.Model.extend({
|
||||
/**
|
||||
Our data model for a color within a color scheme.
|
||||
(It's a funny name for a class, but Color seemed too generic for what this class is.)
|
||||
|
||||
@class ColorSchemeColor
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.ColorSchemeColor = Discourse.Model.extend({
|
||||
|
||||
init: function() {
|
||||
this._super();
|
||||
@@ -69,5 +78,3 @@ const ColorSchemeColor = Discourse.Model.extend({
|
||||
return this.get('hex').match(/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/) !== null;
|
||||
}.property('hex')
|
||||
});
|
||||
|
||||
export default ColorSchemeColor;
|
||||
@@ -1,11 +0,0 @@
|
||||
const EmailSettings = Discourse.Model.extend({});
|
||||
|
||||
EmailSettings.reopenClass({
|
||||
find: function() {
|
||||
return Discourse.ajax("/admin/email.json").then(function (settings) {
|
||||
return EmailSettings.create(settings);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default EmailSettings;
|
||||
+12
-6
@@ -1,14 +1,20 @@
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
/**
|
||||
Our data model for representing an email log.
|
||||
|
||||
const EmailLog = Discourse.Model.extend({});
|
||||
@class EmailLog
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.EmailLog = Discourse.Model.extend({});
|
||||
|
||||
EmailLog.reopenClass({
|
||||
Discourse.EmailLog.reopenClass({
|
||||
|
||||
create: function(attrs) {
|
||||
attrs = attrs || {};
|
||||
|
||||
if (attrs.user) {
|
||||
attrs.user = AdminUser.create(attrs.user);
|
||||
attrs.user = Discourse.AdminUser.create(attrs.user);
|
||||
}
|
||||
|
||||
return this._super(attrs);
|
||||
@@ -21,10 +27,10 @@ EmailLog.reopenClass({
|
||||
|
||||
return Discourse.ajax("/admin/email/" + status + ".json", { data: filter }).then(function(logs) {
|
||||
return _.map(logs, function (log) {
|
||||
return EmailLog.create(log);
|
||||
return Discourse.EmailLog.create(log);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default EmailLog;
|
||||
|
||||
+11
-5
@@ -1,6 +1,14 @@
|
||||
const EmailPreview = Discourse.Model.extend({});
|
||||
/**
|
||||
Our data model for showing a preview of an email
|
||||
|
||||
EmailPreview.reopenClass({
|
||||
@class EmailPreview
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.EmailPreview = Discourse.Model.extend({});
|
||||
|
||||
Discourse.EmailPreview.reopenClass({
|
||||
findDigest: function(lastSeenAt, username) {
|
||||
|
||||
if (Em.isEmpty(lastSeenAt)) {
|
||||
@@ -14,9 +22,7 @@ EmailPreview.reopenClass({
|
||||
return Discourse.ajax("/admin/email/preview-digest.json", {
|
||||
data: { last_seen_at: lastSeenAt, username: username }
|
||||
}).then(function (result) {
|
||||
return EmailPreview.create(result);
|
||||
return Discourse.EmailPreview.create(result);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default EmailPreview;
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
Our data model for representing the current email settings
|
||||
|
||||
@class EmailSettings
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.EmailSettings = Discourse.Model.extend({});
|
||||
|
||||
Discourse.EmailSettings.reopenClass({
|
||||
find: function() {
|
||||
return Discourse.ajax("/admin/email.json").then(function (settings) {
|
||||
return Discourse.EmailSettings.create(settings);
|
||||
});
|
||||
}
|
||||
});
|
||||
+12
-11
@@ -1,9 +1,12 @@
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
import Topic from 'discourse/models/topic';
|
||||
import Post from 'discourse/models/post';
|
||||
/**
|
||||
Our data model for interacting with flagged posts.
|
||||
|
||||
|
||||
const FlaggedPost = Post.extend({
|
||||
@class FlaggedPost
|
||||
@extends Discourse.Post
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.FlaggedPost = Discourse.Post.extend({
|
||||
|
||||
summary: function () {
|
||||
return _(this.post_actions)
|
||||
@@ -137,7 +140,7 @@ const FlaggedPost = Post.extend({
|
||||
|
||||
});
|
||||
|
||||
FlaggedPost.reopenClass({
|
||||
Discourse.FlaggedPost.reopenClass({
|
||||
findAll: function (filter, offset) {
|
||||
offset = offset || 0;
|
||||
|
||||
@@ -148,18 +151,18 @@ FlaggedPost.reopenClass({
|
||||
// users
|
||||
var userLookup = {};
|
||||
_.each(data.users, function (user) {
|
||||
userLookup[user.id] = AdminUser.create(user);
|
||||
userLookup[user.id] = Discourse.AdminUser.create(user);
|
||||
});
|
||||
|
||||
// topics
|
||||
var topicLookup = {};
|
||||
_.each(data.topics, function (topic) {
|
||||
topicLookup[topic.id] = Topic.create(topic);
|
||||
topicLookup[topic.id] = Discourse.Topic.create(topic);
|
||||
});
|
||||
|
||||
// posts
|
||||
_.each(data.posts, function (post) {
|
||||
var f = FlaggedPost.create(post);
|
||||
var f = Discourse.FlaggedPost.create(post);
|
||||
f.userLookup = userLookup;
|
||||
f.topicLookup = topicLookup;
|
||||
result.pushObject(f);
|
||||
@@ -171,5 +174,3 @@ FlaggedPost.reopenClass({
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default FlaggedPost;
|
||||
+1
-3
@@ -1,4 +1,4 @@
|
||||
const TL3Requirements = Discourse.Model.extend({
|
||||
Discourse.TL3Requirements = Discourse.Model.extend({
|
||||
days_visited_percent: function() {
|
||||
return ((this.get('days_visited') * 100) / this.get('time_period'));
|
||||
}.property('days_visited', 'time_period'),
|
||||
@@ -38,5 +38,3 @@ const TL3Requirements = Discourse.Model.extend({
|
||||
'num_likes_received_users', 'min_likes_received_users',
|
||||
'trust_level_locked')
|
||||
});
|
||||
|
||||
export default TL3Requirements;
|
||||
@@ -14,7 +14,7 @@ const Permalink = Discourse.Model.extend({
|
||||
Permalink.reopenClass({
|
||||
findAll: function(filter) {
|
||||
return Discourse.ajax("/admin/permalinks.json", { data: { filter: filter } }).then(function(permalinks) {
|
||||
return permalinks.map(p => Permalink.create(p));
|
||||
return permalinks.map(p => Discourse.Permalink.create(p));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
+12
-5
@@ -1,4 +1,13 @@
|
||||
const ScreenedEmail = Discourse.Model.extend({
|
||||
/**
|
||||
Represents an email address that is watched for during account registration,
|
||||
and an action is taken.
|
||||
|
||||
@class ScreenedEmail
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.ScreenedEmail = Discourse.Model.extend({
|
||||
actionName: function() {
|
||||
return I18n.t("admin.logs.screened_actions." + this.get('action'));
|
||||
}.property('action'),
|
||||
@@ -8,14 +17,12 @@ const ScreenedEmail = Discourse.Model.extend({
|
||||
}
|
||||
});
|
||||
|
||||
ScreenedEmail.reopenClass({
|
||||
Discourse.ScreenedEmail.reopenClass({
|
||||
findAll: function() {
|
||||
return Discourse.ajax("/admin/logs/screened_emails.json").then(function(screened_emails) {
|
||||
return screened_emails.map(function(b) {
|
||||
return ScreenedEmail.create(b);
|
||||
return Discourse.ScreenedEmail.create(b);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default ScreenedEmail;
|
||||
+7
-5
@@ -1,4 +1,8 @@
|
||||
const ScreenedIpAddress = Discourse.Model.extend({
|
||||
/**
|
||||
Represents an IP address that is watched for during account registration
|
||||
(and possibly other times), and an action is taken.
|
||||
**/
|
||||
Discourse.ScreenedIpAddress = Discourse.Model.extend({
|
||||
actionName: function() {
|
||||
return I18n.t("admin.logs.screened_ips.actions." + this.get('action_name'));
|
||||
}.property('action_name'),
|
||||
@@ -23,11 +27,11 @@ const ScreenedIpAddress = Discourse.Model.extend({
|
||||
}
|
||||
});
|
||||
|
||||
ScreenedIpAddress.reopenClass({
|
||||
Discourse.ScreenedIpAddress.reopenClass({
|
||||
findAll: function(filter) {
|
||||
return Discourse.ajax("/admin/logs/screened_ip_addresses.json", { data: { filter: filter } }).then(function(screened_ips) {
|
||||
return screened_ips.map(function(b) {
|
||||
return ScreenedIpAddress.create(b);
|
||||
return Discourse.ScreenedIpAddress.create(b);
|
||||
});
|
||||
});
|
||||
},
|
||||
@@ -36,5 +40,3 @@ ScreenedIpAddress.reopenClass({
|
||||
return Discourse.ajax("/admin/logs/screened_ip_addresses/roll_up", { type: "POST" });
|
||||
}
|
||||
});
|
||||
|
||||
export default ScreenedIpAddress;
|
||||
+11
-5
@@ -1,17 +1,23 @@
|
||||
const ScreenedUrl = Discourse.Model.extend({
|
||||
/**
|
||||
Represents a URL that is watched for, and an action may be taken.
|
||||
|
||||
@class ScreenedUrl
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.ScreenedUrl = Discourse.Model.extend({
|
||||
actionName: function() {
|
||||
return I18n.t("admin.logs.screened_actions." + this.get('action'));
|
||||
}.property('action')
|
||||
});
|
||||
|
||||
ScreenedUrl.reopenClass({
|
||||
Discourse.ScreenedUrl.reopenClass({
|
||||
findAll: function() {
|
||||
return Discourse.ajax("/admin/logs/screened_urls.json").then(function(screened_urls) {
|
||||
return screened_urls.map(function(b) {
|
||||
return ScreenedUrl.create(b);
|
||||
return Discourse.ScreenedUrl.create(b);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default ScreenedUrl;
|
||||
@@ -35,7 +35,7 @@ SiteSetting.reopenClass({
|
||||
if (!categories[s.category]) {
|
||||
categories[s.category] = [];
|
||||
}
|
||||
categories[s.category].pushObject(SiteSetting.create(s));
|
||||
categories[s.category].pushObject(Discourse.SiteSetting.create(s));
|
||||
});
|
||||
|
||||
return Object.keys(categories).map(function(n) {
|
||||
|
||||
+5
-9
@@ -1,6 +1,4 @@
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
const StaffActionLog = Discourse.Model.extend({
|
||||
Discourse.StaffActionLog = Discourse.Model.extend({
|
||||
showFullDetails: false,
|
||||
|
||||
actionName: function() {
|
||||
@@ -41,15 +39,15 @@ const StaffActionLog = Discourse.Model.extend({
|
||||
}.property('action_name')
|
||||
});
|
||||
|
||||
StaffActionLog.reopenClass({
|
||||
Discourse.StaffActionLog.reopenClass({
|
||||
create: function(attrs) {
|
||||
attrs = attrs || {};
|
||||
|
||||
if (attrs.acting_user) {
|
||||
attrs.acting_user = AdminUser.create(attrs.acting_user);
|
||||
attrs.acting_user = Discourse.AdminUser.create(attrs.acting_user);
|
||||
}
|
||||
if (attrs.target_user) {
|
||||
attrs.target_user = AdminUser.create(attrs.target_user);
|
||||
attrs.target_user = Discourse.AdminUser.create(attrs.target_user);
|
||||
}
|
||||
return this._super(attrs);
|
||||
},
|
||||
@@ -57,10 +55,8 @@ StaffActionLog.reopenClass({
|
||||
findAll: function(filters) {
|
||||
return Discourse.ajax("/admin/logs/staff_action_logs.json", { data: filters }).then(function(staff_actions) {
|
||||
return staff_actions.map(function(s) {
|
||||
return StaffActionLog.create(s);
|
||||
return Discourse.StaffActionLog.create(s);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default StaffActionLog;
|
||||
+11
-5
@@ -1,4 +1,12 @@
|
||||
const VersionCheck = Discourse.Model.extend({
|
||||
/**
|
||||
Our data model for determining whether there's a new version of Discourse
|
||||
|
||||
@class VersionCheck
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.VersionCheck = Discourse.Model.extend({
|
||||
|
||||
noCheckPerformed: function() {
|
||||
return this.get('updated_at') === null;
|
||||
@@ -31,12 +39,10 @@ const VersionCheck = Discourse.Model.extend({
|
||||
}.property('installed_sha')
|
||||
});
|
||||
|
||||
VersionCheck.reopenClass({
|
||||
Discourse.VersionCheck.reopenClass({
|
||||
find: function() {
|
||||
return Discourse.ajax('/admin/version_check').then(function(json) {
|
||||
return VersionCheck.create(json);
|
||||
return Discourse.VersionCheck.create(json);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default VersionCheck;
|
||||
@@ -1,7 +1,5 @@
|
||||
import ApiKey from 'admin/models/api-key';
|
||||
|
||||
export default Ember.Route.extend({
|
||||
model() {
|
||||
return ApiKey.find();
|
||||
return Discourse.ApiKey.find();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import Backup from 'admin/models/backup';
|
||||
|
||||
export default Ember.Route.extend({
|
||||
model() {
|
||||
return Backup.find();
|
||||
return Discourse.Backup.find();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import showModal from 'discourse/lib/show-modal';
|
||||
import BackupStatus from 'admin/models/backup-status';
|
||||
import Backup from 'admin/models/backup';
|
||||
|
||||
const LOG_CHANNEL = "/admin/backups/logs";
|
||||
|
||||
@@ -33,7 +31,7 @@ export default Discourse.Route.extend({
|
||||
return PreloadStore.getAndRemove("operations_status", function() {
|
||||
return Discourse.ajax("/admin/backups/status.json");
|
||||
}).then(status => {
|
||||
return BackupStatus.create({
|
||||
return Discourse.BackupStatus.create({
|
||||
isOperationRunning: status.is_operation_running,
|
||||
canRollback: status.can_rollback,
|
||||
allowRestore: status.allow_restore
|
||||
@@ -100,7 +98,7 @@ export default Discourse.Route.extend({
|
||||
I18n.t("yes_value"),
|
||||
function(confirmed) {
|
||||
if (confirmed) {
|
||||
Backup.cancel().then(function() {
|
||||
Discourse.Backup.cancel().then(function() {
|
||||
self.controllerFor("adminBackups").set("model.isOperationRunning", false);
|
||||
});
|
||||
}
|
||||
@@ -114,7 +112,7 @@ export default Discourse.Route.extend({
|
||||
I18n.t("no_value"),
|
||||
I18n.t("yes_value"),
|
||||
function(confirmed) {
|
||||
if (confirmed) { Backup.rollback(); }
|
||||
if (confirmed) { Discourse.Backup.rollback(); }
|
||||
}
|
||||
);
|
||||
},
|
||||
@@ -122,7 +120,7 @@ export default Discourse.Route.extend({
|
||||
uploadSuccess(filename) {
|
||||
const self = this;
|
||||
bootbox.alert(I18n.t("admin.backups.upload.success", { filename: filename }), function() {
|
||||
Backup.find().then(function (backups) {
|
||||
Discourse.Backup.find().then(function (backups) {
|
||||
self.controllerFor("adminBackupsIndex").set("model", backups);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import ColorScheme from 'admin/models/color-scheme';
|
||||
|
||||
export default Ember.Route.extend({
|
||||
|
||||
model() {
|
||||
return ColorScheme.findAll();
|
||||
return Discourse.ColorScheme.findAll();
|
||||
},
|
||||
|
||||
deactivate() {
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
import AdminDashboard from 'admin/models/admin-dashboard';
|
||||
import VersionCheck from 'admin/models/version-check';
|
||||
import Report from 'admin/models/report';
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
|
||||
setupController: function(c) {
|
||||
@@ -13,19 +8,19 @@ export default Discourse.Route.extend({
|
||||
if( !c.get('dashboardFetchedAt') || moment().subtract(30, 'minutes').toDate() > c.get('dashboardFetchedAt') ) {
|
||||
c.set('dashboardFetchedAt', new Date());
|
||||
var versionChecks = this.siteSettings.version_checks;
|
||||
AdminDashboard.find().then(function(d) {
|
||||
Discourse.AdminDashboard.find().then(function(d) {
|
||||
if (versionChecks) {
|
||||
c.set('versionCheck', VersionCheck.create(d.version_check));
|
||||
c.set('versionCheck', Discourse.VersionCheck.create(d.version_check));
|
||||
}
|
||||
|
||||
['global_reports', 'page_view_reports', 'private_message_reports', 'http_reports', 'user_reports', 'mobile_reports'].forEach(name => {
|
||||
c.set(name, d[name].map(r => Report.create(r)));
|
||||
c.set(name, d[name].map(r => Discourse.Report.create(r)));
|
||||
});
|
||||
|
||||
var topReferrers = d.top_referrers;
|
||||
if (topReferrers && topReferrers.data) {
|
||||
d.top_referrers.data = topReferrers.data.map(function (user) {
|
||||
return AdminUser.create(user);
|
||||
return Discourse.AdminUser.create(user);
|
||||
});
|
||||
c.set('top_referrers', topReferrers);
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
import AdminEmailLogs from 'admin/routes/admin-email-logs';
|
||||
export default AdminEmailLogs.extend({ status: "all" });
|
||||
@@ -1,9 +1,7 @@
|
||||
import EmailPreview from 'admin/models/email-preview';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
|
||||
model() {
|
||||
return EmailPreview.findDigest();
|
||||
return Discourse.EmailPreview.findDigest();
|
||||
},
|
||||
|
||||
afterModel(model) {
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
import AdminEmailLogs from 'admin/routes/admin-email-logs';
|
||||
export default AdminEmailLogs.extend({ status: "sent" });
|
||||
@@ -1,2 +0,0 @@
|
||||
import AdminEmailLogs from 'admin/routes/admin-email-logs';
|
||||
export default AdminEmailLogs.extend({ status: "skipped" });
|
||||
@@ -1,10 +1,9 @@
|
||||
import showModal from 'discourse/lib/show-modal';
|
||||
import FlaggedPost from 'admin/models/flagged-post';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
this.filter = params.filter;
|
||||
return FlaggedPost.findAll(params.filter);
|
||||
return Discourse.FlaggedPost.findAll(params.filter);
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import Group from 'discourse/models/group';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
this.set("type", params.type);
|
||||
return Group.findAll().then(function(groups) {
|
||||
return Discourse.Group.findAll().then(function(groups) {
|
||||
return groups.filterBy("type", params.type);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
export default Discourse.Route.extend({
|
||||
redirect: function() {
|
||||
this.transitionTo('adminLogs.staffActionLogs');
|
||||
}
|
||||
});
|
||||
@@ -1,9 +0,0 @@
|
||||
export default Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_emails', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedEmails').show();
|
||||
}
|
||||
});
|
||||
@@ -1,9 +0,0 @@
|
||||
export default Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_ip_addresses', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedIpAddresses').show();
|
||||
}
|
||||
});
|
||||
@@ -1,9 +0,0 @@
|
||||
export default Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_urls', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedUrls').show();
|
||||
}
|
||||
});
|
||||
@@ -1,8 +1,6 @@
|
||||
import Permalink from 'admin/models/permalink';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
return Permalink.findAll();
|
||||
return Discourse.Permalink.findAll();
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import showModal from 'discourse/lib/show-modal';
|
||||
import Group from 'discourse/models/group';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
@@ -9,7 +8,7 @@ export default Discourse.Route.extend({
|
||||
afterModel(model) {
|
||||
if (this.currentUser.get('admin')) {
|
||||
const self = this;
|
||||
return Group.findAll().then(function(groups){
|
||||
return Discourse.Group.findAll().then(function(groups){
|
||||
self._availableGroups = groups.filterBy('automatic', false);
|
||||
return model;
|
||||
});
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
export default Discourse.Route.extend({
|
||||
model: function() {
|
||||
return this.modelFor('adminUser');
|
||||
}
|
||||
});
|
||||
@@ -1,12 +1,10 @@
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
serialize(model) {
|
||||
return { username: model.get('username').toLowerCase() };
|
||||
},
|
||||
|
||||
model(params) {
|
||||
return AdminUser.find(Em.get(params, 'username').toLowerCase());
|
||||
return Discourse.AdminUser.find(Em.get(params, 'username').toLowerCase());
|
||||
},
|
||||
|
||||
renderTemplate() {
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model: function(params) {
|
||||
this.userFilter = params.filter;
|
||||
return AdminUser.findAll(params.filter);
|
||||
return Discourse.AdminUser.findAll(params.filter);
|
||||
},
|
||||
|
||||
setupController: function(controller, model) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { exportEntity } from 'discourse/lib/export-csv';
|
||||
import { outputExportResult } from 'discourse/lib/export-result';
|
||||
import AdminUser from 'admin/models/admin-user';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
|
||||
@@ -14,7 +13,7 @@ export default Discourse.Route.extend({
|
||||
},
|
||||
|
||||
deleteUser: function(user) {
|
||||
AdminUser.create(user).destroy({ deletePosts: true });
|
||||
Discourse.AdminUser.create(user).destroy({ deletePosts: true });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-4
@@ -1,8 +1,6 @@
|
||||
import EmailSettings from 'admin/models/email-settings';
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
Discourse.AdminEmailIndexRoute = Discourse.Route.extend({
|
||||
model: function() {
|
||||
return EmailSettings.find();
|
||||
return Discourse.EmailSettings.find();
|
||||
},
|
||||
|
||||
renderTemplate: function() {
|
||||
+6
-4
@@ -1,5 +1,3 @@
|
||||
import EmailLog from 'admin/models/email-log';
|
||||
|
||||
/**
|
||||
Handles routes related to viewing email logs.
|
||||
|
||||
@@ -8,10 +6,10 @@ import EmailLog from 'admin/models/email-log';
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
export default Discourse.Route.extend({
|
||||
Discourse.AdminEmailLogsRoute = Discourse.Route.extend({
|
||||
|
||||
model: function() {
|
||||
return EmailLog.findAll({ status: this.get("status") });
|
||||
return Discourse.EmailLog.findAll({ status: this.get("status") });
|
||||
},
|
||||
|
||||
setupController: function(controller, model) {
|
||||
@@ -25,3 +23,7 @@ export default Discourse.Route.extend({
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Discourse.AdminEmailAllRoute = Discourse.AdminEmailLogsRoute.extend({ status: "all" });
|
||||
Discourse.AdminEmailSentRoute = Discourse.AdminEmailLogsRoute.extend({ status: "sent" });
|
||||
Discourse.AdminEmailSkippedRoute = Discourse.AdminEmailLogsRoute.extend({ status: "skipped" });
|
||||
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
Index redirects to a default logs index.
|
||||
|
||||
@class AdminLogsIndexRoute
|
||||
@extends Discourse.Route
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.AdminLogsIndexRoute = Discourse.Route.extend({
|
||||
redirect: function() {
|
||||
this.transitionTo('adminLogs.staffActionLogs');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
The route that lists blocked email addresses.
|
||||
|
||||
@class AdminLogsScreenedEmailsRoute
|
||||
@extends Discourse.Route
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.AdminLogsScreenedEmailsRoute = Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_emails', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedEmails').show();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
The route that lists screened IP addresses.
|
||||
|
||||
@class AdminLogsScreenedIpAddresses
|
||||
@extends Discourse.Route
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.AdminLogsScreenedIpAddressesRoute = Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_ip_addresses', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedIpAddresses').show();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
The route that lists screened URLs.
|
||||
|
||||
@class AdminLogsScreenedUrlsRoute
|
||||
@extends Discourse.Route
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.AdminLogsScreenedUrlsRoute = Discourse.Route.extend({
|
||||
renderTemplate: function() {
|
||||
this.render('admin/templates/logs/screened_urls', {into: 'adminLogs'});
|
||||
},
|
||||
|
||||
setupController: function() {
|
||||
return this.controllerFor('adminLogsScreenedUrls').show();
|
||||
}
|
||||
});
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
export default Discourse.Route.extend({
|
||||
Discourse.AdminReportsRoute = Discourse.Route.extend({
|
||||
model: function(params) {
|
||||
return Discourse.Report.find(params.type);
|
||||
},
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
Shows all the requirements for being at trust level 3 and if the
|
||||
given user is meeting them.
|
||||
|
||||
@class AdminUserLeaderRequirementsRoute
|
||||
@extends Discourse.Route
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.AdminUserTl3RequirementsRoute = Discourse.Route.extend({
|
||||
model: function() {
|
||||
return this.modelFor('adminUser');
|
||||
}
|
||||
});
|
||||
@@ -1,3 +0,0 @@
|
||||
export default Ember.View.extend({
|
||||
templateName: 'admin/templates/customize_colors'
|
||||
});
|
||||
@@ -1 +0,0 @@
|
||||
export default Ember.View.extend(Discourse.ScrollTop);
|
||||
@@ -0,0 +1,3 @@
|
||||
Discourse.AdminCustomizeColorsView = Ember.View.extend({
|
||||
templateName: 'admin/templates/customize_colors'
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
Discourse.AdminUserView = Ember.View.extend(Discourse.ScrollTop);
|
||||
Reference in New Issue
Block a user