diff --git a/app/models/mailer.rb b/app/models/mailer.rb index dbc5d3cff..44139fb03 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -45,7 +45,6 @@ class Mailer < ActionMailer::Base MailerProxy.new(self) end - # author: alan # 发送邀请未注册用户加入项目邮件 # 功能: 在加入项目的同时自动注册用户 def send_invite_in_project(email, project, invitor) @@ -101,16 +100,16 @@ class Mailer < ActionMailer::Base course_ids = courses.map {|course| course.id}.join(",") # 查询user的缺陷,包括发布的,跟踪的以及被指派的缺陷 - sql = "select DISTINCT i.* from issues i, watchers w - where (i.assigned_to_id = #{user.id} or i.author_id = #{user.id} - or (w.watchable_type = 'Issue' and w.watchable_id = i.id and w.user_id = #{user.id})) - and (i.created_on between '#{date_from}' and '#{date_to}') order by i.created_on desc" + # sql = "select DISTINCT i.* from issues i, watchers w + # where (i.assigned_to_id = #{user.id} or i.author_id = #{user.id} + # or (w.watchable_type = 'Issue' and w.watchable_id = i.id and w.user_id = #{user.id})) + # and (i.created_on between '#{date_from}' and '#{date_to}') order by i.created_on desc" + sql = "select DISTINCT i.* from issues i where (i.created_on between '#{date_from}' and '#{date_to}') order by i.created_on desc" @issues = Issue.find_by_sql(sql) # @bids 查询课程作业,包括老师发布的作业,以及user提交作业 # @attachments查询课程课件更新 @attachments ||= [] - @bids ||= [] # 老师发布的作业 unless courses.first.nil? @@ -142,9 +141,9 @@ class Mailer < ActionMailer::Base # 查询user在课程中发布的通知,项目中发的新闻 @course_news = (course_ids && !course_ids.empty?) ? News.find_by_sql("select DISTINCT n.* from news n where n.course_id in (#{course_ids}) - and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") : [] + and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") : [] @project_news = (project_ids && !project_ids.empty?) ? News.find_by_sql("select DISTINCT n.* from news n where n.project_id in (#{project_ids}) - and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") : [] + and (created_on between '#{date_from}' and '#{date_to}') order by created_on desc") : [] # 查询user在课程及个人中留言 @course_journal_messages = JournalsForMessage.find_by_sql("select DISTINCT * from journals_for_messages where @@ -165,7 +164,7 @@ class Mailer < ActionMailer::Base } mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}" #有内容才发,没有不发 - mail :to => user.mail,:subject => subject if has_content + mail :to => user.mail, :subject => subject if has_content end # 公共讨论区发帖、回帖添加邮件发送信息 @@ -188,8 +187,8 @@ class Mailer < ActionMailer::Base :subject => "[ #{l(:label_message_plural)} : #{memo.subject} #{l(:label_memo_create_succ)}]", :filter => true end - # Builds a Mail::Message object used to email recipients of the added journals for message. + # Builds a Mail::Message object used to email recipients of the added journals for message. # 留言分为直接留言,和对留言人留言的回复 # 字段说明在JournalsForMessage.rb # 直接留言后 reply_id,m_parent_id 为空,相对应的at_user取值为nil @@ -511,7 +510,7 @@ class Mailer < ActionMailer::Base end # Builds a Mail::Message object used to email recipients of a news' project when a news comment is added. - # + # 新增新闻评论时邮件通知 # Example: # news_comment_added(comment) => Mail::Message object # Mailer.news_comment_added(comment) => sends an email to the news' project recipients @@ -526,9 +525,9 @@ class Mailer < ActionMailer::Base @comment = comment @news_url = url_for(:controller => 'news', :action => 'show', :id => news) mail :to => news.recipients, - :cc => news.watcher_recipients, - :subject => "Re: [#{news.project.name}] #{l(:label_news)}: #{news.title}", - :filter => true + :cc => news.watcher_recipients, + :subject => "Re: [#{news.project.name}] #{l(:label_news)}: #{news.title}", + :filter => true elsif news.course redmine_headers 'Course' => news.course.id @author = comment.author @@ -563,9 +562,9 @@ class Mailer < ActionMailer::Base @message = message @message_url = url_for(message.event_url) mail :to => recipients, - :cc => cc, - :subject => "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}", - :filter => true + :cc => cc, + :subject => "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}", + :filter => true elsif message.course redmine_headers 'Course' => message.course.id, 'Topic-Id' => (message.parent_id || message.id) @@ -909,10 +908,11 @@ class Mailer < ActionMailer::Base if email.attachments && email.attachments.any? email.attachments.each do |attachment| obj.attachments << Attachment.create(:container => obj, - :file => attachment.decoded, - :filename => attachment.filename, - :author => user, - :content_type => attachment.mime_type) + :file => attachment.decoded, + :filename => attachment.filename, + :author => user, + + :content_type => attachment.mime_type) end end end diff --git a/app/views/mailer/send_for_user_activities.html.erb b/app/views/mailer/send_for_user_activities.html.erb index 73a561ca3..2cf070960 100644 --- a/app/views/mailer/send_for_user_activities.html.erb +++ b/app/views/mailer/send_for_user_activities.html.erb @@ -1,341 +1,331 @@ +
+

