diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 5a56ea4..2546700 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -1,7 +1,14 @@ class ProjectsController < ApplicationController before_action :authenticate - skip_before_action :verify_authenticity_token, :only => [:index,:create,:addUsers,:detail,:update] + skip_before_action :verify_authenticity_token, :only => [ + :index, + :create, + :addUsers, + :detail, + :update, + :deleteUsers + ] #=============================================>获取我的项目列表,user_id保存在session中. def index @@ -32,21 +39,15 @@ class ProjectsController < ApplicationController #=============================================>创建项目 def create - #Todo - user_id = session[:user_id] - user = User.find_by(id: user_id) - params_project = {content: params[:content],name: params[:name]} - project = Project.new(params_project) - project.users << user - project.save - if project.save - Projects_user.create(project_id:project.id,user_id:uid) - render status: :created, nothing: true - else - render json: project.errors, status: :unprocessable_entity - end - #render :json => {:code => 0} - end + uid = session[:user_id] + project = Project.new(project_params) + if project.save + Projects_user.create(project_id:project.id,user_id:uid) + render status: :created, nothing: true + else + render json: project.errors, status: :unprocessable_entity + end + end #=============================================>项目添加用户 @@ -61,6 +62,7 @@ class ProjectsController < ApplicationController params_pu = {project_id: pid,user_id: uid} pu = Projects_user.new(params_pu) pu.save + content = User.find_by(id: register).name + "邀请您进入项目" + Project.find_by(id: pid).name puts content params_note = {user_id: uid,content: content,category: 2,project_id: pid} @@ -72,39 +74,63 @@ class ProjectsController < ApplicationController end end + #=============================================>项目删除用户 + def deleteUsers + uid = params[:user_id]# 需要添加的用户 + register = session[:user_id]# 当前用户 + pid = params[:project_id] + # 检查该项目中是否已经有要添加的用户 + projects_user=Projects_user.find_by(project_id:pid,user_id:uid) + if projects_user.nil?# 不存在 + render json:current_user.errors, status: :unprocessable_entity + end + # 存在 + puts projects_user.user_id + puts projects_user.project_id + Projects_user.where(project_id:pid,user_id:uid).delete_all + + content = User.find_by(id: register).name + "把您从项目" + Project.find_by(id: pid).name+"中删除" + puts content + params_note = {user_id: uid,content: content,category: 2,project_id: pid} + note = Note.new(params_note) + note.save! + + render :json => {:code => 0} + end + #=============================================>项目详情 def detail - #Todo - pid = params[:id] - project = Project.find_by(id: pid) - #uid = Projects_user.where(:project_id => pid) - users = [] - projects_users = Projects_user.where("project_id = ?",pid).all - - projects_users.each do |projects_user| - uid = projects_user.user_id - i = User.find_by(id: uid) - users += [{ - :nickname => i.name, - :id => i.id - }] - end - #puts users.inspect - # Users.find(uid).each do |i| - # users += [{ - # :nickname => i.name, - # :id => i.id - # }] - # end - render :json => { - :code => 0, - :data => { - :name => project.name, - :content => project.content, - :users => users + #Todo + pid = params[:id] + project = Project.find_by(id: pid) + #uid = Projects_user.where(:project_id => pid) + users = [] + projects_users = Projects_user.where("project_id = ?",pid).all + + projects_users.each do |projects_user| + uid = projects_user.user_id + i = User.find_by(id: uid) + users += [{ + :nickname => i.name, + :id => i.id + }] + end + #puts users.inspect + # Users.find(uid).each do |i| + # users += [{ + # :nickname => i.name, + # :id => i.id + # }] + # end + render :json => { + :code => 0, + :data => { + :name => project.name, + :content => project.content, + :users => users + } } - } end #=============================================>项目修改 diff --git a/config/routes.rb b/config/routes.rb index 740ee37..e7be66c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -70,6 +70,7 @@ Rails.application.routes.draw do post 'projects' => 'projects#create' patch 'projects' => 'projects#update' post 'projects/users' => 'projects#addUsers' + delete 'projects/users' => 'projects#deleteUsers' get 'projects/detail' => 'projects#detail' get 'missions/project/status' => 'missions#getlist' diff --git a/public/pages/project_detail.html b/public/pages/project_detail.html index 44b76d3..e90c312 100644 --- a/public/pages/project_detail.html +++ b/public/pages/project_detail.html @@ -163,8 +163,10 @@ var tduser = $("