Fixed session backend of ticket overview list.
This commit is contained in:
parent
1a8a9047b7
commit
daf3656914
4 changed files with 119 additions and 67 deletions
|
@ -93,7 +93,7 @@ returns
|
||||||
self.roles.each { |role|
|
self.roles.each { |role|
|
||||||
return role if role.name == role_name
|
return role if role.name == role_name
|
||||||
}
|
}
|
||||||
return false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
|
|
@ -12,17 +12,27 @@ class Sessions::Backend::TicketOverviewList
|
||||||
overviews = Ticket::Overviews.all(
|
overviews = Ticket::Overviews.all(
|
||||||
:current_user => @user,
|
:current_user => @user,
|
||||||
)
|
)
|
||||||
|
result = []
|
||||||
|
overviews.each { |overview|
|
||||||
|
overview_data = Ticket::Overviews.list(
|
||||||
|
:view => overview.link,
|
||||||
|
:current_user => @user,
|
||||||
|
:array => true,
|
||||||
|
)
|
||||||
|
data = { :list => overview_data, :index => overview }
|
||||||
|
result.push data
|
||||||
|
}
|
||||||
|
|
||||||
# no data exists
|
# no data exists
|
||||||
return if !overviews
|
return if !result || result.empty?
|
||||||
|
|
||||||
# no change exists
|
# no change exists
|
||||||
return if @last_change == overviews
|
return if @last_change == result
|
||||||
|
|
||||||
# remember last state
|
# remember last state
|
||||||
@last_change = overviews
|
@last_change = result
|
||||||
|
|
||||||
overviews
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_key
|
def client_key
|
||||||
|
@ -36,20 +46,17 @@ class Sessions::Backend::TicketOverviewList
|
||||||
return if timeout
|
return if timeout
|
||||||
|
|
||||||
# set new timeout
|
# set new timeout
|
||||||
Sessions::CacheIn.set( self.client_key, true, { :expires_in => 5.seconds } )
|
Sessions::CacheIn.set( self.client_key, true, { :expires_in => 6.seconds } )
|
||||||
|
|
||||||
overviews = self.load
|
items = self.load
|
||||||
|
|
||||||
return if !overviews
|
return if !items
|
||||||
|
|
||||||
# push overviews
|
# push overviews
|
||||||
overviews.each { |overview|
|
results = []
|
||||||
|
items.each { |item|
|
||||||
|
|
||||||
overview_data = Ticket::Overviews.list(
|
overview_data = item[:list]
|
||||||
:view => overview.link,
|
|
||||||
:current_user => @user,
|
|
||||||
:array => true,
|
|
||||||
)
|
|
||||||
|
|
||||||
assets = {}
|
assets = {}
|
||||||
overview_data[:ticket_ids].each {|ticket_id|
|
overview_data[:ticket_ids].each {|ticket_id|
|
||||||
|
@ -82,11 +89,12 @@ class Sessions::Backend::TicketOverviewList
|
||||||
}
|
}
|
||||||
|
|
||||||
if !@client
|
if !@client
|
||||||
return {
|
result = {
|
||||||
:event => 'navupdate_ticket_overview',
|
:event => 'navupdate_ticket_overview',
|
||||||
:data => overview,
|
:data => item[:index],
|
||||||
}
|
}
|
||||||
end
|
results.push result
|
||||||
|
else
|
||||||
|
|
||||||
@client.log 'notify', "push overview_list for user #{ @user.id }"
|
@client.log 'notify', "push overview_list for user #{ @user.id }"
|
||||||
|
|
||||||
|
@ -106,9 +114,12 @@ class Sessions::Backend::TicketOverviewList
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
:event => [ 'ticket_overview_rebuild' ],
|
:event => [ 'ticket_overview_rebuild' ],
|
||||||
:collection => 'ticket_overview_' + overview.link.to_s,
|
:collection => 'ticket_overview_' + item[:index].link.to_s,
|
||||||
})
|
})
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
return results if !@client
|
||||||
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -47,6 +47,8 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
test 'b collections group' do
|
test 'b collections group' do
|
||||||
require 'sessions/backend/collections/group.rb'
|
require 'sessions/backend/collections/group.rb'
|
||||||
|
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
user = User.lookup(:id => 1)
|
user = User.lookup(:id => 1)
|
||||||
collection_client1 = Sessions::Backend::Collections::Group.new(user, false, '123-1')
|
collection_client1 = Sessions::Backend::Collections::Group.new(user, false, '123-1')
|
||||||
collection_client2 = Sessions::Backend::Collections::Group.new(user, false, '234-2')
|
collection_client2 = Sessions::Backend::Collections::Group.new(user, false, '234-2')
|
||||||
|
@ -88,7 +90,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
assert_equal( result1, result2, "check collections" )
|
assert_equal( result1, result2, "check collections" )
|
||||||
|
|
||||||
# change collection
|
# change collection
|
||||||
group = Group.create( :name => 'SomeGroup::' + rand(999999).to_s, :active => true, :created_by_id => 1, :updated_by_id => 1 )
|
group = Group.create( :name => 'SomeGroup::' + rand(999999).to_s, :active => true )
|
||||||
sleep 12
|
sleep 12
|
||||||
|
|
||||||
# get whole collections
|
# get whole collections
|
||||||
|
@ -137,6 +139,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
test 'b collections organization' do
|
test 'b collections organization' do
|
||||||
require 'sessions/backend/collections/organization.rb'
|
require 'sessions/backend/collections/organization.rb'
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
Organization.destroy_all
|
Organization.destroy_all
|
||||||
user = User.lookup(:id => 1)
|
user = User.lookup(:id => 1)
|
||||||
|
|
||||||
|
@ -159,7 +162,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
assert( !result2, "check collections - recall" )
|
assert( !result2, "check collections - recall" )
|
||||||
|
|
||||||
# change collection
|
# change collection
|
||||||
org = Organization.create( :name => 'SomeOrg::' + rand(999999).to_s, :active => true, :created_by_id => 1, :updated_by_id => 1 )
|
org = Organization.create( :name => 'SomeOrg::' + rand(999999).to_s, :active => true )
|
||||||
sleep 16
|
sleep 16
|
||||||
|
|
||||||
# get whole collections
|
# get whole collections
|
||||||
|
@ -209,6 +212,8 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
test 'b activity stream' do
|
test 'b activity stream' do
|
||||||
|
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
|
|
||||||
# create users
|
# create users
|
||||||
roles = Role.where( :name => [ 'Agent', 'Admin'] )
|
roles = Role.where( :name => [ 'Agent', 'Admin'] )
|
||||||
groups = Group.all
|
groups = Group.all
|
||||||
|
@ -244,7 +249,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
assert( !result1, "check as - recall 2" )
|
assert( !result1, "check as - recall 2" )
|
||||||
|
|
||||||
agent1.update_attribute( :email, 'activity-stream-agent11@example.com' )
|
agent1.update_attribute( :email, 'activity-stream-agent11@example.com' )
|
||||||
ticket = Ticket.create(:title => '12323', :updated_by_id => 1, :created_by_id => 1, :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1)
|
ticket = Ticket.create(:title => '12323', :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1 )
|
||||||
|
|
||||||
sleep 32
|
sleep 32
|
||||||
|
|
||||||
|
@ -285,6 +290,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
test 'b ticket_create' do
|
test 'b ticket_create' do
|
||||||
|
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
user = User.lookup(:id => 1)
|
user = User.lookup(:id => 1)
|
||||||
ticket_create_client1 = Sessions::Backend::TicketCreate.new(user, false, '123-1')
|
ticket_create_client1 = Sessions::Backend::TicketCreate.new(user, false, '123-1')
|
||||||
|
|
||||||
|
@ -302,7 +308,7 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
result1 = ticket_create_client1.push
|
result1 = ticket_create_client1.push
|
||||||
assert( !result1, "check ticket_create - recall 2" )
|
assert( !result1, "check ticket_create - recall 2" )
|
||||||
|
|
||||||
Group.create( :name => 'SomeTicketCreateGroup::' + rand(999999).to_s, :active => true, :created_by_id => 1, :updated_by_id => 1 )
|
Group.create( :name => 'SomeTicketCreateGroup::' + rand(999999).to_s, :active => true )
|
||||||
|
|
||||||
sleep 26
|
sleep 26
|
||||||
|
|
||||||
|
@ -311,32 +317,4 @@ class SessionBasicTest < ActiveSupport::TestCase
|
||||||
assert( result1, "check ticket_create - recall 3" )
|
assert( result1, "check ticket_create - recall 3" )
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'b ticket_overview_index' do
|
|
||||||
|
|
||||||
user = User.lookup(:id => 1)
|
|
||||||
ticket_overview_index_client1 = Sessions::Backend::TicketOverviewIndex.new(user, false, '123-1')
|
|
||||||
|
|
||||||
# get as stream
|
|
||||||
result1 = ticket_overview_index_client1.push
|
|
||||||
assert( result1, "check ticket_overview_index" )
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
# next check should be empty
|
|
||||||
result1 = ticket_overview_index_client1.push
|
|
||||||
assert( !result1, "check ticket_overview_index - recall" )
|
|
||||||
|
|
||||||
# next check should be empty
|
|
||||||
sleep 10
|
|
||||||
result1 = ticket_overview_index_client1.push
|
|
||||||
assert( !result1, "check ticket_overview_index - recall 2" )
|
|
||||||
|
|
||||||
ticket = Ticket.create( :title => '12323', :updated_by_id => 1, :created_by_id => 1, :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1)
|
|
||||||
|
|
||||||
sleep 10
|
|
||||||
|
|
||||||
# get as stream
|
|
||||||
result1 = ticket_overview_index_client1.push
|
|
||||||
assert( result1, "check ticket_overview_index - recall 3" )
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
63
test/unit/session_basic_ticket_test.rb
Normal file
63
test/unit/session_basic_ticket_test.rb
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class SessionBasicTicketTest < ActiveSupport::TestCase
|
||||||
|
test 'b ticket_overview_index' do
|
||||||
|
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
|
user = User.lookup(:id => 1)
|
||||||
|
client1 = Sessions::Backend::TicketOverviewIndex.new(user, false, '123-1')
|
||||||
|
|
||||||
|
# get as stream
|
||||||
|
result1 = client1.push
|
||||||
|
assert( result1, "check ticket_overview_index" )
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# next check should be empty
|
||||||
|
result1 = client1.push
|
||||||
|
assert( !result1, "check ticket_overview_index - recall" )
|
||||||
|
|
||||||
|
# next check should be empty
|
||||||
|
sleep 10
|
||||||
|
result1 = client1.push
|
||||||
|
assert( !result1, "check ticket_overview_index - recall 2" )
|
||||||
|
|
||||||
|
ticket = Ticket.create( :title => '12323', :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1 )
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
# get as stream
|
||||||
|
result1 = client1.push
|
||||||
|
assert( result1, "check ticket_overview_index - recall 3" )
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'b ticket_overview_list' do
|
||||||
|
|
||||||
|
UserInfo.current_user_id = 1
|
||||||
|
user = User.lookup(:id => 1)
|
||||||
|
client1 = Sessions::Backend::TicketOverviewList.new(user, false, '123-1')
|
||||||
|
|
||||||
|
# get as stream
|
||||||
|
result1 = client1.push
|
||||||
|
assert( result1, "check ticket_overview_list" )
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# next check should be empty
|
||||||
|
result1 = client1.push
|
||||||
|
assert( !result1, "check ticket_overview_list - recall" )
|
||||||
|
|
||||||
|
# next check should be empty
|
||||||
|
sleep 10
|
||||||
|
result1 = client1.push
|
||||||
|
assert( !result1, "check ticket_overview_list - recall 2" )
|
||||||
|
|
||||||
|
ticket = Ticket.create( :title => '12323', :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1 )
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
# get as stream
|
||||||
|
result1 = client1.push
|
||||||
|
puts "RR: #{result1.inspect}"
|
||||||
|
assert( result1, "check ticket_overview_list - recall 3" )
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue