From 85c99d6abeb75d9cb53be8dd7193b244cd49b05b Mon Sep 17 00:00:00 2001 From: yanxd Date: Thu, 26 Jun 2014 20:55:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=EF=BC=8C=E9=A1=B5=E8=84=9A?= =?UTF-8?q?=EF=BC=8Cmigrate=E7=9A=84=E6=95=B4=E7=90=86=EF=BC=8C=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E9=A1=B5=E9=9D=A2=E8=AF=BE=E7=A8=8Btab=E7=9A=84?= =?UTF-8?q?=E5=88=A0=E9=99=A4=EF=BC=8C=E7=99=BB=E5=BD=95=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9A=84=E6=B7=BB=E5=8A=A0=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E6=A0=8F=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReadMe.txt | 6 +- app/controllers/bids_controller.rb | 3 +- app/models/user.rb | 55 +------------------ app/views/layouts/_base_footer.html.erb | 37 ++++--------- app/views/layouts/_base_header.html.erb | 2 +- app/views/memos/show.html.erb | 1 - app/views/welcome/_link_to_another.html.erb | 2 +- config/locales/en.yml | 1 + config/locales/zh.yml | 1 + ...b => 20130814084937_create_user_scores.rb} | 4 +- ...40324015819_create_open_source_projects.rb | 2 +- .../20140410021724_create_user_score.rb | 13 ----- ...description_type_to_open_source_project.rb | 9 --- db/migrate/20140505082635_drop_user_scores.rb | 5 -- lib/redmine.rb | 2 +- 15 files changed, 31 insertions(+), 112 deletions(-) rename db/migrate/{20140505083430_create_user_scores.rb => 20130814084937_create_user_scores.rb} (83%) delete mode 100644 db/migrate/20140410021724_create_user_score.rb delete mode 100644 db/migrate/20140411011700_change_description_type_to_open_source_project.rb delete mode 100644 db/migrate/20140505082635_drop_user_scores.rb diff --git a/ReadMe.txt b/ReadMe.txt index 0fcba47c0..c357bbad4 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -50,4 +50,8 @@ app\controller\welcome_controller.rb 0606:新坑 user_scores表结构有问题,需要运行 bundle exec rake db:migrate:down VERSION=20140410021724 -bundle exec rake db:migrate:up VERSION=20140410021724 \ No newline at end of file +bundle exec rake db:migrate:up VERSION=20140410021724 + +================================================================================ +0626:新坑 journal_replies 无法删除问题 +journal_replies表没有主键,在对User调用destroy方法时候,rails默认调用查找id删除的方法,journal_replies没有id字段,导致删除失败 \ No newline at end of file diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 9c39c526b..44b3c7b41 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -893,8 +893,9 @@ class BidsController < ApplicationController def memberAccess # 是课程,则判断当前用户是否参加了课程 + return true unless @bid.reward_type.eql?(Bid::Homework) return true if current_user.admin? - return 0 if @bid.courses.first.project_type == Project::ProjectType_project + return 0 if @bid.courses.first.try(:project_type) == Project::ProjectType_project currentUser = User.current render_403 unless currentUser.member_of?(@bid.courses.first) end diff --git a/app/models/user.rb b/app/models/user.rb index ba996fe87..c9469298e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -98,7 +98,7 @@ class User < Principal has_many :softapplications, :foreign_key => 'user_id', :dependent => :destroy has_many :journals_for_messages, :as => :jour, :dependent => :destroy has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1" - has_many :journal_replies, :dependent => :destroy + has_many :journal_replies has_many :activities, :dependent => :destroy has_many :students_for_courses has_many :courses, :through => :students_for_courses, :source => :project @@ -208,62 +208,13 @@ class User < Principal # ====================================================================== - # 集中处理 User 扩展表为空的问题 - # 合并 user_score 属性 - validate :valid_user_extensions - after_save :save_user_extensions - def extensions - self.user_extensions ||= UserExtensions.new + self.user_extensions ||= self.build_user_extensions end def user_score_attr - self.user_score ||= UserScore.new - end - - alias_method :ori_respond_to?, :respond_to? - def respond_to?(m, include_private = false) - flag = false - flag = ori_respond_to? m.to_sym unless flag - flag = UserExtensions.new.respond_to? m.to_sym unless flag - flag = UserScore.new.respond_to? m.to_sym unless flag - - flag - end - - def method_missing m, *args, &block - if extensions.respond_to? m.to_sym - self.class.send(:define_method, "_meta_#{m}".to_sym) do |*args, &block| - self.extensions.__send__ m.to_sym, *args - end - __send__ "_meta_#{m}".to_sym, *args, &block - - elsif user_score_attr.respond_to? m.to_sym - self.class.send(:define_method, "_meta_#{m}".to_sym) do |*args, &block| - self.user_score_attr.__send__ m.to_sym, *args - end - __send__ "_meta_#{m}".to_sym, *args, &block - - else - super - end - end - - def valid_user_extensions - if !self.extensions.valid? - self.extensions.errors.messages.each do |key, values| - values.each do |value| - self.errors.add key, value - end - end - end - end - - def save_user_extensions - self.extensions.save - self.user_score_attr.save + self.user_score ||= self.build_user_score end - # 集中处理 User 扩展表为空的问题 < end # ====================================================================== #选择项目成员时显示的用户信息文字 diff --git a/app/views/layouts/_base_footer.html.erb b/app/views/layouts/_base_footer.html.erb index fd8b6bbbd..b56a165f3 100644 --- a/app/views/layouts/_base_footer.html.erb +++ b/app/views/layouts/_base_footer.html.erb @@ -1,31 +1,18 @@