add models for campaigns and stuff.

git-svn-id: file:///home/svn/framework3/trunk@10301 4d416f70-5f16-0410-b530-b9f4589650da
unstable
James Lee 2010-09-13 08:25:27 +00:00
parent f18ce42d1f
commit c8bd48dbb0
5 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,9 @@
class Msf::DBManager
class Attachment < ActiveRecord::Base
belongs_to :email_template
end
end

View File

@ -0,0 +1,48 @@
module Msf
class DBManager
module SerializedPrefs
def serialized_prefs_attr_accessor(*args)
args.each do |method_name|
method_declarations = %Q^
def #{method_name}
return if not self.prefs
self.prefs[:#{method_name}]
end
def #{method_name}=(value)
temp = self.prefs || {}
temp[:#{method_name}] = value
self.prefs = temp
end
^
class_eval method_declarations
end
end
end
class Campaign < ActiveRecord::Base
has_one :email_template
has_one :web_template
has_many :email_addresses
extend SerializedPrefs
serialize :prefs
# Email settings
serialized_prefs_attr_accessor :smtp_server, :smtp_port, :smtp_ssl
serialized_prefs_attr_accessor :smtp_user, :smtp_pass
serialized_prefs_attr_accessor :mailfrom
# Web settings
serialized_prefs_attr_accessor :web_uripath, :web_srvport, :web_srvhost
serialized_prefs_attr_accessor :web_ssl
end
end
end

View File

@ -0,0 +1,9 @@
module Msf
class DBManager
class EmailAddress < ActiveRecord::Base
has_one :campaign
end
end
end

View File

@ -0,0 +1,11 @@
module Msf
class DBManager
class EmailTemplate < ActiveRecord::Base
belongs_to :campaign
has_many :attachments
end
end
end

View File

@ -0,0 +1,10 @@
module Msf
class DBManager
class WebTemplate < ActiveRecord::Base
belongs_to :campaign
end
end
end