Renamed Ticket::Overview to Ticket::Overviews.

This commit is contained in:
Martin Edenhofer 2013-08-19 12:21:31 +02:00
parent f8f68836a6
commit ee9bffe8ca
4 changed files with 40 additions and 45 deletions

View file

@ -55,22 +55,19 @@ class Index extends App.ControllerContent
load: (data) => load: (data) =>
return if !data return if !data
return if !data.ticket_list return if !data.ticket_ids
return if !data.overview return if !data.overview
@overview = data.overview @overview = data.overview
@tickets_count = data.tickets_count @tickets_count = data.tickets_count
@ticket_list = data.ticket_list @ticket_ids = data.ticket_ids
if data.ajax if data.ajax
data.ajax = false data.ajax = false
App.Store.write( @key, data ) App.Store.write( @key, data )
# load user collection # load collections
App.Collection.load( type: 'User', data: data.collections.users ) App.Event.trigger 'loadAssets', data.assets
# load ticket collection
App.Collection.load( type: 'Ticket', data: data.collections.tickets )
# get meta data # get meta data
@overview = data.overview @overview = data.overview
@ -87,7 +84,7 @@ class Index extends App.ControllerContent
@fetch() @fetch()
@ticket_list_show = [] @ticket_list_show = []
for ticket_id in @ticket_list for ticket_id in @ticket_ids
@ticket_list_show.push App.Ticket.retrieve( ticket_id ) @ticket_list_show.push App.Ticket.retrieve( ticket_id )
# remeber bulk attributes # remeber bulk attributes
@ -497,7 +494,7 @@ class Router extends App.Controller
cache = App.Store.get( @key ) cache = App.Store.get( @key )
if cache if cache
@tickets_count = cache.tickets_count @tickets_count = cache.tickets_count
@ticket_list = cache.ticket_list @ticket_ids = cache.ticket_ids
@redirect() @redirect()
else else
@ajax( @ajax(
@ -511,7 +508,7 @@ class Router extends App.Controller
) )
load: (data) => load: (data) =>
@ticket_list = data.ticket_list @ticket_ids = data.ticket_ids
@tickets_count = data.tickets_count @tickets_count = data.tickets_count
# App.Store.write( data ) # App.Store.write( data )
@redirect() @redirect()
@ -524,19 +521,19 @@ class Router extends App.Controller
# redirect # redirect
if @direction == 'next' if @direction == 'next'
if @ticket_list[ @position ] && @ticket_list[ @position ] if @ticket_ids[ @position ] && @ticket_ids[ @position ]
position = @position + 1 position = @position + 1
@Config.set( 'LastOverviewPosition', position ) @Config.set( 'LastOverviewPosition', position )
@navigate 'ticket/zoom/' + @ticket_list[ @position ] + '/nav/true' @navigate 'ticket/zoom/' + @ticket_ids[ @position ] + '/nav/true'
else else
@navigate 'ticket/zoom/' + @ticket_list[ @position - 1 ] + '/nav/true' @navigate 'ticket/zoom/' + @ticket_ids[ @position - 1 ] + '/nav/true'
else else
if @ticket_list[ @position - 2 ] && @ticket_list[ @position - 2 ] + '/nav/true' if @ticket_ids[ @position - 2 ] && @ticket_ids[ @position - 2 ] + '/nav/true'
position = @position - 1 position = @position - 1
@Config.set( 'LastOverviewPosition', position ) @Config.set( 'LastOverviewPosition', position )
@navigate 'ticket/zoom/' + @ticket_list[ @position - 2 ] + '/nav/true' @navigate 'ticket/zoom/' + @ticket_ids[ @position - 2 ] + '/nav/true'
else else
@navigate 'ticket/zoom/' + @ticket_list[ @position - 1 ] + '/nav/true' @navigate 'ticket/zoom/' + @ticket_ids[ @position - 1 ] + '/nav/true'
App.Config.set( 'ticket_view/:view', Index, 'Routes' ) App.Config.set( 'ticket_view/:view', Index, 'Routes' )
App.Config.set( 'ticket_view/:view/:position/:direction', Router, 'Routes' ) App.Config.set( 'ticket_view/:view/:position/:direction', Router, 'Routes' )

View file

@ -8,7 +8,7 @@ class TicketOverviewsController < ApplicationController
# get navbar overview data # get navbar overview data
if !params[:view] if !params[:view]
result = Ticket::Overview.list( result = Ticket::Overviews.list(
:current_user => current_user, :current_user => current_user,
) )
render :json => result render :json => result
@ -17,7 +17,7 @@ class TicketOverviewsController < ApplicationController
# get real overview data # get real overview data
if params[:array] if params[:array]
overview = Ticket::Overview.list( overview = Ticket::Overviews.list(
:view => params[:view], :view => params[:view],
:current_user => current_user, :current_user => current_user,
:array => true, :array => true,
@ -36,7 +36,7 @@ class TicketOverviewsController < ApplicationController
} }
return return
end end
overview = Ticket::Overview.list( overview = Ticket::Overviews.list(
:view => params[:view], :view => params[:view],
:current_user => current_user, :current_user => current_user,
:array => true, :array => true,

View file

@ -1,14 +1,12 @@
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/ # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
require 'overview' module Ticket::Overviews
class Ticket::Overview
=begin =begin
all overview by user all overview by user
result = Ticket::Overview.all( result = Ticket::Overviews.all(
:current_user => User.find(123), :current_user => User.find(123),
) )
@ -28,20 +26,19 @@ returns
else else
overviews = Overview.where( :role_id => role.id, :organization_shared => false, :active => true ) overviews = Overview.where( :role_id => role.id, :organization_shared => false, :active => true )
end end
return overviews overviews
end end
# get agent overviews # get agent overviews
role = data[:current_user].is_role( 'Agent' ) role = data[:current_user].is_role( 'Agent' )
overviews = Overview.where( :role_id => role.id, :active => true ) Overview.where( :role_id => role.id, :active => true )
return overviews
end end
=begin =begin
selected overview by user selected overview by user
result = Ticket::Overview.list( result = Ticket::Overviews.list(
:current_user => User.find(123), :current_user => User.find(123),
:view => 'some_view_url', :view => 'some_view_url',
) )
@ -187,7 +184,6 @@ returns
:tickets_count => tickets_count, :tickets_count => tickets_count,
:overview => overview_selected_raw, :overview => overview_selected_raw,
} }
end end
private private
@ -249,5 +245,4 @@ returns
bind[0] = sql bind[0] = sql
return bind return bind
end end
end end

