diff --git a/app/models/ticket/screen_options.rb b/app/models/ticket/screen_options.rb index 5a9d3b8c6..de78b9015 100644 --- a/app/models/ticket/screen_options.rb +++ b/app/models/ticket/screen_options.rb @@ -98,11 +98,7 @@ returns filter[:group_id] = [] groups = if params[:current_user].permissions?('ticket.agent') - if params[:ticket].present? - params[:current_user].groups_access(%w[change]) - else - params[:current_user].groups_access(%w[create]) - end + params[:current_user].groups_access(%w[create change]) else Group.where(active: true) end diff --git a/app/models/transaction/notification.rb b/app/models/transaction/notification.rb index bbcad80d4..23895ae2e 100644 --- a/app/models/transaction/notification.rb +++ b/app/models/transaction/notification.rb @@ -49,7 +49,7 @@ class Transaction::Notification recipients_reason = {} # loop through all users - possible_recipients = User.group_access(ticket.group_id, 'full').sort_by(&:login) + possible_recipients = User.group_access(ticket.group_id, 'read').sort_by(&:login) # apply owner if ticket.owner_id != 1 diff --git a/test/unit/ticket_screen_options_test.rb b/test/unit/ticket_screen_options_test.rb index c678f8d9b..b844e25fa 100644 --- a/test/unit/ticket_screen_options_test.rb +++ b/test/unit/ticket_screen_options_test.rb @@ -140,10 +140,10 @@ class TicketScreenOptionsTest < ActiveSupport::TestCase assert(result[:form_meta][:filter][:type_id]) assert_equal([], result[:form_meta][:filter][:type_id].sort) assert(result[:form_meta][:filter][:group_id]) - assert_equal([group1.id, group3.id], result[:form_meta][:filter][:group_id].sort) + assert_equal([group1.id, group2.id, group3.id], result[:form_meta][:filter][:group_id].sort) assert(result[:form_meta][:dependencies]) assert(result[:form_meta][:dependencies][:group_id]) - assert_equal(3, result[:form_meta][:dependencies][:group_id].count) + assert_equal(4, result[:form_meta][:dependencies][:group_id].count) assert(result[:form_meta][:dependencies][:group_id]['']) assert(result[:form_meta][:dependencies][:group_id][''][:owner_id]) assert_equal([], result[:form_meta][:dependencies][:group_id][''][:owner_id]) @@ -182,10 +182,10 @@ class TicketScreenOptionsTest < ActiveSupport::TestCase assert(result[:form_meta][:filter][:type_id]) assert_equal([], result[:form_meta][:filter][:type_id].sort) assert(result[:form_meta][:filter][:group_id]) - assert_equal([group1.id, group3.id], result[:form_meta][:filter][:group_id].sort) + assert_equal([group1.id, group2.id, group3.id], result[:form_meta][:filter][:group_id].sort) assert(result[:form_meta][:dependencies]) assert(result[:form_meta][:dependencies][:group_id]) - assert_equal(3, result[:form_meta][:dependencies][:group_id].count) + assert_equal(4, result[:form_meta][:dependencies][:group_id].count) assert(result[:form_meta][:dependencies][:group_id]['']) assert(result[:form_meta][:dependencies][:group_id][''][:owner_id]) assert_equal([], result[:form_meta][:dependencies][:group_id][''][:owner_id]) @@ -467,10 +467,10 @@ class TicketScreenOptionsTest < ActiveSupport::TestCase Ticket::Article::Type.lookup(name: 'note').id, ], result[:form_meta][:filter][:type_id].sort) assert(result[:form_meta][:filter][:group_id]) - assert_equal([group1.id, group2.id], result[:form_meta][:filter][:group_id].sort) + assert_equal([group1.id, group2.id, group3.id], result[:form_meta][:filter][:group_id].sort) assert(result[:form_meta][:dependencies]) assert(result[:form_meta][:dependencies][:group_id]) - assert_equal(3, result[:form_meta][:dependencies][:group_id].count) + assert_equal(4, result[:form_meta][:dependencies][:group_id].count) assert(result[:form_meta][:dependencies][:group_id]['']) assert(result[:form_meta][:dependencies][:group_id][''][:owner_id]) assert_equal([], result[:form_meta][:dependencies][:group_id][''][:owner_id]) @@ -513,10 +513,10 @@ class TicketScreenOptionsTest < ActiveSupport::TestCase Ticket::Article::Type.lookup(name: 'note').id, ], result[:form_meta][:filter][:type_id].sort) assert(result[:form_meta][:filter][:group_id]) - assert_equal([group1.id, group2.id], result[:form_meta][:filter][:group_id].sort) + assert_equal([group1.id, group2.id, group3.id], result[:form_meta][:filter][:group_id].sort) assert(result[:form_meta][:dependencies]) assert(result[:form_meta][:dependencies][:group_id]) - assert_equal(3, result[:form_meta][:dependencies][:group_id].count) + assert_equal(4, result[:form_meta][:dependencies][:group_id].count) assert(result[:form_meta][:dependencies][:group_id]['']) assert(result[:form_meta][:dependencies][:group_id][''][:owner_id]) assert_equal([], result[:form_meta][:dependencies][:group_id][''][:owner_id])