From d1255d9230a65cec35af8d56e71e0c6f4c015971 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Fri, 21 Sep 2012 15:14:01 +0200 Subject: [PATCH] refactor app/auth stuff --- assets/javascripts/app/app.coffee | 35 +++------- assets/javascripts/app/auth.coffee | 64 +++++++++++++++++++ .../javascripts/app/store/rest_adapter.coffee | 4 +- .../javascripts/app/templates/layouts/top.hbs | 4 +- assets/javascripts/app/views/top.coffee | 11 +--- assets/javascripts/lib/travis/auth.coffee | 53 --------------- assets/stylesheets/top.sass | 6 +- public/javascripts/application.js | 2 +- public/stylesheets/application.css | 6 +- 9 files changed, 85 insertions(+), 100 deletions(-) create mode 100644 assets/javascripts/app/auth.coffee delete mode 100644 assets/javascripts/lib/travis/auth.coffee diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 5878edfd..adb8f94e 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -1,4 +1,5 @@ require 'travis' # hrm. +require 'auth' require 'controllers' require 'helpers' require 'models' @@ -11,7 +12,6 @@ require 'views' require 'config/locales' require 'data/sponsors' -require 'travis/auth' # $.mockjaxSettings.log = false # Ember.LOG_BINDINGS = true @@ -20,6 +20,10 @@ require 'travis/auth' Travis.reopen App: Em.Application.extend + currentUserBinding: 'auth.user' + accessTokenBinding: 'auth.user.token' + authStateBinding: 'auth.state' + init: -> @_super() @connect() @@ -31,36 +35,13 @@ Travis.reopen @pusher = new Travis.Pusher() @tailing = new Travis.Tailing() - @loadUser() - - loadUser: -> - user = sessionStorage?.getItem("travisUser") - if user - @setCurrentUser JSON.parse(user) - else if localStorage?.getItem("travisTrySignIn") - Travis.Auth.trySignIn() + @set('auth', Travis.Auth.create(store: @store, endpoint: Travis.config.api_endpoint)) signIn: -> - @set('signingIn', true) - Travis.Auth.signIn() - # TODO: this has to mov, no? - @render.apply(this, @get('returnTo') || ['home', 'index']) + @get('auth').signIn() signOut: -> - Travis.config.access_token = null - localStorage?.clear() - sessionStorage?.clear() - @setCurrentUser() - - setCurrentUser: (data) -> - data = JSON.parse(data) if typeof data == 'string' - if data - localStorage?.setItem("travisTrySignIn", "true") - sessionStorage?.setItem("travisUser", JSON.stringify(data)) - @store.load(Travis.User, data.user) - @store.loadMany(Travis.Account, data.accounts) - @set('currentUser', if data then Travis.User.find(data.user.id) else undefined) - @set('signingIn', false) + @get('auth').signOut() render: (name, action, params) -> layout = @connectLayout(name) diff --git a/assets/javascripts/app/auth.coffee b/assets/javascripts/app/auth.coffee new file mode 100644 index 00000000..1fe02887 --- /dev/null +++ b/assets/javascripts/app/auth.coffee @@ -0,0 +1,64 @@ +@Travis.Auth = Ember.Object.extend + iframe: $('