diff --git a/assets/scripts/app/app.coffee b/assets/scripts/app/app.coffee index 214b3a9d..8aaf0ba5 100644 --- a/assets/scripts/app/app.coffee +++ b/assets/scripts/app/app.coffee @@ -30,23 +30,21 @@ Travis.reopen @store = Travis.Store.create() @store.loadMany(Travis.Sponsor, Travis.SPONSORS) - # @set('auth', Travis.Auth.create(app: this, endpoint: Travis.config.api_endpoint)) - @slider = new Travis.Slider() @pusher = new Travis.Pusher(Travis.config.pusher_key) @tailing = new Travis.Tailing() - initAuth: (router, path) -> - auth = Travis.Auth.create(app: this, router: router, endpoint: Travis.config.api_endpoint) - @set('auth', auth) - auth.loadUser(path) + @set('auth', Travis.Auth.create(app: this, endpoint: Travis.config.api_endpoint)) + + storeAfterSignInPath: (path) -> + @get('auth').storeAfterSignInPath(path) + + autoSignIn: (path) -> + @get('auth').autoSignIn(path) signIn: -> @get('auth').signIn() - # autoSignIn: -> - # @get('auth').autoSignIn() - signOut: -> @get('auth').signOut() @get('router').send('afterSignOut') diff --git a/assets/scripts/app/auth.coffee b/assets/scripts/app/auth.coffee index bb634571..29673a03 100644 --- a/assets/scripts/app/auth.coffee +++ b/assets/scripts/app/auth.coffee @@ -7,7 +7,6 @@ init: -> @iframe.appendTo('body') window.addEventListener('message', (e) => @receiveMessage(e)) - # @loadUser() accessToken: (-> sessionStorage.getItem('travis.token') @@ -15,22 +14,20 @@ # if the user is in the session storage, we're using it. if we have a flag # for auto signin then we're trying to sign in. - loadUser: (path)-> + autoSignIn: (path) -> + console.log(path) @storeAfterSignInPath(path) if user = sessionStorage.getItem('travis.user') @setData(user: JSON.parse(user)) - else - @autoSignIn() + else if localStorage.getItem('travis.auto_signin') + @signIn() # try signing in, but check later in case we have a timeout - signIn: (path) -> + signIn: () -> @set('state', 'signing-in') @trySignIn() Ember.run.later(this, @checkSignIn.bind(this), @timeout) - autoSignIn: (path) -> - @signIn(path) if localStorage.getItem('travis.auto_signin') - signOut: -> localStorage.removeItem('travis.auto_signin') localStorage.removeItem('travis.locale') @@ -56,7 +53,7 @@ @afterSignIn() afterSignIn: -> - @get('router').send('afterSignIn', @readAfterSignInPath()) + @get('app.router').send('afterSignIn', @readAfterSignInPath()) storeToken: (token) -> sessionStorage.setItem('travis.token', token) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 0e8fd731..8dd8a7dd 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -155,10 +155,11 @@ Travis.Router = Ember.Router.extend routePath: (router, path) -> router.saveLineNumberHash(path) router.authorize(path) - router.auth = Travis.app.initAuth(router, path) + Travis.app.autoSignIn() unless router.signedIn() authorize: (path) -> if !@signedIn() && @needsAuth(path) + Travis.app.storeAfterSignInPath(path) @transitionTo('root.auth') else @transitionTo('root') diff --git a/assets/styles/profile.sass b/assets/styles/profile.sass index b87e9144..c2006867 100644 --- a/assets/styles/profile.sass +++ b/assets/styles/profile.sass @@ -2,6 +2,10 @@ #profile #main + h3 + height: 19px + line-height: 19px + img float: left width: 48px diff --git a/public/scripts/app.js b/public/scripts/app.js index f7352694..16ed75d9 100644 --- a/public/scripts/app.js +++ b/public/scripts/app.js @@ -30140,4 +30140,4 @@ var _require=function(){function c(a,c){document.addEventListener?a.addEventList ++g&&setTimeout(c,0)})}}(); (function(){!window.WebSocket&&window.MozWebSocket&&(window.WebSocket=window.MozWebSocket);if(window.WebSocket)Pusher.Transport=window.WebSocket,Pusher.TransportType="native";var c=(document.location.protocol=="http:"?Pusher.cdn_http:Pusher.cdn_https)+Pusher.VERSION,a=[];window.JSON||a.push(c+"/json2"+Pusher.dependency_suffix+".js");if(!window.WebSocket)window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0,a.push(c+"/flashfallback"+Pusher.dependency_suffix+".js");var b=function(){return window.WebSocket?function(){Pusher.ready()}: function(){window.WebSocket?(Pusher.Transport=window.WebSocket,Pusher.TransportType="flash",window.WEB_SOCKET_SWF_LOCATION=c+"/WebSocketMain.swf",WebSocket.__addTask(function(){Pusher.ready()}),WebSocket.__initialize()):(Pusher.Transport=null,Pusher.TransportType="none",Pusher.ready())}}(),e=function(a){var b=function(){document.body?a():setTimeout(b,0)};b()},g=function(){e(b)};a.length>0?_require(a,g):g()})(); -;minispade.register('app', "(function() {(function() {\nminispade.require('auth');\nminispade.require('controllers');\nminispade.require('helpers');\nminispade.require('models');\nminispade.require('pusher');\nminispade.require('routes');\nminispade.require('slider');\nminispade.require('store');\nminispade.require('tailing');\nminispade.require('templates');\nminispade.require('views');\nminispade.require('config/locales');\nminispade.require('data/sponsors');\n\n Travis.reopen({\n App: Em.Application.extend({\n autoinit: false,\n currentUserBinding: 'auth.user',\n authStateBinding: 'auth.state',\n init: function() {\n this._super.apply(this, arguments);\n this.store = Travis.Store.create();\n this.store.loadMany(Travis.Sponsor, Travis.SPONSORS);\n this.slider = new Travis.Slider();\n this.pusher = new Travis.Pusher(Travis.config.pusher_key);\n return this.tailing = new Travis.Tailing();\n },\n initAuth: function(router, path) {\n var auth;\n auth = Travis.Auth.create({\n app: this,\n router: router,\n endpoint: Travis.config.api_endpoint\n });\n this.set('auth', auth);\n return auth.loadUser(path);\n },\n signIn: function() {\n return this.get('auth').signIn();\n },\n signOut: function() {\n this.get('auth').signOut();\n return this.get('router').send('afterSignOut');\n },\n receive: function() {\n return this.store.receive.apply(this.store, arguments);\n },\n toggleSidebar: function() {\n var element;\n $('body').toggleClass('maximized');\n element = $('');\n $('#top .profile').append(element);\n Em.run.later((function() {\n return element.remove();\n }), 10);\n element = $('');\n $('#repo').append(element);\n return Em.run.later((function() {\n return element.remove();\n }), 10);\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=app");minispade.register('auth', "(function() {(function() {\n\n this.Travis.Auth = Ember.Object.extend({\n iframe: $('