From 607c31c8c5ed2c12863dbc3897bfbf3b6eb22f41 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 16:08:59 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=9B=BE=E7=89=87=E4=B8=8D=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/new_user.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index c15fbbccd..c8d075f93 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -473,7 +473,7 @@ a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no- .homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;} .homepageFollowCancel {background:url(../images/homepage_icon.png) -178px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;} .homepageEditProfile {width:16px; height:16px; border-radius:2px; background-color:#888888; position:absolute; right:5px; bottom:5px; font-size:12px; filter:alpha(opacity=50); -moz-opacity:0.5; opacity: 0.5;} -.homepageEditProfileIcon {background:url(../images/homepage_icon.png) -14px -37px no-repeat; width:20px; height:20px; display:block;} +.homepageEditProfileIcon {background:url(../images/homepage_icon2.png) -14px -37px no-repeat; width:20px; height:20px; display:block;} .homepageImageName {font-size:16px; color:#484848; height:25px; float:left; font-weight: bold; max-width:90px;overflow: hidden; white-space:nowrap; text-overflow:ellipsis;} .homepageImageSexMan {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;} .homepageImageSexWomen {width: 20px;height: 20px;background: url(../images/homepage_icon.png) -10px -149px no-repeat;float: left;} From 1d39df5469b5ae641477add3c215bc89acc3c7ca Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 16:15:05 +0800 Subject: [PATCH 02/10] =?UTF-8?q?C=E6=94=B9=E4=B8=BA=E5=A4=A7=E5=86=99?= =?UTF-8?q?=E3=80=81=E7=BC=96=E7=A8=8B=E5=B1=9E=E6=80=A7=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/homework_detail_programing.rb | 2 +- app/views/users/_user_programing_attr.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/homework_detail_programing.rb b/app/models/homework_detail_programing.rb index e5938d091..f6286a45e 100644 --- a/app/models/homework_detail_programing.rb +++ b/app/models/homework_detail_programing.rb @@ -4,6 +4,6 @@ class HomeworkDetailPrograming < ActiveRecord::Base belongs_to :homework_common def language_name - %W(c c++).at(self.language.to_i - 1) + %W(C C++).at(self.language.to_i - 1) end end diff --git a/app/views/users/_user_programing_attr.html.erb b/app/views/users/_user_programing_attr.html.erb index 0bfbd379f..498005010 100644 --- a/app/views/users/_user_programing_attr.html.erb +++ b/app/views/users/_user_programing_attr.html.erb @@ -29,7 +29,7 @@ <% end %>
- 温馨提示:您可以在发布作业后,在作业“模拟答题”中进行标准代码的检测和提交。 + 温馨提示:您可以在发布作业后,在作业“模拟答题”中进行标准代码的检测。 确  定
From 20b4c056a8e8ae978812643ce309b3a5407dc107 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 16:19:30 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=9A=E6=99=AE=E9=80=9A=E4=BD=9C=E4=B8=9A=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20150918063404_normal_homework_type.rb | 8 +++ db/schema.rb | 52 +++++++++++-------- 2 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 db/migrate/20150918063404_normal_homework_type.rb diff --git a/db/migrate/20150918063404_normal_homework_type.rb b/db/migrate/20150918063404_normal_homework_type.rb new file mode 100644 index 000000000..def3b0024 --- /dev/null +++ b/db/migrate/20150918063404_normal_homework_type.rb @@ -0,0 +1,8 @@ +class NormalHomeworkType < ActiveRecord::Migration + def up + HomeworkCommon.where("homework_type = 0").update_all(:homework_type => 1) + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index a3c8277bb..9749410a0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150917071652) do +ActiveRecord::Schema.define(:version => 20150918063404) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -476,6 +476,13 @@ ActiveRecord::Schema.define(:version => 20150917071652) do add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority" + create_table "discuss_demos", :force => true do |t| + t.string "title" + t.text "body" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "documents", :force => true do |t| t.integer "project_id", :default => 0, :null => false t.integer "category_id", :default => 0, :null => false @@ -490,23 +497,26 @@ ActiveRecord::Schema.define(:version => 20150917071652) do add_index "documents", ["created_on"], :name => "index_documents_on_created_on" add_index "documents", ["project_id"], :name => "documents_project_id" - create_table "dts", :force => true do |t| - t.string "IPLineCode" - t.string "Description" - t.string "Num" - t.string "Variable" - t.string "TraceInfo" - t.string "Method" + create_table "dts", :primary_key => "Num", :force => true do |t| + t.string "Defect", :limit => 50 + t.string "Category", :limit => 50 t.string "File" - t.string "IPLine" - t.string "Review" - t.string "Category" - t.string "Defect" - t.string "PreConditions" - t.string "StartLine" + t.string "Method" + t.string "Module", :limit => 20 + t.string "Variable", :limit => 50 + t.integer "StartLine" + t.integer "IPLine" + t.string "IPLineCode", :limit => 200 + t.string "Judge", :limit => 15 + t.integer "Review", :limit => 1 + t.string "Description" + t.text "PreConditions", :limit => 2147483647 + t.text "TraceInfo", :limit => 2147483647 + t.text "Code", :limit => 2147483647 t.integer "project_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" + t.integer "id", :null => false end create_table "enabled_modules", :force => true do |t| @@ -609,11 +619,12 @@ ActiveRecord::Schema.define(:version => 20150917071652) do t.text "description" t.date "publish_time" t.date "end_time" - t.integer "homework_type", :default => 1 + t.integer "homework_type", :default => 1 t.string "late_penalty" t.integer "course_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "teacher_priority", :default => 1 end create_table "homework_detail_manuals", :force => true do |t| @@ -906,7 +917,6 @@ ActiveRecord::Schema.define(:version => 20150917071652) do t.datetime "created_on" t.integer "comments_count", :default => 0, :null => false t.integer "course_id" - t.datetime "updated_on" end add_index "news", ["author_id"], :name => "index_news_on_author_id" @@ -1318,7 +1328,7 @@ ActiveRecord::Schema.define(:version => 20150917071652) do t.datetime "updated_at", :null => false t.integer "late_penalty", :default => 0 t.integer "absence_penalty", :default => 0 - t.integer "system_score" + t.float "system_score", :default => 0.0 t.boolean "is_test", :default => false end From ec4c7f531da0c38235482a5bde9572e231e3cb1b Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 17:16:31 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E5=8C=BF=E8=AF=84=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E6=88=90=E7=BB=A9=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/student_work.rb | 3 +-- app/views/student_work/_evaluation_un_work.html.erb | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/models/student_work.rb b/app/models/student_work.rb index a6d641c0c..cd4d81a32 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -31,9 +31,8 @@ class StudentWork < ActiveRecord::Base else self.system_score = last_test.test_score end - set_final_score self.homework_common,self end - + set_final_score self.homework_common,self end def set_src self.description = last_test.src if last_test diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb index caaaa2775..d3bac240d 100644 --- a/app/views/student_work/_evaluation_un_work.html.erb +++ b/app/views/student_work/_evaluation_un_work.html.erb @@ -57,7 +57,7 @@ - <% score = student_work.respond_to?("score") ? student_work.score : student_work.final_score - student_work.absence_penalty - student_work.late_penalty%> + <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
  • <%= score.nil? ? "--" : format("%.1f",score)%> <% unless score.nil?%> From bb197897b7708de29e6b055db5c13ffd4efbe459 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 17:27:10 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8enter?= =?UTF-8?q?=E9=94=AE=E6=90=9C=E7=B4=A2=EF=BC=8C=E4=BB=A5=E5=8F=8A=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/student_work/index.html.erb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb index db704a7de..5398b7084 100644 --- a/app/views/student_work/index.html.erb +++ b/app/views/student_work/index.html.erb @@ -87,13 +87,13 @@
    - <%= link_to "所有作品[共#{@homework.student_works.count}份]".html_safe,student_work_index_path(:homework => @homework.id),:class => "fl f14"%> + <%= link_to "所有作品[共#{@stundet_works.count}份]".html_safe,student_work_index_path(:homework => @homework.id),:class => "fl f14"%> <%if @is_teacher || @homework.homework_detail_manual.comment_status == 3%> -
    - +
    + - +
    <% end%>
    From 4061aa8a143c1720601d0cc92ae9dec1bab10a29 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 18 Sep 2015 17:34:44 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BD=9C=E5=93=81?= =?UTF-8?q?=E5=85=B3=E8=81=94=E9=A1=B9=E7=9B=AE=E6=8F=90=E7=A4=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/student_work_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb index 834b8dd61..e1cf3464e 100644 --- a/app/helpers/student_work_helper.rb +++ b/app/helpers/student_work_helper.rb @@ -6,7 +6,7 @@ module StudentWorkHelper def user_projects_option projects = User.current.projects.visible not_have_project = [] - not_have_project << "没有可选项目,请直接为本作品创建一个项目" + not_have_project << "请选择关联项目" not_have_project << 0 type = [] type << not_have_project From ff2e3e168dca0ab7a1be40e58a518e6ae673eb8c Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Sep 2015 17:49:19 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E5=BC=80=E5=90=AF/=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E6=B6=88=E6=81=AF=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 | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 4ce7980ce..35d6f2b85 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -206,8 +206,7 @@ class HomeworkCommonController < ApplicationController end @homework_detail_manual.update_column('comment_status', 2) @statue = 1 - - + # send_message_homework(@homework) else @statue = 2 end @@ -219,13 +218,6 @@ class HomeworkCommonController < ApplicationController #关闭匿评 def stop_anonymous_comment @homework_detail_manual.update_column('comment_status', 3) - # 关闭匿评消息提示 - # 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 => false) - end - # end #计算缺评扣分 work_ids = "(" + @homework.student_works.map(&:id).join(",") + ")" @homework.student_works.each do |student_work| @@ -233,12 +225,21 @@ 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_homework(@homework) respond_to do |format| format.js end end + # 开启/关闭匿评消息通知 + # def send_message_homework(homework) + # # 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 => false) + # end + # end + #提示 def alert_anonymous_comment @cur_size = 0 From fb76bc8f9ae67fec35e09f6c6491b51ce0015a5a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Sep 2015 23:18:15 +0800 Subject: [PATCH 08/10] =?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" %>
      @@ -250,6 +251,7 @@ <% end %> <% if ma.class == ForgeMessage %> + <% if ma.forge_message_type == "AppliedProject" %>
      • @@ -270,6 +272,35 @@
      • <%= time_tag(ma.created_at).html_safe %>
      <% end %> + + <% if ma.forge_message_type == "ProjectInvite" %> + <% inviter = User.find(ma.forge_message_id) %> +
        +
      • + <%=link_to image_tag(url_to_avatar(inviter), :width => "30", :height => "30"), user_path(inviter) %> +
      • +
      • + <%=link_to inviter, user_path(inviter), :class => "newsBlue homepageNewsPublisher" %> + ">邀请你加入项目: +
      • +
      • + <%= link_to ma.project, project_path(ma.project), + :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", + :onmouseover => "message_titile_show($(this),event)", + :onmouseout => "message_titile_hide($(this))" %> +
      • + +
      • + <%=link_to "同意加入", {:controller => 'projects', :action => 'member', :id => ma.project_id, :message_id =>ma.id, :key => ma.secret_key}, + :value => ma.secret_key, + :class => "green_btn_cir ml10", + :style => "color:#fff" %> +
      • +
      • <%= time_tag(ma.created_at).html_safe %>
      • +
      + <% end %> <% if ma.forge_message_type == "Issue" %>
      • diff --git a/db/migrate/20150918134804_add_secret_key_to_forge_message.rb b/db/migrate/20150918134804_add_secret_key_to_forge_message.rb new file mode 100644 index 000000000..1de5a8ae9 --- /dev/null +++ b/db/migrate/20150918134804_add_secret_key_to_forge_message.rb @@ -0,0 +1,5 @@ +class AddSecretKeyToForgeMessage < ActiveRecord::Migration + def change + add_column :forge_messages, :secret_key, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index d0c60e724..3ab82977a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150917081214) do +ActiveRecord::Schema.define(:version => 20150918135051) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -575,6 +575,8 @@ ActiveRecord::Schema.define(:version => 20150917081214) do t.integer "viewed" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false + t.string "secret_key" + t.string "code" end create_table "forums", :force => true do |t| @@ -1329,7 +1331,7 @@ ActiveRecord::Schema.define(:version => 20150917081214) do t.datetime "updated_at", :null => false t.integer "late_penalty", :default => 0 t.integer "absence_penalty", :default => 0 - t.integer "system_score" + t.float "system_score", :default => 0.0 t.boolean "is_test", :default => false end From 810c0d8fe544788fefe3120010d879e743640d80 Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 19 Sep 2015 00:03:45 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=BC=80=E5=90=AF/?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=8C=BF=E8=AF=84=E9=82=AE=E4=BB=B6=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 21 +++++----- app/models/mailer.rb | 38 ++++++++++++++++++- ...send_mail_anonymous_comment_close.html.erb | 10 +++++ ...send_mail_anonymous_comment_close.text.erb | 0 .../send_mail_anonymous_comment_open.html.erb | 10 +++++ .../send_mail_anonymous_comment_open.text.erb | 0 config/locales/mailers/zh.yml | 4 +- 7 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 app/views/mailer/send_mail_anonymous_comment_close.html.erb create mode 100644 app/views/mailer/send_mail_anonymous_comment_close.text.erb create mode 100644 app/views/mailer/send_mail_anonymous_comment_open.html.erb create mode 100644 app/views/mailer/send_mail_anonymous_comment_open.text.erb diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 35d6f2b85..01a8a9010 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_homework(@homework) + send_message_anonymous_comment(@homework, open=true) + Mailer.send_mail_anonymous_comment_open(@homework).deliver else @statue = 2 end @@ -225,21 +226,21 @@ 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_homework(@homework) + send_message_anonymous_comment(@homework, open = false) + Mailer.send_mail_anonymous_comment_close(@homework).deliver respond_to do |format| format.js end end # 开启/关闭匿评消息通知 - # def send_message_homework(homework) - # # 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 => false) - # end - # end - + def send_message_anonymous_comment(homework, open) + # 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) + end + end #提示 def alert_anonymous_comment @cur_size = 0 diff --git a/app/models/mailer.rb b/app/models/mailer.rb index e5ca8130e..fd57b7031 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -47,6 +47,40 @@ class Mailer < ActionMailer::Base MailerProxy.new(self) end + # 作业匿评开启 + def send_mail_anonymous_comment_open(homework_common) + course = homework_common.course + course.student.each do |student| + user = student.user + @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 + end + end + + # 作业匿评关闭 + def send_mail_anonymous_comment_close(homework_common) + course = homework_common.course + course.student.each do |student| + user = student.user + @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 + end + end + # author: alan # 邀请未注册用户加入项目 # 功能: 在加入项目的同时自动注册用户 @@ -82,13 +116,13 @@ class Mailer < ActionMailer::Base @token = Token.get_token_from_user(user, 'autologin') @project_url = url_for(:controller => 'projects', :action => 'member', :id => project.id, :user_id => user.id, :mail => true, :token => @token.value) # 发送消息邀请 - send_message(user,project) + send_message_request_member(user,project) # end mail :to => email, :subject => @subject end # 邀请信息消息 注:forge_message_id 为邀请人ID(特殊情况) - def send_message(user, project) + def send_message_request_member(user, project) 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 diff --git a/app/views/mailer/send_mail_anonymous_comment_close.html.erb b/app/views/mailer/send_mail_anonymous_comment_close.html.erb new file mode 100644 index 000000000..07bde8ebd --- /dev/null +++ b/app/views/mailer/send_mail_anonymous_comment_close.html.erb @@ -0,0 +1,10 @@ +
        +
          +
        • <%= l(:mail_issue_content)%> + +

          <%=link_to @author, user_url(@author) %> 发布的作业:<%=link_to @homework_endtime_name, @homework_endtime_url%> 已经关闭了匿评!

          +
          +
        • +
        +
        +
        \ No newline at end of file diff --git a/app/views/mailer/send_mail_anonymous_comment_close.text.erb b/app/views/mailer/send_mail_anonymous_comment_close.text.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/mailer/send_mail_anonymous_comment_open.html.erb b/app/views/mailer/send_mail_anonymous_comment_open.html.erb new file mode 100644 index 000000000..e791c86f9 --- /dev/null +++ b/app/views/mailer/send_mail_anonymous_comment_open.html.erb @@ -0,0 +1,10 @@ +
        +
          +
        • <%= l(:mail_issue_content)%> + +

          <%=link_to @author, user_url(@author) %> 发布的作业:<%=link_to @homework_endtime_name, @homework_endtime_url%> 已经开启匿评了!

          +
          +
        • +
        +
        +
        \ No newline at end of file diff --git a/app/views/mailer/send_mail_anonymous_comment_open.text.erb b/app/views/mailer/send_mail_anonymous_comment_open.text.erb new file mode 100644 index 000000000..e69de29bb diff --git a/config/locales/mailers/zh.yml b/config/locales/mailers/zh.yml index fea392421..c2dd5c7e0 100644 --- a/config/locales/mailers/zh.yml +++ b/config/locales/mailers/zh.yml @@ -25,4 +25,6 @@ zh: mail_course_homework_active: "中发布了作业" mail_attention: "请您关注!" mail_homework_endtime: "作业截止时间快到了!" - mail_homework: "作业:" \ No newline at end of file + mail_homework: "作业:" + mail_anonymous_comment_close: "作业匿评已经关闭!" + mail_anonymous_comment_open: "作业匿评已经开启!" \ No newline at end of file From 32f90ea591508dd11cba688f3d3504d85f04d81f Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 19 Sep 2015 09:19:35 +0800 Subject: [PATCH 10/10] =?UTF-8?q?"=E5=90=8C=E6=84=8F=E5=8A=A0=E5=85=A5"?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=E8=87=AA=E5=B7=B1=E6=89=8D=E8=83=BD=E7=9C=8B?= =?UTF-8?q?=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/user_messages.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 9d1532282..ab030f6c9 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -292,12 +292,14 @@ + <% if User.current == @user %>
      • <%=link_to "同意加入", {:controller => 'projects', :action => 'member', :id => ma.project_id, :message_id =>ma.id, :key => ma.secret_key}, :value => ma.secret_key, :class => "green_btn_cir ml10", :style => "color:#fff" %>
      • + <% end %>
      • <%= time_tag(ma.created_at).html_safe %>
      <% end %>