diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 065443d99..887542018 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -126,18 +126,18 @@ class Mailer < ActionMailer::Base # @homeworks = HomeworkAttach.where("user_id=#{user.id} and (created_at between '#{date_from}' and '#{date_to}')").order("created_at desc") # 查询user所在项目添加wiki - @wiki_contents = WikiContent.find_by_sql("SELECT wc.* FROM wikis w, members m, projects p, wiki_pages wp, wiki_contents wc where + @wiki_contents = WikiContent.find_by_sql("select DISTINCT wc.* from wikis w, members m, projects p, wiki_pages wp, wiki_contents wc where m.user_id = '#{user.id}' and p.user_id = m.user_id and m.project_id=p.id and w.project_id = p.id and w.id = wp.wiki_id and wc.page_id = wp.id and w.project_id>0 and (wc.updated_on between '#{date_from}' and '#{date_to}') order by updated_on desc") # 查询user在课程中发布的讨论帖子 - course_mesages = Message.find_by_sql("select distinct me.* from messages me, boards b, members m where + course_mesages = Message.find_by_sql("select DISTINCT me.* from messages me, boards b, members m where b.id = me.board_id and b.course_id = m.course_id and b.course_id is not Null and m.user_id = '#{user.id}' and (me.created_on between '#{date_from}' and '#{date_to}') order by created_on desc") # 查询user在项目中发布的讨论帖子 - project_messages = Message.find_by_sql("select distinct me.* from messages me, boards b, members m where + project_messages = Message.find_by_sql("select DISTINCT me.* from messages me, boards b, members m where b.id = me.board_id and b.project_id = m.project_id and b.project_id != '-1' and m.user_id = '#{user.id}' and (me.created_on between '#{date_from}' and '#{date_to}') order by created_on desc") # messages = Message.find_by_sql("select DISTINCT * from messages where author_id = #{user.id} and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") @@ -164,16 +164,21 @@ class Mailer < ActionMailer::Base # 查询user在课程及个人中留言 @course_journal_messages = JournalsForMessage.find_by_sql("select DISTINCT * from journals_for_messages where - jour_type='Course' and user_id = #{user.id} - and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") + jour_type='Course' and user_id = #{user.id} and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") @user_journal_messages = user.journals_for_messages.where("m_parent_id IS NULL and (created_on between '#{date_from}' and '#{date_to}')").order('created_on DESC') + + # 查询user在项目中留言(用户反馈) + @project_journal_messages = JournalsForMessage.find_by_sql("select jfm.* from journals_for_messages jfm, members m, projects p + where m.user_id = '#{user.id}' and p.id = m.project_id and jfm.jour_id = p.id and jfm.user_id = m.user_id and jfm.jour_type='Project' + and (jfm.created_on between '#{date_from}' and '#{date_to}') order by created_on desc") + # 查询user新建贴吧或发布帖子 @forums = Forum.find_by_sql("select DISTINCT * from forums where creator_id = #{user.id} and (created_at between '#{date_from}' and '#{date_to}') order by created_at desc") @memos = Memo.find_by_sql("select DISTINCT m.* from memos m, forums f where (m.author_id = #{user.id} or (m.forum_id = f.id and f.creator_id = #{user.id})) and (m.created_at between '#{date_from}' and '#{date_to}') order by m.created_at desc") has_content = [@issues,@course_messages,@project_messages,@course_news,@project_news, - @course_journal_messages,@user_journal_messages,@forums,@memos,@attachments,@bids,@wiki_contents].any? {|o| !o.empty?} + @course_journal_messages,@user_journal_messages,@project_journal_messages,@forums,@memos,@attachments,@bids,@wiki_contents].any? {|o| !o.empty?} mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}" #有内容才发,没有不发 mail :to => user.mail,:subject => subject if has_content diff --git a/app/views/mailer/send_for_user_activities.html.erb b/app/views/mailer/send_for_user_activities.html.erb index 8bd4e0413..4059c88b6 100644 --- a/app/views/mailer/send_for_user_activities.html.erb +++ b/app/views/mailer/send_for_user_activities.html.erb @@ -3,7 +3,7 @@ <%= @subject %> <% if @attachments.first || @course_news.first || @bids.first || - @course_journal_messages.first|| @course_messages.first %> + @course_journal_messages.first|| @course_messages.first || @attachments.first %>

<%= l(:label_course_overview)%>

<% unless @course_news.first.nil? %> @@ -167,7 +167,7 @@ <% end %> -<% if @issues.first || @project_messages.first %> +<% if @issues.first || @project_messages.first || @wiki_contents.first || @project_news.first || @project_journal_messages.first %>

<%= l(:label_project_overview_new)%>

<% unless @issues.first.nil? %> @@ -293,6 +293,38 @@ <% end %> + + <% unless @project_journal_messages.first.nil? %> + + <% end %>
<% end %> diff --git a/config/locales/mailers/zh.yml b/config/locales/mailers/zh.yml index 8a6aa5168..46666ee25 100644 --- a/config/locales/mailers/zh.yml +++ b/config/locales/mailers/zh.yml @@ -20,4 +20,4 @@ zh: mail_issue_sent_from: "来源:" mail_issue_from_project: "项目问题跟踪" mail_issue_attachments: "附件:" - mail_issue_reply: "我要回复" \ No newline at end of file + mail_issue_reply: "我要回复" diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index e01e2992c..42eea8dcc 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -395,7 +395,8 @@ zh: label_issue_score: issue得分 label_issue_number: issue的数量 - label_issue_journal_number: issue的留言数量 + label_issue_journal_number: issue的留言数量 + label_project_mail_feedback: 项目留言 label_news_score: 新闻得分 label_new_number: 新闻的数量