Moved to application model assets (for all models per default).

This commit is contained in:
Martin Edenhofer 2013-12-26 22:51:25 +01:00
parent 09a8278031
commit 3b8f6259b6
5 changed files with 52 additions and 37 deletions

View file

@ -1,6 +1,7 @@
# Copyright (C) 2013-2013 Zammad Foundation, http://zammad-foundation.org/ # Copyright (C) 2013-2013 Zammad Foundation, http://zammad-foundation.org/
class ApplicationModel < ActiveRecord::Base class ApplicationModel < ActiveRecord::Base
include ApplicationModel::Assets
include ApplicationModel::HistoryLogBase include ApplicationModel::HistoryLogBase
include ApplicationModel::ActivityStreamBase include ApplicationModel::ActivityStreamBase

View file

@ -0,0 +1,49 @@
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
module ApplicationModel::Assets
=begin
get all assets / related models for this user
user = User.find(123)
result = user.assets( assets_if_exists )
returns
result = {
:users => {
123 => user_model_123,
1234 => user_model_1234,
}
}
=end
def assets (data)
if !data[ self.class.to_app_model ]
data[ self.class.to_app_model ] = {}
end
if !data[ self.class.to_app_model ][ self.id ]
data[ self.class.to_app_model ][ self.id ] = self.attributes
end
return data if !self['created_by_id'] && !self['updated_by_id']
if !data[ User.to_app_model ]
data[ User.to_app_model ] = {}
end
if self['created_by_id']
if !data[ User.to_app_model ][ self['created_by_id'] ]
data[ User.to_app_model ][ self['created_by_id'] ] = User.user_data_full( self['created_by_id'] )
end
end
if self['updated_by_id']
if !data[ User.to_app_model ][ self['updated_by_id'] ]
data[ User.to_app_model ][ self['updated_by_id'] ] = User.user_data_full( self['updated_by_id'] )
end
end
data
end
end

View file

@ -1,8 +1,6 @@
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/ # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
class Group < ApplicationModel class Group < ApplicationModel
include Group::Assets
has_and_belongs_to_many :users, :after_add => :cache_update, :after_remove => :cache_update has_and_belongs_to_many :users, :after_add => :cache_update, :after_remove => :cache_update
belongs_to :email_address belongs_to :email_address
belongs_to :signature belongs_to :signature
@ -10,4 +8,4 @@ class Group < ApplicationModel
activity_stream_support :role => 'Admin' activity_stream_support :role => 'Admin'
history_support history_support
end end

View file

@ -1,34 +0,0 @@
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
module Group::Assets
=begin
get all assets / related models for this group
group = Group.find(123)
result = group.assets( assets_if_exists )
returns
result = {
:groups => {
123 => group_model_123,
1234 => group_model_1234,
}
}
=end
def assets (data)
if !data[ Group.to_app_model ]
data[ Group.to_app_model ] = {}
end
if !data[ Group.to_app_model ][ self.id ]
data[ Group.to_app_model ][ self.id ] = self.attributes
end
data
end
end

View file

@ -1,6 +1,7 @@
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/ # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
class Role < ApplicationModel class Role < ApplicationModel
has_and_belongs_to_many :users, :after_add => :cache_update, :after_remove => :cache_update has_and_belongs_to_many :users, :after_add => :cache_update, :after_remove => :cache_update
validates :name, :presence => true validates :name, :presence => true
activity_stream_support :role => 'Admin' activity_stream_support :role => 'Admin'