From 0bcc0beaf1b5d6517b5666c1ea7b9aa135ed6f67 Mon Sep 17 00:00:00 2001 From: z9hang Date: Tue, 1 Jul 2014 10:31:44 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=95=99=E8=A8=80?= =?UTF-8?q?=E8=AE=A1=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/journals_for_message.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index f2b69da81..9551ff28b 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -117,6 +117,15 @@ class JournalsForMessage < ActiveRecord::Base update_all("m_reply_count = #{count.to_i}", ["id = ?", journals_for_messages.m_parent_id]) end + #如果是在项目中留言则返回该项目否则返回nil - zjc + def project + if self.jour_type == 'Project' + Project.find(self.jour_id) + else + nil + end + end + # 更新用户分数 -by zjc def be_user_score #新建了留言回复 From a7fa444f9e48bc3ba1757b5243722198e4d9fc37 Mon Sep 17 00:00:00 2001 From: z9hang Date: Tue, 1 Jul 2014 15:19:08 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E5=BE=97=E5=88=86=E9=97=AE=E9=A2=98=EF=BC=9A?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=97=B6=E5=8F=AA=E8=AE=A1=E7=AE=97=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=88=90=E5=91=98=EF=BC=8Cuser=5Fgrade=E8=A1=A8user?= =?UTF-8?q?=5Fid=E5=92=8Cproject=5Fid=E8=81=94=E5=90=88=E4=B8=8D=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E9=AA=8C=E8=AF=81=EF=BC=8Cuser=5Fgrade=E5=88=86?= =?UTF-8?q?=E6=95=B0=E9=83=A8=E4=BD=8D=E8=B4=9F=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/members_controller.rb | 2 +- app/models/user_grade.rb | 33 +++++ lib/tasks/userscore.rake | 175 ++++++++++++++++---------- 3 files changed, 145 insertions(+), 65 deletions(-) diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 76be02409..5ddebe707 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -122,7 +122,7 @@ class MembersController < ApplicationController user_ids = attrs.delete(:user_ids) user_ids.each do |user_id| members << Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id) - user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id) + #user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id) if (params[:membership][:role_ids] && params[:membership][:role_ids][0] == "3") course_info << CourseInfo.new(:user_id => user_id, :course_id => @course.id) end diff --git a/app/models/user_grade.rb b/app/models/user_grade.rb index ea951eadd..074aa516a 100644 --- a/app/models/user_grade.rb +++ b/app/models/user_grade.rb @@ -2,4 +2,37 @@ class UserGrade < ActiveRecord::Base # attr_accessible :title, :body attr_accessible :user_id, :project_id, :grade belongs_to :project + before_save :correct_score + validates_uniqueness_of :user_id, :scope => [:project_id] + #validate :my_validation + + #修正分数 + #分数小于0时修正为0 + #分数大于等于0时不修正 -by zjc + def correct_score + if !self.grade.nil? && self.grade < 0 + self.grade = 0 + end + end + + #def self.exit_user_and_project(user,project) + # unless user.nil? || project.nil? + # if user.class.to_s == 'User' && project.class.to_s == 'Project' + # user_grade = UserGrade.find_by_user_id_and_project_id(user.id,project.id) + # user_grade + # else + # nil + # end + # else + # nil + # end + #end + + #def my_validation + # if user_id.nil? || project_id.nil? + # errors[:Base] << "用户和项目不能为空" + # elsif UserGrade.exit_user_and_project(user_id,project_id) + # errors[:Base] << "当前记录已存在" + # end + #end end diff --git a/lib/tasks/userscore.rake b/lib/tasks/userscore.rake index ab6e38abe..27fae5363 100644 --- a/lib/tasks/userscore.rake +++ b/lib/tasks/userscore.rake @@ -17,11 +17,14 @@ namespace :user_score do users[m.author.id] = users[m.author.id].to_i + 2 project = m.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(m.author.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id => m.author.id, :project_id => project.id) + if m.author.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(m.author.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id => m.author.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 2 end - grades[user_grade.id] = grades[user_grade.id].to_i + 2 + end end @@ -32,11 +35,14 @@ namespace :user_score do users[j.user.id] = users[j.user.id].to_i + 1 project = j.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id => j.user.id, :project_id => project.id) + if j.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id => j.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 1 end - grades[user_grade.id] = grades[user_grade.id].to_i + 1 + end end puts ":post_issue_message calculate Completed. collaboration users count: #{users.count}" @@ -46,11 +52,14 @@ namespace :user_score do users[j.user.id] = users[j.user.id].to_i + 1 project = j.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id => j.user.id, :project_id => project.id) + if j.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id => j.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 1 end - grades[user_grade.id] = grades[user_grade.id].to_i + 1 + end end @@ -67,11 +76,14 @@ namespace :user_score do users[m.author.id] = users[m.author.id].to_i + 1 project = m.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(m.author.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>m.author.id, :project_id => project.id) + if m.author.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(m.author.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>m.author.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 1 end - grades[user_grade.id] = grades[user_grade.id].to_i + 1 + end end puts ":reply_posting calculate Completed. collaboration users count: #{users.count}" @@ -116,38 +128,50 @@ namespace :user_score do #踩帖 users_skill[pt.user.id] = users_skill[pt.user.id].to_i - 2 #踩别人帖-2分 unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(pt.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>pt.user.id, :project_id => project.id) + if pt.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(pt.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>pt.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i - 2 end - grades[user_grade.id] = grades[user_grade.id].to_i - 2 + end if level == 1 users_skill[target_user.id] = users_skill[target_user.id].to_i - 2 #帖子被一级会员踩-2分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i - 2 end - grades[user_grade.id] = grades[user_grade.id].to_i - 2 + end elsif level == 2 users_skill[target_user.id] = users_skill[target_user.id].to_i - 4 #帖子被二级会员踩-4分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i - 4 end - grades[user_grade.id] = grades[user_grade.id].to_i - 4 + end elsif level == 3 users_skill[target_user.id] = users_skill[target_user.id].to_i - 6 #帖子被三级会员踩-6分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i - 6 end - grades[user_grade.id] = grades[user_grade.id].to_i - 6 + end end elsif pt.praise_or_tread == 1 @@ -155,29 +179,38 @@ namespace :user_score do if level == 1 users_skill[target_user.id] = users_skill[target_user.id].to_i + 4 #帖子被一级会员顶+4分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 + end elsif level == 2 users_skill[target_user.id] = users_skill[target_user.id].to_i + 6 #帖子被二级会员顶+6分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 6 end - grades[user_grade.id] = grades[user_grade.id].to_i + 6 + end elsif level == 3 users_skill[target_user.id] = users_skill[target_user.id].to_i + 8 #帖子被三级会员顶+8分 add praise_tread unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + if target_user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(target_user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>target_user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 8 end - grades[user_grade.id] = grades[user_grade.id].to_i + 8 + end end end @@ -201,11 +234,14 @@ namespace :user_score do users_active[changeset.user.id] = users_active[changeset.user.id].to_i + 4 project = changeset.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(changeset.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>changeset.user.id, :project_id => project.id) + if changeset.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(changeset.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>changeset.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 + end end puts ":push_code calculate Completed. active users count: #{users_active.count}" @@ -217,11 +253,14 @@ namespace :user_score do users_active[document.user.id] = users_active[document.user.id].to_i + 4 project = document.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(document.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>document.user.id, :project_id => project.id) + if document.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(document.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>document.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 + end end puts ":push_document calculate Completed. active users count: #{users_active.count}" @@ -238,11 +277,14 @@ namespace :user_score do if attachment.container.class.to_s == "Project" project = attachment.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(attachment.author.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>attachment.author.id, :project_id => project.id) + if attachment.author.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(attachment.author.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>attachment.author.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 + end end @@ -255,11 +297,13 @@ namespace :user_score do users_active[j.user.id] = users_active[j.user.id].to_i + 2 project = j.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>j.user.id, :project_id => project.id) + if j.user.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(j.user.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>j.user.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 end end puts ":update_issue_ratio calculate Completed. active users count: #{users_active.count}" @@ -268,11 +312,14 @@ namespace :user_score do users_active[issue.author.id] = users_active[issue.author.id].to_i + 4 project = issue.project unless project.nil? - user_grade = UserGrade.find_by_user_id_and_project_id(issue.author.id, project.id) - if user_grade.nil? - user_grade = UserGrade.create(:user_id =>issue.author.id, :project_id => project.id) + if issue.author.member_of?(project) + user_grade = UserGrade.find_by_user_id_and_project_id(issue.author.id, project.id) + if user_grade.nil? + user_grade = UserGrade.create(:user_id =>issue.author.id, :project_id => project.id) + end + grades[user_grade.id] = grades[user_grade.id].to_i + 4 end - grades[user_grade.id] = grades[user_grade.id].to_i + 4 + end end puts ":post_issue calculate Completed. active users count: #{users_active.count}" From 993ac23a3693e93a78bd45fbe12b49527b4e5010 Mon Sep 17 00:00:00 2001 From: nwb Date: Tue, 1 Jul 2014 15:29:16 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=90=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=BF=81=E7=A7=BB=E6=97=B6=E4=B8=8D=E5=86=8D=E5=81=9A?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=EF=BC=8C=E4=BB=A5=E5=85=BC=E5=AE=B9=E8=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0140603033359_add_boards_type_to_boards.rb | 2 +- .../20140603042015_stored_course_procedure.rb | 4 +- ...3081801_add_courseid_to_enabled_modules.rb | 3 +- ...140604011630_add_courseid_to_to_members.rb | 2 +- ...name_project_id_to_homework_for_courses.rb | 2 +- .../20140605025300_create_course_infos.rb | 2 +- .../20140605025303_migrate_course_tags.rb | 2 +- .../20140606027403_migrate_course_journals.rb | 2 +- db/migrate/20140606028512_add_course_roles.rb | 2 +- .../20140611161801_add_courseid_to_news.rb | 2 +- ...18020535_remove_data_to_homework_attach.rb | 2 +- .../20140618105213_migrate_course_students.rb | 2 +- ...20140618155324_migrate_course_file_type.rb | 2 +- .../20140626012511_modify_student_roles.rb | 2 +- db/schema.rb | 64 ++----------------- 15 files changed, 21 insertions(+), 74 deletions(-) diff --git a/db/migrate/20140603033359_add_boards_type_to_boards.rb b/db/migrate/20140603033359_add_boards_type_to_boards.rb index fcef8b117..85b3723f9 100644 --- a/db/migrate/20140603033359_add_boards_type_to_boards.rb +++ b/db/migrate/20140603033359_add_boards_type_to_boards.rb @@ -11,7 +11,7 @@ class AddBoardsTypeToBoards < ActiveRecord::Migration if project && project.project_type == 1 board.course_id = project.course_extra.id board.project_id = -1 - board.save + board.save(:validate => false) end end diff --git a/db/migrate/20140603042015_stored_course_procedure.rb b/db/migrate/20140603042015_stored_course_procedure.rb index 5dd6bc383..40cb87e2e 100644 --- a/db/migrate/20140603042015_stored_course_procedure.rb +++ b/db/migrate/20140603042015_stored_course_procedure.rb @@ -14,7 +14,7 @@ class StoredCourseProcedure < ActiveRecord::Migration course.attachmenttype = 2 #course.lft = project.lft #course.rgt = project.rgt - course.save + course.save(:validate => false) # 更新状态表 projectstatus = ProjectStatus.find_by_project_id(project.id) @@ -25,7 +25,7 @@ class StoredCourseProcedure < ActiveRecord::Migration courseStatus.watchers_count = projectstatus.watchers_count courseStatus.grade = projectstatus.grade courseStatus.course_ac_para = projectstatus.course_ac_para - courseStatus.save + courseStatus.save(:validate => false) end end end diff --git a/db/migrate/20140603081801_add_courseid_to_enabled_modules.rb b/db/migrate/20140603081801_add_courseid_to_enabled_modules.rb index be4fe7e6f..61484481f 100644 --- a/db/migrate/20140603081801_add_courseid_to_enabled_modules.rb +++ b/db/migrate/20140603081801_add_courseid_to_enabled_modules.rb @@ -6,12 +6,13 @@ class AddCourseidToEnabledModules < ActiveRecord::Migration #EnabledModule.where('project_id IN (SELECT id FROM projects WHERE project_type=1)').update_all("course_id = project_id") #EnabledModule.where('project_id IN (SELECT id FROM projects WHERE project_type=1)').update_all(project_id: -1) + EnabledModule.all.each do |enablemodule| project = Project.find_by_id(enablemodule.project_id) if project && project.project_type == 1 enablemodule.course_id = project.course_extra.id enablemodule.project_id = -1 - enablemodule.save + enablemodule.save(:validate => false) end end end diff --git a/db/migrate/20140604011630_add_courseid_to_to_members.rb b/db/migrate/20140604011630_add_courseid_to_to_members.rb index 583e3a2d1..1fb547d68 100644 --- a/db/migrate/20140604011630_add_courseid_to_to_members.rb +++ b/db/migrate/20140604011630_add_courseid_to_to_members.rb @@ -15,7 +15,7 @@ class AddCourseidToToMembers < ActiveRecord::Migration if project && project.project_type == 1 member.course_id = project.course_extra.id member.project_id = -1 - member.save + member.save(:validate => false) end end end diff --git a/db/migrate/20140604071624_rename_project_id_to_homework_for_courses.rb b/db/migrate/20140604071624_rename_project_id_to_homework_for_courses.rb index 613f141cf..e9cf6ee19 100644 --- a/db/migrate/20140604071624_rename_project_id_to_homework_for_courses.rb +++ b/db/migrate/20140604071624_rename_project_id_to_homework_for_courses.rb @@ -7,7 +7,7 @@ class RenameProjectIdToHomeworkForCourses < ActiveRecord::Migration project = Project.find_by_id(work.course_id) if project && project.project_type == 1 work.course_id = project.course_extra.id - work.save + work.save(:validate => false) end end end diff --git a/db/migrate/20140605025300_create_course_infos.rb b/db/migrate/20140605025300_create_course_infos.rb index b1947f3d3..daf9f9537 100644 --- a/db/migrate/20140605025300_create_course_infos.rb +++ b/db/migrate/20140605025300_create_course_infos.rb @@ -16,7 +16,7 @@ class CreateCourseInfos < ActiveRecord::Migration courseinfo = CourseInfos.new courseinfo.course_id = course.id courseinfo.user_id = projinfo.user_id - courseinfo.save + courseinfo.save(:validate => false) end end end diff --git a/db/migrate/20140605025303_migrate_course_tags.rb b/db/migrate/20140605025303_migrate_course_tags.rb index 6e95839ea..83926ae8e 100644 --- a/db/migrate/20140605025303_migrate_course_tags.rb +++ b/db/migrate/20140605025303_migrate_course_tags.rb @@ -7,7 +7,7 @@ class MigrateCourseTags < ActiveRecord::Migration if project && project.project_type == 1 tagging.taggable_type= 'Course' tagging.taggable_id = project.course_extra.id - tagging.save + tagging.save(:validate => false) end end end diff --git a/db/migrate/20140606027403_migrate_course_journals.rb b/db/migrate/20140606027403_migrate_course_journals.rb index 4a13ef38d..b601483ae 100644 --- a/db/migrate/20140606027403_migrate_course_journals.rb +++ b/db/migrate/20140606027403_migrate_course_journals.rb @@ -6,7 +6,7 @@ class MigrateCourseJournals < ActiveRecord::Migration if project && project.project_type == 1 journal.jour_type = 'Course' journal.jour_id = project.course_extra.id - journal.save + journal.save(:validate => false) end # 将自动设置的更新日期还原 sql = ActiveRecord::Base.connection() diff --git a/db/migrate/20140606028512_add_course_roles.rb b/db/migrate/20140606028512_add_course_roles.rb index 7b84b92ac..3435dd25f 100644 --- a/db/migrate/20140606028512_add_course_roles.rb +++ b/db/migrate/20140606028512_add_course_roles.rb @@ -47,7 +47,7 @@ class AddCourseRoles < ActiveRecord::Migration role.permissions.append(:view_course_files ) role.permissions.append(:view_course_journals_for_messages ) role.permissions.append(:view_course_messages ) - role.save + role.save(:validate => false) end end diff --git a/db/migrate/20140611161801_add_courseid_to_news.rb b/db/migrate/20140611161801_add_courseid_to_news.rb index 5ca62a6a7..b1a349387 100644 --- a/db/migrate/20140611161801_add_courseid_to_news.rb +++ b/db/migrate/20140611161801_add_courseid_to_news.rb @@ -12,7 +12,7 @@ class AddCourseidToNews < ActiveRecord::Migration if project && project.project_type == 1 news.course_id = project.course_extra.id news.project_id = -1 - news.save + news.save(:validate => false) end end diff --git a/db/migrate/20140618020535_remove_data_to_homework_attach.rb b/db/migrate/20140618020535_remove_data_to_homework_attach.rb index 16a1b4911..9067e406b 100644 --- a/db/migrate/20140618020535_remove_data_to_homework_attach.rb +++ b/db/migrate/20140618020535_remove_data_to_homework_attach.rb @@ -11,7 +11,7 @@ class RemoveDataToHomeworkAttach < ActiveRecord::Migration homework.description = biding.description homework.user_id = biding.user_id homework.state = 0 - homework.save + homework.save(:validate => false) end end diff --git a/db/migrate/20140618105213_migrate_course_students.rb b/db/migrate/20140618105213_migrate_course_students.rb index ef037682a..9eb43e4b6 100644 --- a/db/migrate/20140618105213_migrate_course_students.rb +++ b/db/migrate/20140618105213_migrate_course_students.rb @@ -5,7 +5,7 @@ class MigrateCourseStudents < ActiveRecord::Migration project = Project.find_by_id(student.course_id) if project && project.course_extra student.course_id = project.course_extra.id - student.save + student.save(:validate => false) end end end diff --git a/db/migrate/20140618155324_migrate_course_file_type.rb b/db/migrate/20140618155324_migrate_course_file_type.rb index 6cbf3b878..a91b14618 100644 --- a/db/migrate/20140618155324_migrate_course_file_type.rb +++ b/db/migrate/20140618155324_migrate_course_file_type.rb @@ -4,7 +4,7 @@ class MigrateCourseFileType < ActiveRecord::Migration Attachment.all.each do |attach| if attach.container_type == "Course" && attach.attachtype == 1 attach.attachtype = 4 - attach.save + attach.save(:validate => false) end end end diff --git a/db/migrate/20140626012511_modify_student_roles.rb b/db/migrate/20140626012511_modify_student_roles.rb index 1db0a734b..182748718 100644 --- a/db/migrate/20140626012511_modify_student_roles.rb +++ b/db/migrate/20140626012511_modify_student_roles.rb @@ -6,7 +6,7 @@ class ModifyStudentRoles < ActiveRecord::Migration role = Role.find_by_name('学生') if role role.permissions.append(:add_messages) - role.save + role.save(:validate => false) end end diff --git a/db/schema.rb b/db/schema.rb index cc3d68cba..67ea26a29 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -175,58 +175,6 @@ ActiveRecord::Schema.define(:version => 20140626012511) do add_index "changesets_issues", ["changeset_id", "issue_id"], :name => "changesets_issues_ids", :unique => true - create_table "code_review_assignments", :force => true do |t| - t.integer "issue_id" - t.integer "change_id" - t.integer "attachment_id" - t.string "file_path" - t.string "rev" - t.string "rev_to" - t.string "action_type" - t.integer "changeset_id" - end - - create_table "code_review_project_settings", :force => true do |t| - t.integer "project_id" - t.integer "tracker_id" - t.datetime "created_at" - t.datetime "updated_at" - t.integer "updated_by" - t.boolean "hide_code_review_tab", :default => false - t.integer "auto_relation", :default => 1 - t.integer "assignment_tracker_id" - t.text "auto_assign" - t.integer "lock_version", :default => 0, :null => false - t.boolean "tracker_in_review_dialog", :default => false - end - - create_table "code_review_user_settings", :force => true do |t| - t.integer "user_id", :default => 0, :null => false - t.integer "mail_notification", :default => 0, :null => false - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "code_reviews", :force => true do |t| - t.integer "project_id" - t.integer "change_id" - t.datetime "created_at" - t.datetime "updated_at" - t.integer "line" - t.integer "updated_by_id" - t.integer "lock_version", :default => 0, :null => false - t.integer "status_changed_from" - t.integer "status_changed_to" - t.integer "issue_id" - t.string "action_type" - t.string "file_path" - t.string "rev" - t.string "rev_to" - t.integer "attachment_id" - t.integer "file_count", :default => 0, :null => false - t.boolean "diff_all" - end - create_table "comments", :force => true do |t| t.string "commented_type", :limit => 30, :default => "", :null => false t.integer "commented_id", :default => 0, :null => false @@ -1041,13 +989,11 @@ ActiveRecord::Schema.define(:version => 20140626012511) do end create_table "user_scores", :force => true do |t| - t.integer "user_id", :null => false - t.integer "collaboration" - t.integer "influence" - t.integer "skill" - t.integer "active" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.integer "user_id" + t.integer "collaboration" + t.integer "influence" + t.integer "skill" + t.integer "activity" end create_table "user_statuses", :force => true do |t| From cf00942261c8392c08ae15d7e4b1baa9fff4b658 Mon Sep 17 00:00:00 2001 From: nwb Date: Tue, 1 Jul 2014 16:19:42 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140603042015_stored_course_procedure.rb | 16 ++++-- db/schema.rb | 52 +++++++++++++++++++ 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/db/migrate/20140603042015_stored_course_procedure.rb b/db/migrate/20140603042015_stored_course_procedure.rb index 40cb87e2e..2f5faf5c7 100644 --- a/db/migrate/20140603042015_stored_course_procedure.rb +++ b/db/migrate/20140603042015_stored_course_procedure.rb @@ -8,13 +8,19 @@ class StoredCourseProcedure < ActiveRecord::Migration if project.project_type == 1 course = Course.find_by_extra(project.identifier) if course - course.name = project.name - course.description = project.description - course.status = project.status - course.attachmenttype = 2 + sql = "update courses set name='" + project.name.to_s + "',description='" + sql += project.description.to_s + "',status=" + project.status.to_s + sql += ",attachmenttype=2 where id=" +course.id.to_s + execute(sql) + + # 以下方式保存,描述等经常不能成功 + #course.name = project.name + #course.description = project.description + #course.status = project.status + #course.attachmenttype = 2 #course.lft = project.lft #course.rgt = project.rgt - course.save(:validate => false) + #course.save(:validate => false) # 更新状态表 projectstatus = ProjectStatus.find_by_project_id(project.id) diff --git a/db/schema.rb b/db/schema.rb index 67ea26a29..9962892da 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -175,6 +175,58 @@ ActiveRecord::Schema.define(:version => 20140626012511) do add_index "changesets_issues", ["changeset_id", "issue_id"], :name => "changesets_issues_ids", :unique => true + create_table "code_review_assignments", :force => true do |t| + t.integer "issue_id" + t.integer "change_id" + t.integer "attachment_id" + t.string "file_path" + t.string "rev" + t.string "rev_to" + t.string "action_type" + t.integer "changeset_id" + end + + create_table "code_review_project_settings", :force => true do |t| + t.integer "project_id" + t.integer "tracker_id" + t.datetime "created_at" + t.datetime "updated_at" + t.integer "updated_by" + t.boolean "hide_code_review_tab", :default => false + t.integer "auto_relation", :default => 1 + t.integer "assignment_tracker_id" + t.text "auto_assign" + t.integer "lock_version", :default => 0, :null => false + t.boolean "tracker_in_review_dialog", :default => false + end + + create_table "code_review_user_settings", :force => true do |t| + t.integer "user_id", :default => 0, :null => false + t.integer "mail_notification", :default => 0, :null => false + t.datetime "created_at" + t.datetime "updated_at" + end + + create_table "code_reviews", :force => true do |t| + t.integer "project_id" + t.integer "change_id" + t.datetime "created_at" + t.datetime "updated_at" + t.integer "line" + t.integer "updated_by_id" + t.integer "lock_version", :default => 0, :null => false + t.integer "status_changed_from" + t.integer "status_changed_to" + t.integer "issue_id" + t.string "action_type" + t.string "file_path" + t.string "rev" + t.string "rev_to" + t.integer "attachment_id" + t.integer "file_count", :default => 0, :null => false + t.boolean "diff_all" + end + create_table "comments", :force => true do |t| t.string "commented_type", :limit => 30, :default => "", :null => false t.integer "commented_id", :default => 0, :null => false From 2e38f668993a780578fc63c7ca845fafb16c4282 Mon Sep 17 00:00:00 2001 From: z9hang Date: Tue, 1 Jul 2014 16:31:40 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E6=8C=89=E6=98=B5=E7=A7=B0=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/user.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 30d86f5df..2ae3083d8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -202,7 +202,8 @@ class User < Principal where(nil) else pattern = "%#{arg.to_s.strip.downcase}%" - where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern) + #where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern) + where(" LOWER(login) LIKE :p ", :p => pattern) end } From e94ed86eadccc738da9905474b68e262d9943d1d Mon Sep 17 00:00:00 2001 From: nwb Date: Tue, 1 Jul 2014 16:56:23 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E9=83=A8=E5=88=86BUG=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/messages/_form.html.erb | 2 +- app/views/users/_my_joinedcourse.html.erb | 2 +- db/schema.rb | 12 +++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/views/messages/_form.html.erb b/app/views/messages/_form.html.erb index 931b472c7..6324cec36 100644 --- a/app/views/messages/_form.html.erb +++ b/app/views/messages/_form.html.erb @@ -3,7 +3,7 @@
-


