From 5e3a763776a3d86671501971feaabaf8a9d27c6d Mon Sep 17 00:00:00 2001 From: z9hang Date: Tue, 8 Jul 2014 09:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=95=E7=94=A8=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=9D=83=E9=99=90=E3=80=81=E4=BF=AE=E6=94=B9=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/bids_controller.rb | 31 ++++++++++--------- ...0707095213_add_quate_project_permission.rb | 11 +++++++ db/schema.rb | 2 +- lib/redmine.rb | 1 + 4 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 db/migrate/20140707095213_add_quate_project_permission.rb diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 76872d783..2cf82217d 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -375,11 +375,14 @@ class BidsController < ApplicationController @option = [] @membership.each do |membership| unless(membership.project.project_type==1) - membership.member_roles.each{|role| - if(role.role_id == 3) - @option << membership.project - end - } + if membership.user.allowed_to?(:quote_project,membership.project) + @option << membership.project + end + #membership.member_roles.each{|role| + # if(role.role_id == 3) + # @option << membership.project + # end + #} end end @@ -454,14 +457,14 @@ class BidsController < ApplicationController if (User.current.logged? && User.current.member_of_course?(@bid.courses.first)) # flash[:notice] = "" @membership = User.current.coursememberships.all(:conditions => Course.visible_condition(User.current)) - @option = [] - @membership.each do |membership| - membership.member_roles.each{|role| - if(role.role_id == 3) - @option << membership.course - end - } - end + #@option = [] + #@membership.each do |membership| + # membership.member_roles.each{|role| + # if(role.role_id == 3) + # @option << membership.course + # end + # } + #end @user = @bid.author @bidding_project = @bid.biding_projects.all @@ -990,7 +993,7 @@ class BidsController < ApplicationController return true if current_user.admin? #return 0 if @bid.courses.first.project_type == Project::ProjectType_project currentUser = User.current - render_403 unless currentUser.member_of_cousrse?(@bid.courses.first) + render_403 unless currentUser.member_of_course?(@bid.courses.first) end end diff --git a/db/migrate/20140707095213_add_quate_project_permission.rb b/db/migrate/20140707095213_add_quate_project_permission.rb new file mode 100644 index 000000000..f47c6a0ac --- /dev/null +++ b/db/migrate/20140707095213_add_quate_project_permission.rb @@ -0,0 +1,11 @@ +class AddQuateProjectPermission < ActiveRecord::Migration + def change + # 添加课程权限 + Role.all.each do |role| + if role.name == 'Manager' + role.permissions.append(:quote_project) + role.save(:validate => false) + end + end + end +end diff --git a/db/schema.rb b/db/schema.rb index fd5c9741b..93aa90c44 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 => 20140704034832) do +ActiveRecord::Schema.define(:version => 20140707095213) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false diff --git a/lib/redmine.rb b/lib/redmine.rb index 12b68efa7..adf033d69 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -98,6 +98,7 @@ Redmine::AccessControl.map do |map| map.permission :manage_versions, {:projects => :settings, :versions => [:new, :create, :edit, :update, :close_completed, :destroy]}, :require => :member map.permission :add_subprojects, {:projects => [:new, :create]}, :require => :member map.permission :view_journals_for_messages, {:gantts => [:show, :update]}, :read => true + map.permission :quote_project, {},:require => :member #课程权限模块 #added by nwb