From 15697e05edf94277b05afbd17c14da079c71d728 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 11 Jun 2015 10:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E5=A4=A9=E5=8F=91=E9=80=81=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E7=95=99=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/mailer.rb | 17 +++++---- .../mailer/send_for_user_activities.html.erb | 36 +++++++++++++++++-- config/locales/mailers/zh.yml | 2 +- config/locales/projects/zh.yml | 3 +- 4 files changed, 48 insertions(+), 10 deletions(-) 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? %> +
    + + <%= l(:label_project_mail_feedback) %> + + + + <% @project_journal_messages.each do |project_journal_message|%> +
  • + + [ + + <%= link_to truncate(project_journal_message.project.name,length: 30,omission: '...'), project_url(project_journal_message.project, :token => @token.value), + :class=> "wmail_column", + :style=> " font-weight: bold; display:block; float:left; color:#666;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" %> + ] + + <%= link_to project_journal_message.project.user, user_activities_url(project_journal_message.project.user,:token => @token.value), :class => "wmail_name", + :style => "color:#2E8DD7; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%> + <%= l(:label_send_course_journals_for_messages) %> + + <%= link_to truncate(project_journal_message.project.notes,length: 30,omission: '...'), project_feedback_url(project_journal_message.project,:token => @token.value), + :class => 'wmail_info', + :style => "color:#2E8DD7;float:left; font-weight:normal;margin-right:5px; display:block;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" + %> + <%= format_time(project_journal_message.project.created_on) %> +
  • + <% end %> +
    +
+ <% 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: 新闻的数量