diff --git a/assets/scripts/app/controllers/account_index.coffee b/assets/scripts/app/controllers/account_index.coffee index 825d8586..b5dda57a 100644 --- a/assets/scripts/app/controllers/account_index.coffee +++ b/assets/scripts/app/controllers/account_index.coffee @@ -5,3 +5,6 @@ Travis.AccountIndexController = Em.Controller.extend sync: -> @get('user').sync() + + toggle: (hook) -> + hook.toggle() diff --git a/assets/scripts/app/controllers/profile.coffee b/assets/scripts/app/controllers/profile.coffee index d121107b..fbac998a 100644 --- a/assets/scripts/app/controllers/profile.coffee +++ b/assets/scripts/app/controllers/profile.coffee @@ -23,6 +23,9 @@ Travis.ProfileController = Travis.Controller.extend sync: -> @get('user').sync() + toggle: (hook) -> + hook.toggle() + activate: (action, params) -> @setParams(params || @get('params')) this["view#{$.camelize(action)}"]() diff --git a/assets/scripts/app/helpers/helpers.coffee b/assets/scripts/app/helpers/helpers.coffee index f3decb63..a0f28ec5 100644 --- a/assets/scripts/app/helpers/helpers.coffee +++ b/assets/scripts/app/helpers/helpers.coffee @@ -73,7 +73,7 @@ require 'config/emoij' string _nowUtc: -> - @_toUtc new Date() + @_toUtc Travis.currentDate() _toUtc: (date) -> Date.UTC date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds() diff --git a/assets/scripts/app/store/rest_adapter.coffee b/assets/scripts/app/store/rest_adapter.coffee index d8a402f4..6b2ac960 100644 --- a/assets/scripts/app/store/rest_adapter.coffee +++ b/assets/scripts/app/store/rest_adapter.coffee @@ -102,6 +102,18 @@ Travis.RestAdapter = DS.RESTAdapter.extend merge: (store, record, serialized) -> @get('serializer').merge(record, serialized) + didSaveRecord: (store, type, record, payload) -> + # API sometimes return { result: true } response + # which does not play nice with ember-data. For now + # let's just change payload to have serialized record + # included, but ideally it should be fixed in the API + # to be consistent across all the endpoints. + if payload?.result == true + payload = {} + payload[type.singularName()] = record.serialize() + + @_super(store, type, record, payload) + Travis.RestAdapter.map 'Travis.Commit', {} Travis.RestAdapter.map 'Travis.Build', { diff --git a/assets/scripts/app/templates/profile/tabs/hooks.hbs b/assets/scripts/app/templates/profile/tabs/hooks.hbs index 05f2e84b..4f41fde5 100644 --- a/assets/scripts/app/templates/profile/tabs/hooks.hbs +++ b/assets/scripts/app/templates/profile/tabs/hooks.hbs @@ -24,7 +24,7 @@
- + {{#if hook.active}} ON {{else}} diff --git a/assets/scripts/lib/travis/ajax.coffee b/assets/scripts/lib/travis/ajax.coffee index 40939951..0a694674 100644 --- a/assets/scripts/lib/travis/ajax.coffee +++ b/assets/scripts/lib/travis/ajax.coffee @@ -33,13 +33,13 @@ Travis.ajax = Em.Object.create success = options.success || (->) options.success = (data) => - Travis.lookup('controller:flash').loadFlashes(data.flash) if data.flash + Travis.lookup('controller:flash').loadFlashes(data.flash) if data?.flash delete data.flash if data? success.apply(this, arguments) error = options.error || (->) options.error = (data) => - Travis.lookup('controller:flash').pushObject(data.flash) if data.flash + Travis.lookup('controller:flash').pushObject(data.flash) if data?.flash delete data.flash if data? error.apply(this, arguments) diff --git a/assets/scripts/spec/spec_helper.coffee b/assets/scripts/spec/spec_helper.coffee index 03ed3945..de1a3688 100644 --- a/assets/scripts/spec/spec_helper.coffee +++ b/assets/scripts/spec/spec_helper.coffee @@ -10,10 +10,10 @@ minispade.require 'app' url = "/#{url}" unless url.match /^\// Travis.__container__.lookup('router:main').handleURL(url) -_Date = Date -@Date = (date) -> - new _Date(date || '2012-07-02T00:03:00Z') -@Date.UTC = _Date.UTC + +now = -> new Date('2012-07-02T00:03:00Z') +$.timeago.settings.nowFunction = -> now().getTime() +Travis.currentDate = now # hacks for missing features in webkit unless Function::bind diff --git a/assets/scripts/travis.coffee b/assets/scripts/travis.coffee index 21253131..d2b6ea6e 100644 --- a/assets/scripts/travis.coffee +++ b/assets/scripts/travis.coffee @@ -1,6 +1,9 @@ require 'ext/jquery' require 'ext/ember/namespace' +window.ENV ||= {} +window.ENV.RAISE_ON_DEPRECATION = true + # TODO: how can I put it in Travis namespace and use immediately? Storage = Em.Object.extend init: -> @@ -77,6 +80,9 @@ window.Travis = Em.Application.extend(Ember.Evented, location.href = location.href.replace('#!/', '') if location.hash.slice(0, 2) == '#!' I18n.fallbacks = true @setLocale 'locale', @get('defaultLocale') + + currentDate: -> + new Date() ).create() Travis.deferReadiness() diff --git a/assets/scripts/vendor/jquery.timeago.js b/assets/scripts/vendor/jquery.timeago.js index 9b7c93a5..87076349 100644 --- a/assets/scripts/vendor/jquery.timeago.js +++ b/assets/scripts/vendor/jquery.timeago.js @@ -41,8 +41,9 @@ months: '%d months', year: 'about a year', years: '%d years', - numbers: [] - } + numbers: [], + }, + nowFunction: function() { return new Date().getTime(); } }, distanceInWords: function(date) { if(!date) { @@ -95,7 +96,7 @@ return (this.now() - date.getTime()); }, now: function() { - return new Date().getTime(); + return this.settings.nowFunction.call(this); }, parse: function(iso8601) { var s = $.trim(iso8601);