Fixed issue #169 - Allow users to delete "Notes”.
This commit is contained in:
parent
ab4a408d3e
commit
4ed6e67096
2 changed files with 36 additions and 1 deletions
|
@ -30,6 +30,20 @@ class Observer::Ticket::ArticleChanges < ActiveRecord::Observer
|
||||||
record.ticket.save
|
record.ticket.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def after_destroy(record)
|
||||||
|
changed = false
|
||||||
|
if article_count_update(record)
|
||||||
|
changed = true
|
||||||
|
end
|
||||||
|
|
||||||
|
# save ticket
|
||||||
|
if !changed
|
||||||
|
record.ticket.touch
|
||||||
|
return
|
||||||
|
end
|
||||||
|
record.ticket.save
|
||||||
|
end
|
||||||
|
|
||||||
# get article count
|
# get article count
|
||||||
def article_count_update(record)
|
def article_count_update(record)
|
||||||
current_count = record.ticket.article_count
|
current_count = record.ticket.article_count
|
||||||
|
|
|
@ -189,7 +189,28 @@ class TicketTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
ticket = Ticket.find(ticket.id)
|
ticket = Ticket.find(ticket.id)
|
||||||
assert_equal(ticket.state.name, 'closed', 'state verify')
|
assert_equal(ticket.state.name, 'closed', 'state verify')
|
||||||
assert_equal(ticket.pending_time, nil )
|
assert_equal(ticket.pending_time, nil)
|
||||||
|
|
||||||
|
# delete article
|
||||||
|
article_note = Ticket::Article.create(
|
||||||
|
ticket_id: ticket.id,
|
||||||
|
from: 'some person',
|
||||||
|
subject: 'some note',
|
||||||
|
body: 'some message',
|
||||||
|
internal: true,
|
||||||
|
sender: Ticket::Article::Sender.find_by(name: 'Agent'),
|
||||||
|
type: Ticket::Article::Type.find_by(name: 'note'),
|
||||||
|
updated_by_id: 1,
|
||||||
|
created_by_id: 1,
|
||||||
|
)
|
||||||
|
|
||||||
|
ticket = Ticket.find(ticket.id)
|
||||||
|
assert_equal(ticket.article_count, 7, 'ticket.article_count verify - note')
|
||||||
|
|
||||||
|
article_note.destroy
|
||||||
|
|
||||||
|
ticket = Ticket.find(ticket.id)
|
||||||
|
assert_equal(ticket.article_count, 6, 'ticket.article_count verify - note')
|
||||||
|
|
||||||
delete = ticket.destroy
|
delete = ticket.destroy
|
||||||
assert(delete, 'ticket destroy')
|
assert(delete, 'ticket destroy')
|
||||||
|
|
Loading…
Reference in a new issue