forked from jasder/forgeplus
38 lines
1.0 KiB
Ruby
38 lines
1.0 KiB
Ruby
|
class ComposeProjectsController < ApplicationController
|
||
|
#未做完
|
||
|
before_action :require_login
|
||
|
before_action :set_compose
|
||
|
|
||
|
def create
|
||
|
project_ids = params[:project_ids]
|
||
|
ComposeProject.transaction do
|
||
|
project_ids.each do |p|
|
||
|
project = Project.select(:id, :user_id).find(p)
|
||
|
unless project.blank? || ComposeProject.exists?(user_id: project.user_id, project_id: p, compose_id: @compose.id)
|
||
|
ComposeProject.create!(user_id: project.user_id, project_id: p, compose_id: @compose.id, position: p)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
normal_status(0, "添加成功")
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
project_ids = params[:project_ids]
|
||
|
if ComposeProject.where(project_id: project_ids, compose_id: @compose.id).delete_all
|
||
|
normal_status(0, "项目删除成功")
|
||
|
else
|
||
|
normal_status(-1, "项目删除失败")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
private
|
||
|
|
||
|
def set_compose
|
||
|
@compose = Compose.find(params[:compose_id])
|
||
|
unless @compose.present?
|
||
|
normal_status(-1, "组织不存在")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|