From bfb32e693380a4563af8c60e28f2e8fbe62c52f2 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Fri, 4 Jan 2013 09:26:14 +0100 Subject: [PATCH] Only show configured article types. --- .../controllers/agent_ticket_zoom.js.coffee | 2 +- app/models/ticket.rb | 25 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/app/controllers/agent_ticket_zoom.js.coffee b/app/assets/javascripts/app/controllers/agent_ticket_zoom.js.coffee index c1b73ee99..d600c5205 100644 --- a/app/assets/javascripts/app/controllers/agent_ticket_zoom.js.coffee +++ b/app/assets/javascripts/app/controllers/agent_ticket_zoom.js.coffee @@ -101,7 +101,7 @@ class Index extends App.Controller ] @configure_attributes_article = [ - { name: 'ticket_article_type_id', display: 'Type', tag: 'select', multiple: false, null: true, relation: 'TicketArticleType', default: '9', translate: true, class: 'medium', item_class: '' }, + { name: 'ticket_article_type_id', display: 'Type', tag: 'select', multiple: false, null: true, relation: 'TicketArticleType', filter: @edit_form, default: '9', translate: true, class: 'medium', item_class: '' }, { name: 'to', display: 'To', tag: 'input', type: 'text', limit: 100, null: true, class: 'span7', item_class: 'hide' }, { name: 'cc', display: 'Cc', tag: 'input', type: 'text', limit: 100, null: true, class: 'span7', item_class: 'hide' }, { name: 'subject', display: 'Subject', tag: 'input', type: 'text', limit: 100, null: true, class: 'span7', item_class: 'hide' }, diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 1d6e6f6c6..24c71bb54 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -86,12 +86,27 @@ class Ticket < ApplicationModel ticket_priority_ids.push priority.id } + ticket_article_type_ids = [] + if params[:ticket] + ticket_article_types = ['note', 'phone'] + if params[:ticket].group.email_address_id + ticket_article_types.push 'email' + end + ticket_article_types.each {|ticket_article_type_name| + ticket_article_type = Ticket::Article::Type.lookup( :name => ticket_article_type_name ) + if ticket_article_type + ticket_article_type_ids.push ticket_article_type.id + end + } + end + return { - :ticket_state_id => ticket_state_ids, - :ticket_priority_id => ticket_priority_ids, - :owner_id => owner_ids, - :group_id => group_ids, - :group_id__owner_id => groups_users, + :ticket_article_type_id => ticket_article_type_ids, + :ticket_state_id => ticket_state_ids, + :ticket_priority_id => ticket_priority_ids, + :owner_id => owner_ids, + :group_id => group_ids, + :group_id__owner_id => groups_users, } end