+ <%= @subject %> +

+<% if @attachments.first || @course_news.first || @bids.first || + @homeworks.first || @course_journal_messages.first|| @course_messages.first %> +
+

<%= l(:label_course_overview)%>

+ <% unless @course_news.first.nil? %> + + <% end %> + <% if !@bids.first.nil? || !@homeworks.first.nil? %> + + <% end %> + <% unless @course_journal_messages.first.nil? %> + - <% end %> - - <% unless @course_journal_messages.first.nil? %> - - <% end %> - - <% unless @course_messages.first.nil? %> - - <% end %> - - <% unless @attachments.first.nil? %> - - <% end %> -
- <% end %> - <% if @issues.first || @project_messages.first %> -
-

<%= l(:label_project_overview_new)%>

- <% unless @issues.first.nil? %> - - <% end %> - - <% unless @project_messages.first.nil? %> - - <% end %> - - - -
- <% end %> - <% unless @user_journal_messages.first.nil? %> -
-

<%= l(:label_activities) %>

- -
- <% end %> - <% if @forums.first || @memos.first %> + <%= link_to project_message.author, user_activities_url(project_message.author,:token => @token.value), :class => "wmail_name", + :style => "color:#fe5722; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%> + <%= l(:label_send_course_messages) %> + + <%= link_to truncate(project_message.subject,length: 30,omission: '...'),board_message_url(project_message, :board_id => project_message.board_id,:token => @token.value), + :class => 'wmail_info', + :style => "color:#5a5a5a; float:left; margin-right:5px; display:block;color:#1b55a7;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;" + %> + <%= format_time(project_message.created_on) %> + + <% end %> + +
+ + <% end %> + + + +
+<% end %> +<% unless @user_journal_messages.first.nil? %>
-

<%= l(:lable_bar_active) %>

- <% unless @forums.first.nil? %> +

<%= l(:label_activities) %>

+ + + +
+<% end %> +<% if @forums.first || @memos.first %> +
+

<%= l(:lable_bar_active) %>

+ <% unless @forums.first.nil? %> + <% end %> <% unless @memos.first.nil? %>
<% end %> -
- <% [:label_user_mail_option_all, :label_user_mail_option_day, :label_user_mail_option_none].each do |mail_option| %> - <% if Hash[*User::MAIL_NOTIFICATION_OPTIONS.flatten][@user.mail_notification] == mail_option %> - - <% else %> - <%= link_to l(mail_option), my_change_mail_notification_url(token: @token.value,mail_notification: Hash[*User::MAIL_NOTIFICATION_OPTIONS.flatten].invert[mail_option]), :style => "margin-top:20px;color:#2775d2; margin-left:10px;" %> - <% end %> - <% end %> -
+
+ <% [:label_user_mail_option_all, :label_user_mail_option_day, :label_user_mail_option_none].each do |mail_option| %> + <% if Hash[*User::MAIL_NOTIFICATION_OPTIONS.flatten][@user.mail_notification] == mail_option %> + + <% else %> + <%= link_to l(mail_option), my_change_mail_notification_url(token: @token.value,mail_notification: Hash[*User::MAIL_NOTIFICATION_OPTIONS.flatten].invert[mail_option]), :style => "margin-top:20px;color:#2775d2; margin-left:10px;" %> + <% end %> + <% end %> +