View file

@ -395,7 +395,7 @@ class UserState
# overview # overview
cache_key = @cache_key + '_overview' cache_key = @cache_key + '_overview'
if CacheIn.expired(cache_key) if CacheIn.expired(cache_key)
overview = Ticket::Overview.list( overview = Ticket::Overviews.list(
:current_user => user, :current_user => user,
) )
overview_cache = CacheIn.get( cache_key, { :re_expire => true } ) overview_cache = CacheIn.get( cache_key, { :re_expire => true } )
@ -410,13 +410,13 @@ class UserState
end end
# overview lists # overview lists
overviews = Ticket::Overview.all( overviews = Ticket::Overviews.all(
:current_user => user, :current_user => user,
) )
overviews.each { |overview| overviews.each { |overview|
cache_key = @cache_key + '_overview_data_' + overview.link cache_key = @cache_key + '_overview_data_' + overview.link
if CacheIn.expired(cache_key) if CacheIn.expired(cache_key)
overview_data = Ticket::Overview.list( overview_data = Ticket::Overviews.list(
:view => overview.link, :view => overview.link,
:current_user => user, :current_user => user,
:array => true, :array => true,
@ -597,14 +597,14 @@ class ClientState
if !CacheIn.get( 'pushed_tickets' + @client_id.to_s ) if !CacheIn.get( 'pushed_tickets' + @client_id.to_s )
CacheIn.set( 'pushed_tickets' + @client_id.to_s , true, { :expires_in => 20.seconds } ) CacheIn.set( 'pushed_tickets' + @client_id.to_s , true, { :expires_in => 20.seconds } )
if @pushed[:tickets] if @pushed[:tickets]
tickets = [] tickets = {}
users = {} users = {}
@pushed[:tickets].each {|ticket_id, ticket_data| @pushed[:tickets].each {|ticket_id, ticket_data|
self.ticket( ticket_id, tickets, users ) self.ticket( ticket_id, tickets, users )
} }
if !tickets.empty? if !tickets.empty?
tickets.each {|ticket| tickets.each {|id, ticket|
self.log 'notify', "push update of already pushed ticket id #{ticket['id']}" self.log 'notify', "push update of already pushed ticket id #{id}"
} }
# send update to browser # send update to browser
self.send({ self.send({
@ -637,7 +637,7 @@ class ClientState
end end
# overview_data # overview_data
overviews = Ticket::Overview.all( overviews = Ticket::Overviews.all(
:current_user => user, :current_user => user,
) )
overviews.each { |overview| overviews.each { |overview|
@ -649,8 +649,8 @@ class ClientState
overview_data = CacheIn.get( cache_key, { :ignore_expire => true } ) overview_data = CacheIn.get( cache_key, { :ignore_expire => true } )
self.log 'notify', "push overview_data #{overview.link} for user #{user.id}" self.log 'notify', "push overview_data #{overview.link} for user #{user.id}"
users = {} users = {}
tickets = [] tickets = {}
overview_data[:ticket_list].each {|ticket_id| overview_data[:ticket_ids].each {|ticket_id|
self.ticket( ticket_id, tickets, users ) self.ticket( ticket_id, tickets, users )
} }
@ -677,21 +677,24 @@ class ClientState
} }
# send update to browser # send update to browser
self.send({
:data => {
:users => users,
:tickets => tickets,
},
:event => [ 'loadAssets' ]
})
self.send({ self.send({
:data => { :data => {
:overview => overview_data[:overview], :overview => overview_data[:overview],
:ticket_list => overview_data[:ticket_list], :ticket_ids => overview_data[:ticket_ids],
:tickets_count => overview_data[:tickets_count], :tickets_count => overview_data[:tickets_count],
:collections => {
:User => users,
:Ticket => tickets,
},
:bulk => { :bulk => {
:group_id__owner_id => groups_users, :group_id__owner_id => groups_users,
:owner_id => [], :owner_id => [],
}, },
}, },
:event => [ 'loadCollection', 'ticket_overview_rebuild' ], :event => [ 'ticket_overview_rebuild' ],
:collection => 'ticket_overview_' + overview.link.to_s, :collection => 'ticket_overview_' + overview.link.to_s,
}) })
end end
@ -816,7 +819,7 @@ class ClientState
ticket = Ticket.lookup( :id => ticket_id ) ticket = Ticket.lookup( :id => ticket_id )
if @pushed[:tickets][ticket_id] != ticket['updated_at'] if @pushed[:tickets][ticket_id] != ticket['updated_at']
@pushed[:tickets][ticket_id] = ticket['updated_at'] @pushed[:tickets][ticket_id] = ticket['updated_at']
tickets.push ticket tickets[ticket_id] = ticket
end end
# add users if needed # add users if needed