Load worker related records from pusher payload
This commit is contained in:
parent
7f979c8a5e
commit
231f3b8723
|
@ -18,17 +18,21 @@ require 'travis/model'
|
|||
@get('state') == 'working'
|
||||
).property('state')
|
||||
|
||||
repo: (->
|
||||
Travis.Repo.find(@get('payload.repository.id') || @get('payload.repo.id'))
|
||||
).property('payload.repository.id', 'payload.repo.id')
|
||||
|
||||
job_id: (->
|
||||
jobId: (->
|
||||
@get('payload.job.id')
|
||||
).property('payload.job.id')
|
||||
|
||||
job: (->
|
||||
Travis.Job.find @get('job_id')
|
||||
).property('job_id')
|
||||
).property('jobId')
|
||||
|
||||
repo: (->
|
||||
Travis.Repo.find(@get('payload.repository.id') || @get('payload.repo.id'))
|
||||
).property('payload.repository.id', 'payload.repo.id')
|
||||
|
||||
repoSlug: (->
|
||||
@get('payload.repo.slug') || @get('payload.repository.slug')
|
||||
).property('payload.repo.slug', 'payload.repository.slug')
|
||||
|
||||
nameForSort: (->
|
||||
if name = @get('name')
|
||||
|
|
|
@ -211,9 +211,13 @@ Travis.Router = Ember.Router.extend
|
|||
deferred.promise()
|
||||
|
||||
serialize: (router, repo) ->
|
||||
if repo
|
||||
if typeof repo == 'string'
|
||||
[owner, name] = repo.split '/'
|
||||
{ owner: owner, name: name }
|
||||
else if repo
|
||||
{ owner: repo.get('owner'), name: repo.get('name') }
|
||||
else
|
||||
# TODO: it would be nice to handle 404 somehow
|
||||
{}
|
||||
|
||||
show: Ember.Route.extend
|
||||
|
|
|
@ -42,6 +42,8 @@ Travis.Store = DS.Store.extend
|
|||
|
||||
if clientId != undefined
|
||||
if data = dataCache[clientId]
|
||||
# trying to set id here fails, TODO: talk with ember core team to create merge-like function
|
||||
delete hash.id
|
||||
$.extend(data, hash)
|
||||
else
|
||||
dataCache[clientId] = hash
|
||||
|
@ -80,7 +82,12 @@ Travis.Store = DS.Store.extend
|
|||
# if we need sideload becasue we have side records with other events it needs to
|
||||
# be revised
|
||||
if type == Travis.Build && (json.repository || json.repo)
|
||||
result = @loadIncomplete(Travis.Repo, json.repository || json.repo)
|
||||
@loadIncomplete(Travis.Repo, json.repository || json.repo)
|
||||
else if type == Travis.Worker && json.worker.payload
|
||||
if repo = (json.worker.payload.repo || json.worker.payload.repository)
|
||||
@loadIncomplete(Travis.Repo, repo)
|
||||
if job = json.worker.payload.job
|
||||
@loadIncomplete(Travis.Job, job)
|
||||
@loadIncomplete(type, json[root])
|
||||
|
||||
addLoadedData: (type, clientId, hash) ->
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<li class="worker">
|
||||
<div class="status"></div>
|
||||
{{#if worker.isWorking}}
|
||||
{{#if worker.job_id}}
|
||||
<a {{action showJob worker.repo worker.job_id target="Travis.app.router" href=true}} {{bindAttr title="worker.lastSeenAt"}}>
|
||||
{{#if worker.jobId}}
|
||||
<a {{action showJob worker.repoSlug worker.jobId target="Travis.app.router" href=true}} {{bindAttr title="worker.lastSeenAt"}}>
|
||||
{{view.display}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
payload = @get('worker.payload')
|
||||
|
||||
if state == 'working' && payload?.repository && payload?.build
|
||||
repo = payload.repository.slug
|
||||
repo = @get('worker.repoSlug')
|
||||
number = ' #' + payload.build.number
|
||||
"<span class='name'>#{name}: #{repo}</span> #{number}".htmlSafe()
|
||||
else
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
376c1880
|
||||
0a9ef10c
|
Loading…
Reference in New Issue
Block a user