创建组织的相关内容

dev_forge
SylorHuang 5 years ago
parent 69871b9373
commit e174b8edac

@ -0,0 +1,46 @@
class ComposesController < ApplicationController
before_action :require_login, except: [:index]
def index
end
def new
end
def create
ActiveRecord::Base.transaction do
begin
compose_params = params[:compose]
@compose = Compose.new(compose_params.merge(user_id: current_user.id))
if @compose.save
ComposeUser.create!(user_id: current_user.id, compose_id: @compose.id, is_manager: 1)
normal_status(0,"组织创建成功")
else
normal_status(-1,"组织创建失败")
end
rescue Exception => e
tip_exception("#{e}")
raise ActiveRecord::Rollback
end
end
end
def edit
end
def update
end
def destroy
end
def show
end
end

@ -0,0 +1,6 @@
class Compose < ApplicationRecord
belongs_to :user
has_many :compose_projects
has_many :compose_users
end

@ -0,0 +1,3 @@
class ComposeProject < ApplicationRecord
belongs_to :compose
end

@ -0,0 +1,4 @@
class ComposeUser < ApplicationRecord
belongs_to :compose
belongs_to :user
end

@ -158,6 +158,9 @@ class User < ApplicationRecord
has_many :hacks, dependent: :destroy
has_many :hack_user_lastest_codes, dependent: :destroy
has_many :composes, dependent: :destroy
has_many :compose_users, dependent: :destroy
# Groups and active users
scope :active, lambda { where(status: STATUS_ACTIVE) }

@ -1,4 +1,4 @@
Rails.application.routes.draw do
Rails.application.routes.draw do
require 'sidekiq/web'
require 'admin_constraint'
mount Sidekiq::Web => '/sidekiq', :constraints => AdminConstraint.new
@ -12,6 +12,7 @@ Rails.application.routes.draw do
resources :edu_settings
scope '/api' do
resources :composes
get 'home/index'
get 'home/search'

@ -0,0 +1,15 @@
class CreateComposes < ActiveRecord::Migration[5.2]
def change
create_table :composes do |t|
t.integer :user_id
t.string :title
t.text :description
t.integer :show_mode, default: 0
t.boolean :compose_mode, default: false
t.integer :compose_users_count, default: 0
t.integer :compose_projects_count , default: 0
t.timestamps
end
add_index :composes, [:user_id,:show_mode,:compose_mode]
end
end

@ -0,0 +1,12 @@
class CreateComposeUsers < ActiveRecord::Migration[5.2]
def change
create_table :compose_users do |t|
t.integer :user_id
t.integer :compose_id
t.integer :is_manager, default: 0
t.timestamps
end
add_index :compose_users, [:user_id, :compose_id]
end
end

@ -0,0 +1,14 @@
class CreateComposeProjects < ActiveRecord::Migration[5.2]
def change
create_table :compose_projects do |t|
t.integer :user_id
t.integer :project_id
t.integer :compose_id
t.integer :position , default: 0
t.timestamps
end
add_index :compose_projects, [:user_id, :project_id, :compose_id]
add_column :composes, :compose_projects_count, :integer, :default => 0
end
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ComposeProject, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe Compose, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe ComposeUser, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end
Loading…
Cancel
Save