discourse/app/assets/javascripts/admin/models/version_check.js
2013-03-06 10:34:29 -05:00

39 lines
1.0 KiB
JavaScript

/**
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({
upToDate: function() {
return this.get('latest_version') === this.get('installed_version');
}.property('latest_version', 'installed_version'),
behindByOneVersion: function() {
return this.get('missing_versions_count') === 1;
}.property('missing_versions_count'),
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({
find: function() {
var promise = new RSVP.Promise();
$.ajax({
url: '/admin/version_check',
dataType: 'json',
success: function(json) {
promise.resolve(Discourse.VersionCheck.create(json));
}
});
return promise;
}
});