Skip to content

Commit 13f8f3c

Browse files
committed
Cleaned up JS, added basic documentation support for Admin Controllers
1 parent 6096a44 commit 13f8f3c

9 files changed

Lines changed: 101 additions & 72 deletions
Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
(function() {
22

3+
/**
4+
This controller supports interface for creating custom CSS skins in Discourse.
5+
6+
@class AdminCustomizeController
7+
@extends Ember.Controller
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminCustomizeController = Ember.Controller.extend({
412

513
newCustomization: function() {
6-
var item;
7-
item = Discourse.SiteCustomization.create({
8-
name: 'New Style'
9-
});
14+
var item = Discourse.SiteCustomization.create({name: 'New Style'});
1015
this.get('content').pushObject(item);
11-
return this.set('content.selectedItem', item);
16+
this.set('content.selectedItem', item);
1217
},
1318

1419
selectStyle: function(style) {
15-
return this.set('content.selectedItem', style);
20+
this.set('content.selectedItem', style);
1621
},
1722

1823
save: function() {
19-
return this.get('content.selectedItem').save();
24+
this.get('content.selectedItem').save();
2025
},
2126

22-
"delete": function() {
27+
destroy: function() {
2328
var _this = this;
2429
return bootbox.confirm(Em.String.i18n("admin.customize.delete_confirm"), Em.String.i18n("no_value"), Em.String.i18n("yes_value"), function(result) {
2530
var selected;
@@ -31,7 +36,7 @@
3136
}
3237
});
3338
}
34-
39+
3540
});
3641

3742
}).call(this);

app/assets/javascripts/admin/controllers/admin_dashboard_controller.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
(function() {
22

3+
/**
4+
This controller supports the default interface when you enter the admin section.
5+
6+
@class AdminDashboardController
7+
@extends Ember.Controller
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminDashboardController = Ember.Controller.extend({
412
loading: true,
513
versionCheck: null,
614

715
upToDate: (function() {
816
if (this.versionCheck) {
917
return this.versionCheck.latest_version === this.versionCheck.installed_version;
10-
} else {
11-
return true;
1218
}
19+
return true;
1320
}).property('versionCheck'),
1421

1522
updateIconClasses: (function() {
@@ -26,11 +33,10 @@
2633
priorityClass: (function() {
2734
if (this.get('versionCheck.critical_updates')) {
2835
return 'version-check critical';
29-
} else {
30-
return 'version-check normal';
3136
}
37+
return 'version-check normal';
3238
}).property('versionCheck')
33-
39+
3440
});
3541

3642
}).call(this);

app/assets/javascripts/admin/controllers/admin_email_logs_controller.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
(function() {
22

3+
/**
4+
This controller supports the interface for reviewing email logs.
5+
6+
@class AdminEmailLogsController
7+
@extends Ember.ArrayController
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminEmailLogsController = Ember.ArrayController.extend(Discourse.Presence, {
412

513
sendTestEmailDisabled: (function() {
@@ -8,13 +16,11 @@
816

917
sendTestEmail: function() {
1018
var _this = this;
11-
this.set('sentTestEmail', false);
19+
_this.set('sentTestEmail', false);
1220
jQuery.ajax({
1321
url: '/admin/email_logs/test',
1422
type: 'POST',
15-
data: {
16-
email_address: this.get('testEmailAddress')
17-
},
23+
data: { email_address: this.get('testEmailAddress') },
1824
success: function() {
1925
return _this.set('sentTestEmail', true);
2026
}

app/assets/javascripts/admin/controllers/admin_flags_controller.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
11
(function() {
22

3+
/**
4+
This controller supports the interface for dealing with flags in the admin section.
5+
6+
@class AdminFlagsController
7+
@extends Ember.Controller
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminFlagsController = Ember.Controller.extend({
412

513
clearFlags: function(item) {
614
var _this = this;
7-
return item.clearFlags().then((function() {
8-
return _this.content.removeObject(item);
15+
item.clearFlags().then((function() {
16+
_this.content.removeObject(item);
917
}), (function() {
10-
return bootbox.alert("something went wrong");
18+
bootbox.alert("something went wrong");
1119
}));
1220
},
1321

1422
deletePost: function(item) {
1523
var _this = this;
16-
return item.deletePost().then((function() {
17-
return _this.content.removeObject(item);
24+
item.deletePost().then((function() {
25+
_this.content.removeObject(item);
1826
}), (function() {
19-
return bootbox.alert("something went wrong");
27+
bootbox.alert("something went wrong");
2028
}));
2129
},
2230

app/assets/javascripts/admin/controllers/admin_site_settings_controller.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,49 @@
11
(function() {
22

3+
/**
4+
This controller supports the interface for SiteSettings.
5+
6+
@class AdminSiteSettingsController
7+
@extends Ember.ArrayController
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminSiteSettingsController = Ember.ArrayController.extend(Discourse.Presence, {
412
filter: null,
513
onlyOverridden: false,
614

715
filteredContent: (function() {
816
var filter,
917
_this = this;
10-
if (!this.present('content')) {
11-
return null;
12-
}
18+
if (!this.present('content')) return null;
1319
if (this.get('filter')) {
1420
filter = this.get('filter').toLowerCase();
1521
}
22+
1623
return this.get('content').filter(function(item, index, enumerable) {
17-
if (_this.get('onlyOverridden') && !item.get('overridden')) {
18-
return false;
19-
}
24+
if (_this.get('onlyOverridden') && !item.get('overridden')) return false;
2025
if (filter) {
21-
if (item.get('setting').toLowerCase().indexOf(filter) > -1) {
22-
return true;
23-
}
24-
if (item.get('description').toLowerCase().indexOf(filter) > -1) {
25-
return true;
26-
}
27-
if (item.get('value').toLowerCase().indexOf(filter) > -1) {
28-
return true;
29-
}
26+
if (item.get('setting').toLowerCase().indexOf(filter) > -1) return true;
27+
if (item.get('description').toLowerCase().indexOf(filter) > -1) return true;
28+
if (item.get('value').toLowerCase().indexOf(filter) > -1) return true;
3029
return false;
31-
} else {
32-
return true;
3330
}
31+
32+
return true;
3433
});
3534
}).property('filter', 'content.@each', 'onlyOverridden'),
3635

3736
resetDefault: function(setting) {
3837
setting.set('value', setting.get('default'));
39-
return setting.save();
38+
setting.save();
4039
},
4140

4241
save: function(setting) {
43-
return setting.save();
42+
setting.save();
4443
},
4544

4645
cancel: function(setting) {
47-
return setting.resetValue();
46+
setting.resetValue();
4847
}
4948

5049
});

app/assets/javascripts/admin/controllers/admin_users_list_controller.js

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
(function() {
22

3+
/**
4+
This controller supports the interface for listing users in the admin section.
5+
6+
@class AdminUsersListController
7+
@extends Ember.ArrayController
8+
@namespace Discourse
9+
@module Discourse
10+
**/
311
window.Discourse.AdminUsersListController = Ember.ArrayController.extend(Discourse.Presence, {
412
username: null,
513
query: null,
@@ -8,35 +16,27 @@
816

917
selectAllChanged: (function() {
1018
var _this = this;
11-
return this.get('content').each(function(user) {
12-
return user.set('selected', _this.get('selectAll'));
19+
this.get('content').each(function(user) {
20+
user.set('selected', _this.get('selectAll'));
1321
});
1422
}).observes('selectAll'),
1523

1624
filterUsers: Discourse.debounce(function() {
17-
return this.refreshUsers();
25+
this.refreshUsers();
1826
}, 250).observes('username'),
1927

2028
orderChanged: (function() {
21-
return this.refreshUsers();
29+
this.refreshUsers();
2230
}).observes('query'),
2331

2432
showApproval: (function() {
25-
if (!Discourse.SiteSettings.must_approve_users) {
26-
return false;
27-
}
28-
if (this.get('query') === 'new') {
29-
return true;
30-
}
31-
if (this.get('query') === 'pending') {
32-
return true;
33-
}
33+
if (!Discourse.SiteSettings.must_approve_users) return false;
34+
if (this.get('query') === 'new') return true;
35+
if (this.get('query') === 'pending') return true;
3436
}).property('query'),
3537

3638
selectedCount: (function() {
37-
if (this.blank('content')) {
38-
return 0;
39-
}
39+
if (this.blank('content')) return 0;
4040
return this.get('content').filterProperty('selected').length;
4141
}).property('content.@each.selected'),
4242

@@ -45,19 +45,20 @@
4545
}).property('selectedCount'),
4646

4747
refreshUsers: function() {
48-
return this.set('content', Discourse.AdminUser.findAll(this.get('query'), this.get('username')));
48+
this.set('content', Discourse.AdminUser.findAll(this.get('query'), this.get('username')));
4949
},
5050

5151
show: function(term) {
5252
if (this.get('query') === term) {
53-
return this.refreshUsers();
54-
} else {
55-
return this.set('query', term);
53+
this.refreshUsers();
54+
return;
5655
}
56+
57+
this.set('query', term);
5758
},
5859

5960
approveUsers: function() {
60-
return Discourse.AdminUser.bulkApprove(this.get('content').filterProperty('selected'));
61+
Discourse.AdminUser.bulkApprove(this.get('content').filterProperty('selected'));
6162
}
6263

6364
});

app/assets/javascripts/admin/models/version_check.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
(function() {
22

3-
window.Discourse.VersionCheck = Discourse.Model.extend({
4-
hasInstalledSha: function() {
5-
console.log( 'hello??' );
6-
return( this.get('installed_sha') && this.get('installed_sha') != 'unknown' );
7-
}.property('installed_sha')
8-
});
3+
window.Discourse.VersionCheck = Discourse.Model.extend({});
94

105
Discourse.VersionCheck.reopenClass({
116
find: function() {

app/assets/javascripts/admin/templates/customize.js.handlebars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646

4747
<div class='buttons'>
4848
<button {{action save target="controller"}} {{bindAttr disabled="content.selectedItem.disableSave"}} class='btn btn-primary'>{{i18n admin.customize.save}}</button>
49-
<a {{action delete target="controller"}} class='delete-link'>{{i18n admin.customize.delete}}</a>
49+
<a {{action destroy target="controller"}} class='delete-link'>{{i18n admin.customize.delete}}</a>
5050
<span class='saving'>{{content.savingStatus}}</span>
5151
</div>
5252

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name": "Discourse Client",
3+
"description": "This is the EmberJS client to access a Discourse Server",
4+
"url": "http://www.discourse.org/",
5+
"options": {
6+
"exclude": "external,external_production",
7+
"outdir": "./build"
8+
}
9+
}

0 commit comments

Comments
 (0)