From c8bd48dbb018596d371678759e30d409057449c1 Mon Sep 17 00:00:00 2001 From: James Lee Date: Mon, 13 Sep 2010 08:25:27 +0000 Subject: [PATCH] add models for campaigns and stuff. git-svn-id: file:///home/svn/framework3/trunk@10301 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/core/model/attachment.rb | 9 ++++++ lib/msf/core/model/campaign.rb | 48 ++++++++++++++++++++++++++++ lib/msf/core/model/email_address.rb | 9 ++++++ lib/msf/core/model/email_template.rb | 11 +++++++ lib/msf/core/model/web_template.rb | 10 ++++++ 5 files changed, 87 insertions(+) create mode 100644 lib/msf/core/model/attachment.rb create mode 100644 lib/msf/core/model/campaign.rb create mode 100644 lib/msf/core/model/email_address.rb create mode 100644 lib/msf/core/model/email_template.rb create mode 100644 lib/msf/core/model/web_template.rb diff --git a/lib/msf/core/model/attachment.rb b/lib/msf/core/model/attachment.rb new file mode 100644 index 0000000000..cab2998b61 --- /dev/null +++ b/lib/msf/core/model/attachment.rb @@ -0,0 +1,9 @@ + +class Msf::DBManager + +class Attachment < ActiveRecord::Base + belongs_to :email_template +end + +end + diff --git a/lib/msf/core/model/campaign.rb b/lib/msf/core/model/campaign.rb new file mode 100644 index 0000000000..ea42fef82b --- /dev/null +++ b/lib/msf/core/model/campaign.rb @@ -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 + diff --git a/lib/msf/core/model/email_address.rb b/lib/msf/core/model/email_address.rb new file mode 100644 index 0000000000..d702dc86a0 --- /dev/null +++ b/lib/msf/core/model/email_address.rb @@ -0,0 +1,9 @@ +module Msf +class DBManager + +class EmailAddress < ActiveRecord::Base + has_one :campaign +end + +end +end diff --git a/lib/msf/core/model/email_template.rb b/lib/msf/core/model/email_template.rb new file mode 100644 index 0000000000..5b6e852519 --- /dev/null +++ b/lib/msf/core/model/email_template.rb @@ -0,0 +1,11 @@ +module Msf +class DBManager + +class EmailTemplate < ActiveRecord::Base + belongs_to :campaign + has_many :attachments +end + +end +end + diff --git a/lib/msf/core/model/web_template.rb b/lib/msf/core/model/web_template.rb new file mode 100644 index 0000000000..dc4e803e49 --- /dev/null +++ b/lib/msf/core/model/web_template.rb @@ -0,0 +1,10 @@ +module Msf +class DBManager + +class WebTemplate < ActiveRecord::Base + belongs_to :campaign +end + +end +end +