fix sign in payload, user loading etc

This commit is contained in:
Sven Fuchs 2012-09-18 21:03:52 +02:00
parent b3c310d51d
commit effd6360a7
5 changed files with 19 additions and 20 deletions

View File

@ -31,7 +31,7 @@ Travis.reopen
@pusher = new Travis.Pusher()
@tailing = new Travis.Tailing()
#@setCurrentUser(JSON.parse($.cookie('user')))
# @setCurrentUser(JSON.parse($.cookie('user')))
signIn: ->
Travis.Auth.signIn()
@ -44,11 +44,10 @@ Travis.reopen
setCurrentUser: (data) ->
data = JSON.parse(data) if typeof data == 'string'
#$.cookie('user', JSON.stringify(data))
# $.cookie('user', JSON.stringify(data))
if data
@store.load(Travis.User, data.user)
# TODO: this throws an error
#@store.loadMany(Travis.Account, data.accounts)
@store.loadMany(Travis.Account, data.accounts)
@set('currentUser', if data then Travis.User.find(data.user.id) else undefined)
render: (name, action, params) ->

View File

@ -1,15 +1,15 @@
require 'travis/model'
@Travis.User = Travis.Model.extend
name: DS.attr('string')
email: DS.attr('string')
login: DS.attr('string')
token: DS.attr('string')
locale: DS.attr('string')
gravatar: DS.attr('string')
isSyncing: DS.attr('boolean')
syncedAt: DS.attr('string')
repoCount: DS.attr('number')
name: DS.attr('string')
email: DS.attr('string')
login: DS.attr('string')
token: DS.attr('string')
locale: DS.attr('string')
gravatarId: DS.attr('string')
isSyncing: DS.attr('boolean')
syncedAt: DS.attr('string')
repoCount: DS.attr('number')
init: ->
@poll() if @get('isSyncing')

View File

@ -65,8 +65,8 @@
userBinding: 'controller.user'
gravatarUrl: (->
"http://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=48&d=mm"
).property('user.gravatar')
"http://www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm"
).property('user.gravatarId')
locales: (->
[

View File

@ -8,8 +8,8 @@ require 'travis/auth'
userBinding: 'controller.user'
gravatarUrl: (->
"https://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=24&d=mm"
).property('user.gravatar')
"https://www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=24&d=mm"
).property('user.gravatarId')
# hrm. how to parametrize bindAttr?
classHome: (->

View File

@ -15,7 +15,7 @@ $.extend Travis.Auth.prototype,
expectedOrigin: ->
if Travis.config.api_endpoint[0] == '/'
window.location.protocol + "://" + window.location.host
window.location.protocol + "//" + window.location.host
else
Travis.config.api_endpoint
@ -24,8 +24,8 @@ $.extend Travis.Auth.prototype,
console.log("unexpected message #{event.origin}: #{event.data}")
else
Travis.config.access_token = event.data.token
Travis.app.setCurrentUser(event.data.user)
console.log('sign in!')
Travis.app.setCurrentUser(event.data)
console.log("signed in as #{event.data.user.login}")
trySignIn: ->
@iframe.attr('src', "#{Travis.config.api_endpoint}/auth/post_message")