From fb76bc8f9ae67fec35e09f6c6491b51ce0015a5a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Sep 2015 23:18:15 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=82=80=E8=AF=B7=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=E5=8F=8A?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E9=A1=B5=E9=9D=A2=20=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E9=98=B2=E6=B3=A8=E5=85=A5=E9=97=AE=E9=A2=98=EF=BC=88=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E9=9A=8F=E6=9C=BA6=E4=B8=BA=E5=AF=86=E7=A0=81?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 12 +++++++ app/helpers/projects_helper.rb | 2 +- app/models/forge_message.rb | 2 +- app/models/mailer.rb | 3 +- app/views/users/user_messages.html.erb | 33 ++++++++++++++++++- ...8134804_add_secret_key_to_forge_message.rb | 5 +++ db/schema.rb | 6 ++-- 7 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20150918134804_add_secret_key_to_forge_message.rb diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 6da45c10b..71b852e01 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -464,6 +464,10 @@ class ProjectsController < ApplicationController # by young # include CoursesHelper def member + # 消息"同意加入项目" + if params[:message_id] + message_invite(params[:message_id], params[:key]) + end # params[:login]为邮箱邀请用户加入,主要功能: # 1、自动注册 # 2、加入项目、创建角色 @@ -519,6 +523,14 @@ class ProjectsController < ApplicationController @members = paginateHelper @members end + def message_invite(message_id, key) + forge_message = ForgeMessage.find(message_id) + if key == forge_message.secret_key + Member.create(:role_ids => [4], :user_id => forge_message.user_id, :project_id => forge_message.project_id) + UserGrade.create(:user_id => forge_message.user_id, :project_id => forge_message.project_id) + end + end + #判断指定用户是否为课程教师 def isCourseTeacher(id) result = false diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 7b4b9d2e4..6a865b203 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -83,7 +83,7 @@ module ProjectsHelper elsif ivite_list.user.active? value = "邀请已发送,等待用户加入!" else - value = "账号尚未激活,等待用户应答!" + value = "邀请已发送,等待用户激活账号!" end end diff --git a/app/models/forge_message.rb b/app/models/forge_message.rb index 0c8b3384f..0dce57598 100644 --- a/app/models/forge_message.rb +++ b/app/models/forge_message.rb @@ -8,7 +8,7 @@ class ForgeMessage < ActiveRecord::Base TYPE_OF_WIKI_ACT = "Wiki" TYPE_OF_NEWS_ACT = "News" - attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed + attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed, :secret_key belongs_to :forge_message ,:polymorphic => true belongs_to :project diff --git a/app/models/mailer.rb b/app/models/mailer.rb index c9ab6e58e..e5ca8130e 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -89,7 +89,8 @@ class Mailer < ActionMailer::Base # 邀请信息消息 注:forge_message_id 为邀请人ID(特殊情况) def send_message(user, project) - ForgeMessage.create(:user_id => user.id, :project_id => project.id, :forge_message_type => "Project_Invite",:forge_message_id => User.current.id, :viewed => false) + key = newpass(6).to_s + ForgeMessage.create(:user_id => user.id, :project_id => project.id, :forge_message_type => "ProjectInvite",:forge_message_id => User.current.id, :viewed => false, :secret_key =>key) end # author: alan diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 5ac9f7e8e..9d1532282 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -74,9 +74,10 @@ <% end %> <% end %> - <%# 课程消息 %> + <% unless @message_alls.nil? %> <% @message_alls.each do |ma| %> + <%# 课程消息 %> <% if ma.class == CourseMessage %> <% if ma.course_message_type == "News" %> @@ -104,7 +106,9 @@ :onmouseover =>"message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -119,7 +123,9 @@ :onmouseover =>"message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -183,7 +189,7 @@ :onmouseover =>"message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %> @@ -320,7 +326,9 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -344,7 +352,7 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -362,7 +370,9 @@ :onmouseover => "message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %> <% else %>
  • @@ -372,7 +382,9 @@ :onmouseover => "message_titile_show($(this),event)", :onmouseout => "message_titile_hide($(this))" %>
  • <% end %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -394,8 +406,9 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -412,7 +425,9 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • From 961b2bd5644e0a5c1deb29dd2f091fa3cebc82d5 Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 19 Sep 2015 10:54:50 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=BC=80=E5=90=AF/=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 10 +-- app/models/mailer.rb | 18 +++--- ...send_mail_anonymous_comment_close.html.erb | 2 +- .../send_mail_anonymous_comment_open.html.erb | 2 +- app/views/users/user_messages.html.erb | 61 ++++++++++++++++++- db/schema.rb | 5 +- 6 files changed, 80 insertions(+), 18 deletions(-) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 01a8a9010..3d026e8ca 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -206,7 +206,8 @@ class HomeworkCommonController < ApplicationController end @homework_detail_manual.update_column('comment_status', 2) @statue = 1 - send_message_anonymous_comment(@homework, open=true) + # 匿评开启消息邮件通知 + send_message_anonymous_comment(@homework, m_status = 2) Mailer.send_mail_anonymous_comment_open(@homework).deliver else @statue = 2 @@ -226,7 +227,8 @@ class HomeworkCommonController < ApplicationController student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0 student_work.save end - send_message_anonymous_comment(@homework, open = false) + # 匿评关闭消息邮件通知 + send_message_anonymous_comment(@homework, m_status = 3) Mailer.send_mail_anonymous_comment_close(@homework).deliver respond_to do |format| format.js @@ -234,11 +236,11 @@ class HomeworkCommonController < ApplicationController end # 开启/关闭匿评消息通知 - def send_message_anonymous_comment(homework, open) + def send_message_anonymous_comment(homework, m_status ) # status 标记匿评状态 1为关闭 0为开启 course = @homework.course course.student.each do |st| - @homework.course_messages << CourseMessage.new(:user_id => st.user_id, :course_id => course.id, :viewed => false, :status => open ? true : false) + @homework.course_messages << CourseMessage.new(:user_id => st.student_id, :course_id => course.id, :viewed => false, :status => m_status) end end #提示 diff --git a/app/models/mailer.rb b/app/models/mailer.rb index fd57b7031..07b2a345c 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -50,35 +50,37 @@ class Mailer < ActionMailer::Base # 作业匿评开启 def send_mail_anonymous_comment_open(homework_common) course = homework_common.course + recipients ||= [] course.student.each do |student| - user = student.user + user = User.find(student.student_id) @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) @anonymous_comment_close_name = homework_common.name @author = homework_common.user #收件人邮箱 - recipient = user.mail - mail :to => recipient, - :subject => @subject + recipients << user.mail end + mail :to => recipients, + :subject => @subject end # 作业匿评关闭 def send_mail_anonymous_comment_close(homework_common) course = homework_common.course + recipients ||= [] course.student.each do |student| - user = student.user + user = User.find(student.student_id) @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) @anonymous_comment_close_name = homework_common.name @author = homework_common.user #收件人邮箱 - recipient = user.mail - mail :to => recipient, - :subject => @subject + recipients << user.mail end + mail :to => recipients, + :subject => @subject end # author: alan diff --git a/app/views/mailer/send_mail_anonymous_comment_close.html.erb b/app/views/mailer/send_mail_anonymous_comment_close.html.erb index 07bde8ebd..128f9fae8 100644 --- a/app/views/mailer/send_mail_anonymous_comment_close.html.erb +++ b/app/views/mailer/send_mail_anonymous_comment_close.html.erb @@ -2,7 +2,7 @@ diff --git a/app/views/mailer/send_mail_anonymous_comment_open.html.erb b/app/views/mailer/send_mail_anonymous_comment_open.html.erb index e791c86f9..5409ade55 100644 --- a/app/views/mailer/send_mail_anonymous_comment_open.html.erb +++ b/app/views/mailer/send_mail_anonymous_comment_open.html.erb @@ -2,7 +2,7 @@ diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index ab030f6c9..63b2fb80a 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -109,7 +109,7 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> - <% if ma.course_message_type == "HomeworkCommon" && ma.status != 1 %> + <% if ma.course_message_type == "HomeworkCommon" && ma.status.nil? %> <% end %> + + <% if ma.course_message_type == "HomeworkCommon" && ma.status == 2 %> + + <% end %> + + <% if ma.course_message_type == "HomeworkCommon" && ma.status == 3 %> + + <% end %> + <% if ma.course_message_type == "Poll" %> @@ -107,8 +109,10 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -124,8 +128,10 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -181,7 +187,15 @@
  • <%= link_to ma.course_message.subject, course_boards_path(ma.course_message.course, :parent_id => ma.course_message.parent_id ? ma.course_message.parent_id : ma.course_message.id, :topic_id => ma.course_message.id), :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}", - :title => "#{ma.course_message.subject.html_safe}" %>
  • + :onmouseover =>"message_titile_show($(this),event)", + :onmouseout => "message_titile_hide($(this))" %> + <% else %>
  • <%= link_to ma.course_message.content.html_safe, course_boards_path(ma.course_message.course, :parent_id => ma.course_message.parent_id ? ma.course_message.parent_id : ma.course_message.id, :topic_id => ma.course_message.id), @@ -190,8 +204,10 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <% end %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -327,8 +343,10 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -371,8 +389,10 @@ :onmouseout => "message_titile_hide($(this))" %> <% else %>
  • @@ -383,8 +403,10 @@ :onmouseout => "message_titile_hide($(this))" %>
  • <% end %>
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -407,8 +429,10 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -452,8 +476,10 @@ <% else %>
  • @@ -463,8 +489,10 @@
  • <% end %>
  • <%= time_tag(ma.memo.created_at).html_safe %>
  • From db1dfa34acf723360f599d515984689a4e57a8ac Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 19 Sep 2015 11:00:00 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/configuration.yml | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/config/configuration.yml b/config/configuration.yml index 5c58c705a..87a54a976 100644 --- a/config/configuration.yml +++ b/config/configuration.yml @@ -103,7 +103,7 @@ default: # autologin_cookie_name: the name of the cookie (default: autologin) # autologin_cookie_path: the cookie path (default: /) # autologin_cookie_secure: true sets the cookie secure flag (default: false) - autologin_cookie_name: "autologin_trustie" + autologin_cookie_name: autologin_cookie_path: autologin_cookie_secure: @@ -197,16 +197,10 @@ default: #max_concurrent_ajax_uploads: 2 #pic_types: "bmp,jpeg,jpg,png,gif" - repository_root_path: '/tmp/htdocs' - - judge_server: 'http://judge.trustie.net/' - # specific configuration options for production environment # that overrides the default ones production: - judge_server: 'http://192.168.80.21:8080/' - repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs' - cookie_domain: ".trustie.net" + # CJK support rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf email_delivery: delivery_method: :smtp @@ -224,9 +218,9 @@ development: email_delivery: delivery_method: :smtp smtp_settings: - address: smtp.163.com + address: mail.trustie.net port: 25 - domain: smtp.163.com + domain: mail.trustie.net authentication: :login - user_name: "huang.jingquan@163.com" - password: "xinhu1ji2qu366" + user_name: "mail@trustie.net" + password: "loong2010"