repo & project access separated. critical gitolite bugfix

This commit is contained in:
Dmitriy Zaporozhets 2011-12-07 01:27:07 +02:00
parent 2ca00bdb3e
commit cb021e5831
12 changed files with 106 additions and 48 deletions

View file

@ -0,0 +1,6 @@
class AddAdvancedRightsToTeamMember < ActiveRecord::Migration
def change
add_column :users_projects, :repo_access, :integer, :default => 0, :null => false
add_column :users_projects, :project_access, :integer, :default => 0, :null => false
end
end

View file

@ -0,0 +1,20 @@
class MigrateToNewRights < ActiveRecord::Migration
def up
# Repository access
UsersProject.update_all("repo_access = 2", :write => true)
UsersProject.update_all("repo_access = 1", :read => true, :write => false)
# Project access
UsersProject.update_all("project_access = 1", :read => true, :write => false, :admin => false)
UsersProject.update_all("project_access = 2", :read => true, :write => true, :admin => false)
UsersProject.update_all("project_access = 3", :read => true, :write => true, :admin => true)
# Remove old fields
remove_column :users_projects, :read
remove_column :users_projects, :write
remove_column :users_projects, :admin
end
def down
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20111127155345) do
ActiveRecord::Schema.define(:version => 20111206222316) do
create_table "features", :force => true do |t|
t.string "name"
@ -137,11 +137,10 @@ ActiveRecord::Schema.define(:version => 20111127155345) do
create_table "users_projects", :force => true do |t|
t.integer "user_id", :null => false
t.integer "project_id", :null => false
t.boolean "read", :default => false
t.boolean "write", :default => false
t.boolean "admin", :default => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "repo_access", :default => 0, :null => false
t.integer "project_access", :default => 0, :null => false
end
end