Refactor functions out of the dashboard controller
This commit is contained in:
parent
dd6d98f48f
commit
2d1bbf22e9
|
@ -10,39 +10,7 @@
|
||||||
**/
|
**/
|
||||||
window.Discourse.AdminDashboardController = Ember.Controller.extend({
|
window.Discourse.AdminDashboardController = Ember.Controller.extend({
|
||||||
loading: true,
|
loading: true,
|
||||||
versionCheck: null,
|
versionCheck: null
|
||||||
|
|
||||||
upToDate: function() {
|
|
||||||
if (this.get('versionCheck')) {
|
|
||||||
return this.get('versionCheck.latest_version') === this.get('versionCheck.installed_version');
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}.property('versionCheck'),
|
|
||||||
|
|
||||||
updateIconClasses: function() {
|
|
||||||
var classes;
|
|
||||||
classes = "icon icon-warning-sign ";
|
|
||||||
if (this.get('versionCheck.critical_updates')) {
|
|
||||||
classes += "critical-updates-available";
|
|
||||||
} else {
|
|
||||||
classes += "updates-available";
|
|
||||||
}
|
|
||||||
return classes;
|
|
||||||
}.property('versionCheck.critical_updates'),
|
|
||||||
|
|
||||||
priorityClass: function() {
|
|
||||||
if (this.get('versionCheck.critical_updates')) {
|
|
||||||
return 'version-check critical';
|
|
||||||
}
|
|
||||||
}.property('versionCheck.critical_updates'),
|
|
||||||
|
|
||||||
gitLink: function() {
|
|
||||||
return "https://github.com/discourse/discourse/tree/" + this.get('versionCheck.installed_sha');
|
|
||||||
}.property('versionCheck.installed_sha'),
|
|
||||||
|
|
||||||
shortSha: function() {
|
|
||||||
return this.get('versionCheck.installed_sha').substr(0,10);
|
|
||||||
}.property('versionCheck.installed_sha')
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}).call(this);
|
}).call(this);
|
||||||
|
|
|
@ -3,12 +3,24 @@
|
||||||
/**
|
/**
|
||||||
Our data model for determining whether there's a new version of Discourse
|
Our data model for determining whether there's a new version of Discourse
|
||||||
|
|
||||||
@class VersionCheck
|
@class VersionCheck
|
||||||
@extends Discourse.Model
|
@extends Discourse.Model
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
window.Discourse.VersionCheck = Discourse.Model.extend({});
|
window.Discourse.VersionCheck = Discourse.Model.extend({
|
||||||
|
upToDate: function() {
|
||||||
|
return this.get('latest_version') === this.get('installed_version');
|
||||||
|
}.property('latest_version', 'installed_version'),
|
||||||
|
|
||||||
|
gitLink: function() {
|
||||||
|
return "https://github.com/discourse/discourse/tree/" + this.get('installed_sha');
|
||||||
|
}.property('installed_sha'),
|
||||||
|
|
||||||
|
shortSha: function() {
|
||||||
|
return this.get('installed_sha').substr(0,10);
|
||||||
|
}.property('installed_sha')
|
||||||
|
});
|
||||||
|
|
||||||
Discourse.VersionCheck.reopenClass({
|
Discourse.VersionCheck.reopenClass({
|
||||||
find: function() {
|
find: function() {
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
<h3>{{i18n admin.dashboard.welcome}}</h3>
|
<h3>{{i18n admin.dashboard.welcome}}</h3>
|
||||||
|
|
||||||
{{#if Discourse.SiteSettings.version_checks}}
|
{{#if Discourse.SiteSettings.version_checks}}
|
||||||
<p {{bindAttr class="priorityClass"}}>
|
<p {{bindAttr class="view.priorityClass"}}>
|
||||||
{{#if loading }}
|
{{#if loading }}
|
||||||
{{i18n loading}}
|
{{i18n loading}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{i18n admin.dashboard.version}}: <span class="version-number">{{ versionCheck.installed_version }}</span>
|
{{i18n admin.dashboard.version}}: <span class="version-number">{{ versionCheck.installed_version }}</span>
|
||||||
|
|
||||||
{{#if versionCheck.installed_sha}}
|
{{#if versionCheck.installed_sha}}
|
||||||
<span class="git-version">(<a {{bindAttr href="gitLink"}} target="_blank">{{shortSha}}</a>)</span>
|
<span class="git-version">(<a {{bindAttr href="versionCheck.gitLink"}} target="_blank">{{versionCheck.shortSha}}</a>)</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<span class="version-notes">
|
<span class="version-notes">
|
||||||
{{#if upToDate }}
|
{{#if versionCheck.upToDate }}
|
||||||
<i class='icon icon-ok update-to-date'></i> {{i18n admin.dashboard.up_to_date}}
|
<i class='icon icon-ok update-to-date'></i> {{i18n admin.dashboard.up_to_date}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<i {{bindAttr class="updateIconClasses"}}></i>
|
<i {{bindAttr class="view.updateIconClasses"}}></i>
|
||||||
<span class="critical-note">{{i18n admin.dashboard.critical_available}}</span>
|
<span class="critical-note">{{i18n admin.dashboard.critical_available}}</span>
|
||||||
<span class="normal-note">{{i18n admin.dashboard.updates_available}}</span>
|
<span class="normal-note">{{i18n admin.dashboard.updates_available}}</span>
|
||||||
{{i18n admin.dashboard.please_upgrade}}
|
{{i18n admin.dashboard.please_upgrade}}
|
||||||
|
|
|
@ -3,13 +3,31 @@
|
||||||
/**
|
/**
|
||||||
The default view in the admin section
|
The default view in the admin section
|
||||||
|
|
||||||
@class AdminDashboardView
|
@class AdminDashboardView
|
||||||
@extends Discourse.View
|
@extends Discourse.View
|
||||||
@namespace Discourse
|
@namespace Discourse
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
Discourse.AdminDashboardView = window.Discourse.View.extend({
|
Discourse.AdminDashboardView = window.Discourse.View.extend({
|
||||||
templateName: 'admin/templates/dashboard'
|
templateName: 'admin/templates/dashboard',
|
||||||
|
|
||||||
|
updateIconClasses: function() {
|
||||||
|
var classes;
|
||||||
|
classes = "icon icon-warning-sign ";
|
||||||
|
if (this.get('controller.versionCheck.critical_updates')) {
|
||||||
|
classes += "critical-updates-available";
|
||||||
|
} else {
|
||||||
|
classes += "updates-available";
|
||||||
|
}
|
||||||
|
return classes;
|
||||||
|
}.property('controller.versionCheck.critical_updates'),
|
||||||
|
|
||||||
|
priorityClass: function() {
|
||||||
|
if (this.get('controller.versionCheck.critical_updates')) {
|
||||||
|
return 'version-check critical';
|
||||||
|
}
|
||||||
|
return 'version-check normal';
|
||||||
|
}.property('controller.versionCheck.critical_updates')
|
||||||
});
|
});
|
||||||
|
|
||||||
}).call(this);
|
}).call(this);
|
||||||
|
|
Loading…
Reference in New Issue