From aeb288d5e5f107e52bea097e6cab81cf23687e5a Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Wed, 21 Aug 2013 01:54:16 +0200 Subject: [PATCH] Fixed race conditions. --- .../controllers/agent_ticket_create.js.coffee | 7 +++++- .../app/controllers/ticket_zoom.js.coffee | 23 +++++++++---------- .../app/lib/app_post/task_manager.js.coffee | 18 +++++++-------- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/app/assets/javascripts/app/controllers/agent_ticket_create.js.coffee b/app/assets/javascripts/app/controllers/agent_ticket_create.js.coffee index 93498db1a..a9be66fb5 100644 --- a/app/assets/javascripts/app/controllers/agent_ticket_create.js.coffee +++ b/app/assets/javascripts/app/controllers/agent_ticket_create.js.coffee @@ -57,7 +57,12 @@ class App.TicketCreate extends App.Controller meta: => text = App.i18n.translateInline( @article_attributes['title'] ) - subject = @el.find('[name=subject]').val() + if !@_initMetaDone + @_initMetaDone = true + state = App.TaskManager.get(@task_key).state + subject = state['subject'] + else + subject = @el.find('[name=subject]').val() if subject text = "#{text}: #{subject}" meta = diff --git a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee index 3b7b8aae5..d6d6633af 100644 --- a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee +++ b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee @@ -35,16 +35,18 @@ class App.TicketZoom extends App.Controller ) meta: => - return if !@ticket - ticket = App.Ticket.retrieve( @ticket.id ) meta = url: @url() - head: ticket.title - title: '#' + ticket.number + ' - ' + ticket.title - id: ticket.id + head: '???' + title: '???' + id: @ticket_id + if @ticket + meta.head = @ticket.title + meta.title = '#' + @ticket.number + ' - ' + @ticket.title + meta url: => - '#ticket/zoom/' + @ticket.id + '#ticket/zoom/' + @ticket_id activate: => @navupdate '#' @@ -106,9 +108,6 @@ class App.TicketZoom extends App.Controller load: (data, force) => - # reset old indexes - @ticket = undefined - # remember article ids @ticket_article_ids = data.ticket_article_ids @@ -121,14 +120,14 @@ class App.TicketZoom extends App.Controller # load collections App.Event.trigger 'loadAssets', data.assets + # get data + @ticket = App.Ticket.retrieve( @ticket_id ) + # render page @render(force) render: (force) => - # get data - @ticket = App.Ticket.retrieve( @ticket_id ) - # update taskbar with new meta data App.Event.trigger 'task:render' if !@renderDone diff --git a/app/assets/javascripts/app/lib/app_post/task_manager.js.coffee b/app/assets/javascripts/app/lib/app_post/task_manager.js.coffee index 32c82f955..84d95edf5 100644 --- a/app/assets/javascripts/app/lib/app_post/task_manager.js.coffee +++ b/app/assets/javascripts/app/lib/app_post/task_manager.js.coffee @@ -371,18 +371,18 @@ class _taskManagerSingleton extends App.Controller # reopen tasks App.Event.trigger 'taskbar:init' - task_count = 1 + task_count = 0 for task in @allTasks task_count += 1 console.log('START', task) - App.Delay.set( - => - task = tasks.shift() - @add(task.key, task.callback, task.params, true) - task_count * 300 - undefined - 'task' - ) + do (task) => + App.Delay.set( + => + @add(task.key, task.callback, task.params, true) + task_count * 300 + undefined + 'task' + ) App.Event.trigger 'taskbar:ready'