+


<%= f.text_field :subject,:size => 60, :style => "width: 99%;", :id => "message_subject" %>

diff --git a/app/views/users/_my_joinedcourse.html.erb b/app/views/users/_my_joinedcourse.html.erb index 484380778..315204e7a 100644 --- a/app/views/users/_my_joinedcourse.html.erb +++ b/app/views/users/_my_joinedcourse.html.erb @@ -13,7 +13,7 @@ <% else %>

-
+
- <%= content_tag "span", show_grade(project), + <% issue_count = project.issues.count %> + <% issue_journal_count = project.issue_changes.count %> + <% issue_score = issue_count * 0.2 %> + <% issue_journal_score = issue_journal_count * 0.1 %> + <% finall_issue_score = issue_score + issue_journal_score %> + + <% new_count = project.news.count %> + <% new_score = new_count * 0.1 %> + <% finall_new_score = new_score %> + + <% document_count = project.documents.count %> + <% file_score = document_count * 0.1 %> + <% finall_file_score = file_score %> + + <% changeset_count = project.changesets.count %> + <% code_submit_score = changeset_count * 0.3 %> + <% finall_code_submit_score = code_submit_score %> + + <% board_message_count = 0 %> + <% project.boards.each do |board| %> + <% board_message_count += board.messages_count %> + <% end %> + <% topic_score = board_message_count * 0.1 %> + <% finall_topic_score = topic_score %> + + <% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %> + <%= content_tag "span", l(:label_project_score)+ ":" + format("%.2f" , finall_project_score ), :style => "cursor: pointer; display: inline-block; float: right; color: #ec6300; ", :title => "项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度", :class => "tooltip", diff --git a/config/locales/zh.yml b/config/locales/zh.yml index eacd5ac41..9b622531a 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -500,6 +500,7 @@ zh: label_project_new: 新建项目 label_project_new_description: '项目可以是软件开发项目,也可以是协作研究项目。' label_project_plural: 项目列表 + label_project_score: 项目评分 label_x_projects: zero: 无项目 one: 1 个项目 From e8705bccb1cb6490c22905e8593060999220cf9d Mon Sep 17 00:00:00 2001 From: nwb Date: Wed, 2 Jul 2014 14:58:52 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=95=8C=E9=9D=A2=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 8 +- app/helpers/attachments_helper.rb | 39 ++++++++- app/models/attachment.rb | 100 ++++++++++++++++++++++ app/views/attachments/autocomplete.js.erb | 5 ++ app/views/files/_new.html.erb | 25 ++++-- public/stylesheets/application.css | 2 +- public/stylesheets/nyan.css | 10 +++ 7 files changed, 175 insertions(+), 14 deletions(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index af96d9c68..c234eb17b 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -161,7 +161,13 @@ class AttachmentsController < ApplicationController end def autocomplete - @project = Project.find_by_id(params[:project_id]) + # modify by nwb + if params[:project_id] + @project = Project.find_by_id(params[:project_id]) + elsif params[:course_id] + @course = Course.find_by_id(params[:course_id]) + end + respond_to do |format| format.js end diff --git a/app/helpers/attachments_helper.rb b/app/helpers/attachments_helper.rb index aa6a5f7f5..3e61b2a44 100644 --- a/app/helpers/attachments_helper.rb +++ b/app/helpers/attachments_helper.rb @@ -115,7 +115,7 @@ module AttachmentsHelper s = content_tag('div', attachments_check_box_tags('attachment[attach][]', searched_attach), :id => 'attachments') links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false) {|text, parameters, options| - link_to text, attachments_autocomplete_path( parameters.merge(:q => params[:q], :format => 'js')), :remote => true } + link_to text, attachments_autocomplete_path( parameters.merge(:project_id=>project.id,:q => params[:q], :format => 'js')), :remote => true } return s + content_tag('div', content_tag('ul', links), :class => 'pagination') @@ -133,6 +133,35 @@ module AttachmentsHelper # return searched_attach.to_json end + # add by nwb + def render_attachments_for_new_course(course, limit=nil) + # 查询条件 + params[:q] ||= "" + filename_condition = params[:q].strip + + attachAll = Attachment.scoped + + # 除去当前课程的所有资源 + nobelong_attach = Attachment.where("!(container_type = '#{course.class}' and container_id = #{course.id})") unless course.blank? + + # 搜索域确定 + domain = course.nil? ? attachAll : nobelong_attach + + # 搜索到的资源 + searched_attach = domain.where("filename LIKE :like ", like:"%#{filename_condition}%").limit(limit).order('created_on desc') + searched_attach = private_filter searched_attach + searched_attach = paginateHelper(searched_attach, 10) + + #testattach = Attachment.public_attachments + + s = content_tag('div', attachments_check_box_tags('attachment[attach][]', searched_attach), :id => 'attachments') + links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false) {|text, parameters, options| + link_to text, attachments_autocomplete_path( parameters.merge(:course_id=>course.id,:q => params[:q], :format => 'js')), :remote => true } + + return s + content_tag('div', content_tag('ul', links), :class => 'pagination') + + end + def attachments_check_box_tags(name, attachs) s = '' attachs.each do |attach| @@ -144,18 +173,22 @@ module AttachmentsHelper def private_filter resultSet result = resultSet.to_a.dup + # modify by nwb + #添加对课程资源文件的判断 resultSet.map { |res| if(res.container.nil? || (res.container.class.to_s=="Project" && res.container.is_public == false) || - (res.container.has_attribute?(:project) && res.container.project.is_public == false) || + (res.container.has_attribute?(:project) && res.container.project && res.container.project.is_public == false) || (res.container.class.to_s=="HomeworkAttach" && res.container.bid.reward_type == 3) || - false + (res.container.class.to_s=="Course" && res.container.is_public == false) || + (res.container.has_attribute?(:course) && res.container.course && res.container.course.is_public == false) ) result.delete(res) end } result end + include Redmine::Pagination def paginateHelper obj, pre_size=10 @obj_count = obj.count diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 53b2e9871..116e2de9a 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -68,6 +68,106 @@ class Attachment < ActiveRecord::Base before_save :be_user_score # user_score after_destroy :delete_from_disk + # add by nwb + # 获取所有可公开的资源文件列表 + scope :public_attachments, lambda { + #joins(Project.table_name).where("container_type = 'Project' and ") + joins("LEFT JOIN #{Project.table_name} ON #{Attachment.table_name}.container_type='Project' AND #{Project.table_name}.id = #{Attachment.table_name}.container_id and #{Project.table_name}.is_public=1 " + + " LEFT JOIN #{Document.table_name} ON #{Attachment.table_name}.container_type='Project' AND #{Document.table_name}.project_id in "+self.public_project_id + + " LEFT JOIN #{Issue.table_name} ON #{Attachment.table_name}.container_type='Project' AND #{Issue.table_name}.project_id in "+self.public_project_id + + " LEFT JOIN #{Version.table_name} ON #{Attachment.table_name}.container_type='Project' AND #{Version.table_name}.project_id in "+self.public_project_id + + " LEFT JOIN #{WikiPage.table_name} ON #{Attachment.table_name}.container_type='WikiPage' AND #{WikiPage.table_name}.parent_id in "+self.public_wiki_id + + " LEFT JOIN #{Message.table_name} ON #{Attachment.table_name}.container_type='Message' AND #{Message.table_name}.parent_id in "+self.public_board_id + + " LEFT JOIN #{Course.table_name} ON #{Attachment.table_name}.container_type='Course' AND #{Course.table_name}.is_public=1 " + + " LEFT JOIN #{News.table_name} ON #{Attachment.table_name}.container_type='News' AND (#{News.table_name}.project_id in "+self.public_project_id + " OR #{News.table_name}.course_id in " + self.public_course_id + ")" + + " LEFT JOIN #{HomeworkAttach.table_name} ON #{Attachment.table_name}.container_type='HomeworkAttach' AND #{HomeworkAttach.table_name}.bid_id in "+self.public_bid_id) + } + + # add by nwb + # 公开的项目id列表 + def self.public_project_id + idlist = "(" + projects=Project.all_public + count = projects.count + for i in 0...count + project = projects[i] + idlist+="'" + project.id.to_s + "'" + if i != count-1 + idlist+="," + end + end + idlist += ")" + idlist + end + + # add by nwb + # 公开的课程id列表 + def self.public_course_id + idlist = "(" + courses=Course.all_public + count = courses.count + for i in 0...count + course = courses[i] + idlist+="'" + course.id.to_s + "'" + if i != count-1 + idlist = idlist + "," + end + end + idlist += ")" + idlist + end + + # add by nwb + # 公开的wiki id列表 + def self.public_wiki_id + idlist = "(" + wikis=Wiki.where("project_id in " + public_project_id) + count = wikis.count + for i in 0...count + wiki = wikis[i] + idlist+="'" + wiki.id.to_s + "'" + if i != count-1 + idlist = idlist + "," + end + end + idlist += ")" + idlist + end + + # add by nwb + # 公开的board id列表 + def self.public_board_id + idlist = "(" + boards=Board.where("project_id in " + public_project_id + " or course_id in " + public_course_id) + count = boards.count + for i in 0...count + board = boards[i] + idlist+="'" + board.id.to_s + "'" + if i != count-1 + idlist = idlist + "," + end + end + idlist += ")" + idlist + end + + # add by nwb + # 公开的bid id列表 + def self.public_bid_id + idlist = "(" + bids=Bid.where("reward_type=3") + count = bids.count + for i in 0...count + bid = bids[i] + idlist+="'" + bid.id.to_s + "'" + if i != count-1 + idlist = idlist + "," + end + end + idlist += ")" + idlist + end + # Returns an unsaved copy of the attachment def copy(attributes=nil) copy = self.class.new diff --git a/app/views/attachments/autocomplete.js.erb b/app/views/attachments/autocomplete.js.erb index 784128ea1..404ad9a61 100644 --- a/app/views/attachments/autocomplete.js.erb +++ b/app/views/attachments/autocomplete.js.erb @@ -1,2 +1,7 @@ $('#relation_file_form').show(); +<% if @project%> $('#relation_file').html('<%=render_attachments_for_new_project(@project, nil)%>'); +<% elsif @course%> +$('#relation_file').html('<%=render_attachments_for_new_course(@course, nil)%>'); +<% end%> + diff --git a/app/views/files/_new.html.erb b/app/views/files/_new.html.erb index af65bbcf4..bd66d93be 100644 --- a/app/views/files/_new.html.erb +++ b/app/views/files/_new.html.erb @@ -13,18 +13,25 @@ <%= select_tag "version_id", content_tag('option', '') + options_from_collection_for_select(versions, "id", "name"), {style: 'width:100px'} %> + <% if attachmenttypes.any? %> + <%= l(:attachment_type) %> + + <%= select_tag "attachment_type", + options_from_collection_for_select(attachmenttypes, "id", + "typeName", 2), {style: 'width:100px'} %> + + <% end %> <% else %> -

+

+ <% if attachmenttypes.any? %> + <%= l(:attachment_type) %> + <%= select_tag "attachment_type", + options_from_collection_for_select(attachmenttypes, "id", + "typeName", 2), {style: 'width:100px'} %> + <% end %> +

<% end %> - <% if attachmenttypes.any? %> - <%= l(:attachment_type) %> - - <%= select_tag "attachment_type", - options_from_collection_for_select(attachmenttypes, "id", - "typeName", 2), {style: 'width:100px'} %> - - <% end %> diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 1a690a4cd..89ee39ada 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1853,7 +1853,7 @@ a.remove-upload:hover {text-decoration:none !important;} /*gcm upload file count and deleteall*/ #upload_file_count #count {color:red; font-size:1.5em;} -span.add_attachment .remove_all {background:none;background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block;position:absolute;right:10%;text-decoration:none;} +span.add_attachment .remove_all {background:none;background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block;right:10%;text-decoration:none;} div.fileover { background-color: lavender; } diff --git a/public/stylesheets/nyan.css b/public/stylesheets/nyan.css index b041f43a1..30496a061 100644 --- a/public/stylesheets/nyan.css +++ b/public/stylesheets/nyan.css @@ -1071,6 +1071,16 @@ div.tags_area { border-bottom: 1px solid #c8d4fd; } +#ver-zebra #vzebra-attachmenttype, #ver-zebra #vzebra-children { + background: #ffffff; + border-bottom: 1px solid #c8d4fd; +} + +#ver-zebra #vzebra-contenttype, #ver-zebra #vzebra-children { + background: #ffffff; + border-bottom: 1px solid #c8d4fd; +} + #ver-zebra #vzebra-comedy, #ver-zebra #vzebra-action { background: #ffffff; border-bottom: 1px solid #d6dfff; From 6f5d6c382b9258cc459391336d9e5bd72358cc32 Mon Sep 17 00:00:00 2001 From: z9hang Date: Wed, 2 Jul 2014 17:06:34 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E7=BB=99=E7=94=A8=E6=88=B7=E7=95=99?= =?UTF-8?q?=E8=A8=80=E7=9A=84=E5=9B=9E=E5=A4=8D=E8=8B=A5=E4=B8=BA=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=AE=A1=E5=85=A5=E6=96=B0=E7=95=99=E8=A8=80=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 6 +++++- app/controllers/words_controller.rb | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f78112c21..144e86f4f 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -52,6 +52,7 @@ class UsersController < ApplicationController helper :custom_fields include CustomFieldsHelper include AvatarHelper + include WordsHelper # added by liuping 关注 @@ -235,7 +236,10 @@ class UsersController < ApplicationController def user_newfeedback @jours = @user.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') @jours.update_all(:is_readed => true, :status => false) - + @jours.each do |journal| + fetch_user_leaveWord_reply(journal).update_all(:is_readed => true, :status => false) + end + @limit = 10 @feedback_count = @jours.count @feedback_pages = Paginator.new @feedback_count, @limit, params['page'] diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index 52a7f585a..a4f53c100 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -56,7 +56,8 @@ class WordsController < ApplicationController reply_user_id = params[:reference_user_id] reply_id = params[:reference_message_id] # 暂时不实现 content = params[:user_notes] - options = {:user_id => author_id, + options = {:user_id => author_id, + :status => true, :m_parent_id => parent_id, :m_reply_id => reply_id, :reply_id => reply_user_id,