trabajo-afectivo/app/models/ticket/article.rb

65 lines
1.8 KiB
Ruby
Raw Normal View History

# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
class Ticket::Article < ApplicationModel
require 'ticket/article/assets'
include Ticket::Article::Assets
require 'ticket/article/history_log'
include Ticket::Article::HistoryLog
require 'ticket/article/activity_stream_log'
2013-09-29 21:37:49 +00:00
include Ticket::Article::ActivityStreamLog
belongs_to :ticket
belongs_to :ticket_article_type, :class_name => 'Ticket::Article::Type'
belongs_to :ticket_article_sender, :class_name => 'Ticket::Article::Sender'
belongs_to :created_by, :class_name => 'User'
2013-09-28 00:07:11 +00:00
after_create :attachment_check
after_create :notify_clients_after_create
after_update :notify_clients_after_update
after_destroy :notify_clients_after_destroy
2013-10-05 12:56:03 +00:00
activity_stream_support :ignore_attributes => {
:ticket_article_type_id => true,
:ticket_article_sender_id => true,
}
2013-09-29 21:37:49 +00:00
history_support :ignore_attributes => {
2013-10-05 12:56:03 +00:00
:ticket_article_type_id => true,
:ticket_article_sender_id => true,
2013-09-29 21:37:49 +00:00
}
2013-09-28 00:07:11 +00:00
attr_accessor :attachments
private
def attachment_check
# do nothing if no attachment exists
return 1 if self.attachments == nil
# store attachments
article_store = []
self.attachments.each do |attachment|
article_store.push Store.add(
:object => 'Ticket::Article',
:o_id => self.id,
:data => attachment.store_file.data,
:filename => attachment.filename,
:preferences => attachment.preferences,
:created_by_id => self.created_by_id,
)
end
self.attachments = article_store
end
class Flag < ApplicationModel
end
class Sender < ApplicationModel
validates :name, :presence => true
end
class Type < ApplicationModel
validates :name, :presence => true
end
end