Ember Upgrade: 1.0

This commit is contained in:
Robin Ward
2013-09-16 14:08:55 -04:00
parent 01075c5e7a
commit be0ce08cc2
110 changed files with 19597 additions and 8477 deletions
@@ -46,5 +46,12 @@ Discourse.AdminDashboardController = Ember.Controller.extend({
updatedTimestamp: function() {
return moment(this.get('updated_at')).format('LLL');
}.property('updated_at')
}.property('updated_at'),
actions: {
refreshProblems: function() {
this.loadProblems();
}
}
});
@@ -24,23 +24,24 @@ Discourse.AdminEmailIndexController = Discourse.Controller.extend({
this.set('sentTestEmail', false);
}.observes('testEmailAddress'),
actions: {
/**
Sends a test email to the currently entered email address
/**
Sends a test email to the currently entered email address
@method sendTestEmail
**/
sendTestEmail: function() {
this.set('sentTestEmail', false);
@method sendTestEmail
**/
sendTestEmail: function() {
this.set('sentTestEmail', false);
var adminEmailLogsController = this;
Discourse.ajax("/admin/email/test", {
type: 'POST',
data: { email_address: this.get('testEmailAddress') }
}).then(function () {
adminEmailLogsController.set('sentTestEmail', true);
});
var adminEmailLogsController = this;
Discourse.ajax("/admin/email/test", {
type: 'POST',
data: { email_address: this.get('testEmailAddress') }
}).then(function () {
adminEmailLogsController.set('sentTestEmail', true);
});
}
}
});
@@ -8,14 +8,21 @@
**/
Discourse.AdminEmailPreviewDigestController = Discourse.ObjectController.extend({
refresh: function() {
var model = this.get('model');
var controller = this;
controller.set('loading', true);
Discourse.EmailPreview.findDigest(this.get('lastSeen')).then(function (email) {
model.setProperties(email.getProperties('html_content', 'text_content'));
controller.set('loading', false);
});
actions: {
refresh: function() {
var model = this.get('model'),
self = this;
self.set('loading', true);
Discourse.EmailPreview.findDigest(this.get('lastSeen')).then(function (email) {
model.setProperties(email.getProperties('html_content', 'text_content'));
self.set('loading', false);
});
},
toggleShowHtml: function() {
this.toggleProperty('showHtml');
}
}
});
@@ -8,62 +8,64 @@
**/
Discourse.AdminFlagsController = Ember.ArrayController.extend({
/**
Clear all flags on a post
actions: {
/**
Clear all flags on a post
@method clearFlags
@param {Discourse.FlaggedPost} item The post whose flags we want to clear
**/
disagreeFlags: function(item) {
var adminFlagsController = this;
item.disagreeFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
@method clearFlags
@param {Discourse.FlaggedPost} item The post whose flags we want to clear
**/
disagreeFlags: function(item) {
var adminFlagsController = this;
item.disagreeFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
agreeFlags: function(item) {
var adminFlagsController = this;
item.agreeFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
agreeFlags: function(item) {
var adminFlagsController = this;
item.agreeFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
deferFlags: function(item) {
var adminFlagsController = this;
item.deferFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
deferFlags: function(item) {
var adminFlagsController = this;
item.deferFlags().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
/**
Deletes a post
/**
Deletes a post
@method deletePost
@param {Discourse.FlaggedPost} item The post to delete
**/
deletePost: function(item) {
var adminFlagsController = this;
item.deletePost().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
@method deletePost
@param {Discourse.FlaggedPost} item The post to delete
**/
deletePost: function(item) {
var adminFlagsController = this;
item.deletePost().then((function() {
adminFlagsController.removeObject(item);
}), function() {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
/**
Deletes a user and all posts and topics created by that user.
/**
Deletes a user and all posts and topics created by that user.
@method deleteSpammer
@param {Discourse.FlaggedPost} item The post to delete
**/
deleteSpammer: function(item) {
item.get('user').deleteAsSpammer(function() { window.location.reload(); });
@method deleteSpammer
@param {Discourse.FlaggedPost} item The post to delete
**/
deleteSpammer: function(item) {
item.get('user').deleteAsSpammer(function() { window.location.reload(); });
}
},
/**
@@ -1,49 +1,51 @@
Discourse.AdminGroupsController = Ember.Controller.extend({
itemController: 'adminGroup',
edit: function(group){
this.get('model').select(group);
group.load();
},
actions: {
edit: function(group){
this.get('model').select(group);
group.load();
},
refreshAutoGroups: function(){
var controller = this;
refreshAutoGroups: function(){
var self = this;
this.set('refreshingAutoGroups', true);
Discourse.ajax('/admin/groups/refresh_automatic_groups', {type: 'POST'})
.then(function() {
controller.set('model', Discourse.Group.findAll());
controller.set('refreshingAutoGroups', false);
});
},
self.set('refreshingAutoGroups', true);
Discourse.ajax('/admin/groups/refresh_automatic_groups', {type: 'POST'}).then(function() {
self.set('model', Discourse.Group.findAll());
self.set('refreshingAutoGroups', false);
});
},
newGroup: function(){
var group = Discourse.Group.create();
group.set("loaded", true);
var model = this.get("model");
model.addObject(group);
model.select(group);
},
newGroup: function(){
var group = Discourse.Group.create();
group.set("loaded", true);
var model = this.get("model");
model.addObject(group);
model.select(group);
},
save: function(group){
if(!group.get("id")){
group.create();
} else {
group.save();
}
},
destroy: function(group){
var _this = this;
return bootbox.confirm(I18n.t("admin.groups.delete_confirm"), I18n.t("no_value"), I18n.t("yes_value"), function(result) {
if (result) {
group.destroy().then(function(deleted) {
if (deleted) {
_this.get("model").removeObject(group);
}
});
save: function(group){
if(!group.get("id")){
group.create();
} else {
group.save();
}
});
},
destroy: function(group){
var self = this;
return bootbox.confirm(I18n.t("admin.groups.delete_confirm"), I18n.t("no_value"), I18n.t("yes_value"), function(result) {
if (result) {
group.destroy().then(function(deleted) {
if (deleted) {
self.get("model").removeObject(group);
}
});
}
});
}
}
});
@@ -4,14 +4,16 @@ Discourse.AdminReportsController = Ember.ObjectController.extend({
viewingTable: Em.computed.equal('viewMode', 'table'),
viewingBarChart: Em.computed.equal('viewMode', 'barChart'),
// Changes the current view mode to 'table'
viewAsTable: function() {
this.set('viewMode', 'table');
},
actions: {
// Changes the current view mode to 'table'
viewAsTable: function() {
this.set('viewMode', 'table');
},
// Changes the current view mode to 'barChart'
viewAsBarChart: function() {
this.set('viewMode', 'barChart');
// Changes the current view mode to 'barChart'
viewAsBarChart: function() {
this.set('viewMode', 'barChart');
}
}
});
@@ -14,12 +14,15 @@ Discourse.AdminSiteContentEditController = Discourse.Controller.extend({
return false;
}.property('saving', 'content.content'),
saveChanges: function() {
var controller = this;
controller.setProperties({saving: true, saved: false});
this.get('content').save().then(function () {
controller.setProperties({saving: false, saved: true});
});
actions: {
saveChanges: function() {
var self = this;
self.setProperties({saving: true, saved: false});
self.get('content').save().then(function () {
self.setProperties({saving: false, saved: true});
});
}
}
});
});
Discourse.AdminSiteContentsController = Ember.ArrayController.extend({});
@@ -39,35 +39,37 @@ Discourse.AdminSiteSettingsController = Ember.ArrayController.extend(Discourse.P
});
}.property('filter', 'content.@each', 'onlyOverridden'),
/**
Reset a setting to its default value
actions: {
/**
Reset a setting to its default value
@method resetDefault
@param {Discourse.SiteSetting} setting The setting we want to revert
**/
resetDefault: function(setting) {
setting.set('value', setting.get('default'));
setting.save();
},
@method resetDefault
@param {Discourse.SiteSetting} setting The setting we want to revert
**/
resetDefault: function(setting) {
setting.set('value', setting.get('default'));
setting.save();
},
/**
Save changes to a site setting
/**
Save changes to a site setting
@method save
@param {Discourse.SiteSetting} setting The setting we've changed
**/
save: function(setting) {
setting.save();
},
@method save
@param {Discourse.SiteSetting} setting The setting we've changed
**/
save: function(setting) {
setting.save();
},
/**
Cancel changes to a site setting
/**
Cancel changes to a site setting
@method cancel
@param {Discourse.SiteSetting} setting The setting we've changed but want to revert
**/
cancel: function(setting) {
setting.resetValue();
@method cancel
@param {Discourse.SiteSetting} setting The setting we've changed but want to revert
**/
cancel: function(setting) {
setting.resetValue();
}
}
});
@@ -9,22 +9,25 @@
Discourse.AdminUserController = Discourse.ObjectController.extend({
editingTitle: false,
toggleTitleEdit: function() {
this.set('editingTitle', !this.editingTitle);
},
saveTitle: function() {
Discourse.ajax("/users/" + this.get('username').toLowerCase(), {
data: {title: this.get('title')},
type: 'PUT'
}).then(null, function(e){
bootbox.alert(I18n.t("generic_error_with_reason", {error: "http: " + e.status + " - " + e.body}));
});
this.toggleTitleEdit();
},
showApproval: function() {
return Discourse.SiteSettings.must_approve_users;
}.property()
}.property(),
actions: {
toggleTitleEdit: function() {
this.toggleProperty('editingTitle');
},
saveTitle: function() {
Discourse.ajax("/users/" + this.get('username').toLowerCase(), {
data: {title: this.get('title')},
type: 'PUT'
}).then(null, function(e){
bootbox.alert(I18n.t("generic_error_with_reason", {error: "http: " + e.status + " - " + e.body}));
});
this.send('toggleTitleEdit');
}
}
});