Skip to content

Commit

Permalink
Merge branch 'master' of git@github.com:tog/tog_mail
Browse files Browse the repository at this point in the history
  • Loading branch information
molpe committed Oct 9, 2008
2 parents 80ef238 + c439f8e commit 5aac37d
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 12 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Edge
----
* MailUserObserver refactored to call user.create_default_folders!
* Create the default folders for every user on the migration.
10 changes: 1 addition & 9 deletions app/models/mail_user_observer.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
class MailUserObserver < ActiveRecord::Observer
observe :user
def after_save(user)
if user.recently_activated?
Tog::Config["plugins.tog_mail.messages.default_folders"].each(" "){|folder_type|
folder_type.strip!
Folder.new(:name => folder_type,
:deletable => false,
:folder_type => folder_type,
:user => user).save!
} if Tog::Config["plugins.tog_mail.messages.default_folders"]
end
user.create_default_folders! if user.recently_activated?
end
end
14 changes: 12 additions & 2 deletions app/models/user.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class User < ActiveRecord::Base

has_one :inbox, :class_name => "Folder", :foreign_key => "user_id", :conditions => ["folder_type = 'Inbox'"]
has_one :outbox, :class_name => "Folder", :foreign_key => "user_id", :conditions => ["folder_type = 'Outbox'"]

Expand All @@ -14,5 +14,15 @@ def get_message(id)
received_messages.find(id)
end
end


def create_default_folders!
default_folders = Tog::Config["plugins.tog_mail.messages.default_folders"] || ""
default_folders.each(" "){|folder_type|
folder_type.strip!
unless self.folders.find_by_name(folder_type)
self.folders.create(:name => folder_type, :deletable => false, :folder_type => folder_type)
end
}
end

end
11 changes: 11 additions & 0 deletions db/migrate/002_create_default_folders.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateDefaultFolders < ActiveRecord::Migration
def self.up
User.find(:all).each{|u|
u.create_default_folders!
}
end

def self.down
Folder.delete :all
end
end
1 change: 0 additions & 1 deletion init.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
require_plugin 'tog_core'
require_plugin 'tog_user'

Tog::Plugins.settings :tog_mail, "messages.default_folders" => "Inbox Outbox",
"messages_list.size" => "10"
Expand Down

0 comments on commit 5aac37d

Please sign in to comment.