From 78b71500ed1d012f88844ebbfeff4ca4b8c87ce9 Mon Sep 17 00:00:00 2001 From: Manoj Mishra Date: Tue, 17 Jul 2012 13:25:26 +0530 Subject: [PATCH 1/2] find tickets by agent name --- lib/supportbee.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/supportbee.rb b/lib/supportbee.rb index 3bd9303..b6c881f 100644 --- a/lib/supportbee.rb +++ b/lib/supportbee.rb @@ -11,15 +11,23 @@ def initialize(company, auth_token) end def tickets(options={}) - valid_keys = [:per_page, :page, :spam, :trash, :replies, :max_replies, :assigned_user, :assigned_group, :starred, :label, :since, :until] + valid_keys = [:per_page, :page, :spam, :trash, :replies, :max_replies, :assigned_user, :assigned_group, :starred, :label, :since, :until,:agent] invalid_keys = options.keys - valid_keys raise "Invalid Options: #{invalid_keys.join(', ')}" unless invalid_keys.empty? - + if options.fetch(:agent) + options[:assigned_user]= self.users(options[:agent]) + end self.class.default_params.merge!(options) + response = self.class.get("/tickets.json") + response.body + + end - response = self.class.get("/tickets.json") - response.body + def users(agent) + response=self.class.get("/users.json") + users=JSON.parse(response.body) + users["users"].each { |user| return user['id'] if user['name']==agent} end end end From b16a414e2efec494351cfe3fd449f5b12ce7a4bf Mon Sep 17 00:00:00 2001 From: Manoj Mishra Date: Fri, 27 Jul 2012 19:25:07 +0530 Subject: [PATCH 2/2] added group --- lib/supportbee.rb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/supportbee.rb b/lib/supportbee.rb index b6c881f..e55e120 100644 --- a/lib/supportbee.rb +++ b/lib/supportbee.rb @@ -11,12 +11,15 @@ def initialize(company, auth_token) end def tickets(options={}) - valid_keys = [:per_page, :page, :spam, :trash, :replies, :max_replies, :assigned_user, :assigned_group, :starred, :label, :since, :until,:agent] + valid_keys = [:per_page, :page, :spam, :trash, :replies, :max_replies, :assigned_user, :assigned_group, :starred, :label, :since, :until,:agent,:group] invalid_keys = options.keys - valid_keys raise "Invalid Options: #{invalid_keys.join(', ')}" unless invalid_keys.empty? - if options.fetch(:agent) - options[:assigned_user]= self.users(options[:agent]) + unless options[:agent].nil? + options[:assigned_user]= self.users(options[:agent]) + end + unless options[:group].nil? + options[:assigned_group]= self.groups(options[:group]) end self.class.default_params.merge!(options) response = self.class.get("/tickets.json") @@ -29,6 +32,14 @@ def users(agent) users=JSON.parse(response.body) users["users"].each { |user| return user['id'] if user['name']==agent} end + + def groups(group) + response=self.class.get("/groups.json") + groups=JSON.parse(response.body) + puts groups + groups["groups"].each { |group| return group if group['name']==group} + end + end end