From b6b9def3752fcddd3312eaf7be1cf08942702c9a Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Sat, 25 Jul 2015 16:36:16 +0200 Subject: [PATCH] Moved from Ticket::ScreenOptions.agents to generic User.of_role('Agent'). --- app/controllers/ticket_overviews_controller.rb | 2 +- app/models/online_notification.rb | 3 +-- app/models/ticket/screen_options.rb | 18 +----------------- app/models/user.rb | 16 ++++++++++++++++ lib/sessions/backend/ticket_overview_list.rb | 4 ++-- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/app/controllers/ticket_overviews_controller.rb b/app/controllers/ticket_overviews_controller.rb index c21144050..e3cb9ee75 100644 --- a/app/controllers/ticket_overviews_controller.rb +++ b/app/controllers/ticket_overviews_controller.rb @@ -61,7 +61,7 @@ class TicketOverviewsController < ApplicationController group_ids.push group.id } agents = {} - Ticket::ScreenOptions.agents.each { |user| + User.of_role('Agent').each { |user| agents[ user.id ] = 1 } groups_users = {} diff --git a/app/models/online_notification.rb b/app/models/online_notification.rb index ed5907408..56da4add0 100644 --- a/app/models/online_notification.rb +++ b/app/models/online_notification.rb @@ -202,8 +202,7 @@ cleanup old online notifications OnlineNotification.where('seen = ? AND created_at < ?', true, Time.zone.now - 1.days).delete_all # notify all agents - users = Ticket::ScreenOptions.agents - users.each {|user| + User.of_role('Agent').each {|user| Sessions.send_to( user.id, { diff --git a/app/models/ticket/screen_options.rb b/app/models/ticket/screen_options.rb index adf41074e..0bc52e6a8 100644 --- a/app/models/ticket/screen_options.rb +++ b/app/models/ticket/screen_options.rb @@ -3,22 +3,6 @@ module Ticket::ScreenOptions =begin -list of active agents - - result = Ticket::ScreenOptions.agents - -returns - - result = [user1, user2] - -=end - - def self.agents - User.where( active: true ).joins(:roles).where( 'roles.name' => 'Agent', 'roles.active' => true ).uniq() - end - -=begin - list attributes result = Ticket::ScreenOptions.attributes_to_change( @@ -98,7 +82,7 @@ returns # get group / user relations agents = {} - Ticket::ScreenOptions.agents.each { |user| + User.of_role('Agent').each { |user| agents[ user.id ] = 1 } diff --git a/app/models/user.rb b/app/models/user.rb index d13048676..e7304c928 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -416,6 +416,22 @@ returns save end +=begin + +list of active users in role + + result = User.of_role('Agent') + +returns + + result = [user1, user2] + +=end + + def self.of_role(role) + User.where(active: true).joins(:roles).where( 'roles.name' => role, 'roles.active' => true ).uniq() + end + private def cache_delete diff --git a/lib/sessions/backend/ticket_overview_list.rb b/lib/sessions/backend/ticket_overview_list.rb index 60ead97fe..bc9fb7f52 100644 --- a/lib/sessions/backend/ticket_overview_list.rb +++ b/lib/sessions/backend/ticket_overview_list.rb @@ -72,11 +72,11 @@ class Sessions::Backend::TicketOverviewList # get groups group_ids = [] - Group.where( active: true ).each { |group| + Group.where(active: true).each { |group| group_ids.push group.id } agents = {} - Ticket::ScreenOptions.agents.each { |user| + User.of_role('Agent').each { |user| agents[ user.id ] = 1 } users = {}