# encoding: UTF-8
class ForgeMessages < ActiveRecord::Migration
  def up
    # Project.all.each do |project|
    #   transaction do
    #     project.forge_messages << ForgeMessage.new(:user_id => project.user_id, :project_id => project.id)
    #
    #     # 新闻
    #     project.news.each do |new|
    #       new.project.members.each do |m|
    #         if m.user_id != new.author_id
    #           if m.created_on < new.created_on  # 在成员加入项目之后
    #             new.forge_messages << ForgeMessage.new(:user_id => m.user_id, :project_id => new.project_id, :viewed => true)
    #           end
    #         end
    #       end
    #     end
    #
    #     # 新闻回复
    #     project.news.each do |new|
    #       if new.comments
    #         new.comments.each do |comment|
    #           if comment.author_id != comment.commented.author_id
    #             comment.forge_messages << ForgeMessage.new(:user_id => comment.commented.author_id, :project_id => comment.commented.project.id, :viewed => true)
    #           end
    #         end
    #       end
    #     end
    #
    #     # 讨论区
    #     if project.boards.first
    #       project.boards.first.messages.each do |message|
    #         if message.parent_id.nil?   # 主贴
    #           message.project.members.each do |m|
    #             if  m.user_id != message.author_id
    #               if m.created_on < message.created_on
    #                 message.forge_messages << ForgeMessage.new(:user_id => m.user_id, :project_id => message.board.project_id, :viewed => true)
    #               end
    #             end
    #           end
    #         else    # 回帖
    #           message.project.members.each do |m|
    #             if m.user_id ==  Message.find(message.parent_id).author_id  && m.user_id != message.author_id  # 只针对主贴回复，回复自己的帖子不发消息
    #               if m.created_on < message.created_on
    #                 message.forge_messages << ForgeMessage.new(:user_id => m.user_id, :project_id => message.board.project_id, :viewed => true)
    #               end
    #             end
    #           end
    #         end
    #       end
    #     end
    #
    #     # 缺陷
    #     project.issues.each do |issue|
    #       unless issue.author_id == issue.assigned_to_id
    #         issue.forge_messages << ForgeMessage.new(:user_id => issue.assigned_to_id, :project_id => issue.project_id, :viewed => true)
    #       end
    #     end
    #
    #     # 缺陷更新
    #     project.issues.each do |issue|
    #       if issue.journals
    #         issue.journals.each do |journal|
    #           if journal.user_id != journal.issue.author_id
    #             journal.forge_messages << ForgeMessage.new(:user_id => journal.issue.author_id, :project_id => journal.issue.project_id, :viewed => true)
    #           end
    #           if journal.user_id != journal.issue.assigned_to_id && journal.issue.assigned_to_id != journal.issue.author_id   # 指派人不是自己的话，则给指派人发送
    #             journal.forge_messages << ForgeMessage.new(:user_id => journal.issue.assigned_to_id, :project_id => journal.issue.project_id, :viewed => true)
    #           end
    #         end
    #       end
    #     end
    #
    #   end
    # end
  end

  def down
  end
end
