项目创建和项目列表接口修复
This commit is contained in:
parent
f457a7c18d
commit
27ebee5950
|
@ -4,20 +4,20 @@ class ProjectsController < ApplicationController
|
||||||
skip_before_action :verify_authenticity_token, :only => [:index,:create,:addUsers,:detail]
|
skip_before_action :verify_authenticity_token, :only => [:index,:create,:addUsers,:detail]
|
||||||
|
|
||||||
#获取我的项目列表,user_id保存在session中.
|
#获取我的项目列表,user_id保存在session中.
|
||||||
|
|
||||||
def index
|
def index
|
||||||
#Todo
|
#Todo
|
||||||
uid = session[:user_id]
|
uid = session[:user_id]
|
||||||
pid = Projects_user.find_by(project_id: uid)
|
data=[]
|
||||||
|
Projects_user.where(:user_id => uid).each do |i|
|
||||||
|
pid=i.project_id
|
||||||
|
p=Project.find_by(id:pid)
|
||||||
mc = Mission.where(:project_id => pid).size
|
mc = Mission.where(:project_id => pid).size
|
||||||
uc = Projects_user.where(:project_id => pid).size
|
uc = Projects_user.where(:project_id => pid).size
|
||||||
sc = Share.where(:project_id => pid).size
|
sc = Share.where(:project_id => pid).size
|
||||||
data = []
|
|
||||||
Project.find(pid) do |i|
|
|
||||||
data+=[{
|
data+=[{
|
||||||
:id => i.id,
|
:id => pid,
|
||||||
:name => i.name,
|
:name => p.name,
|
||||||
:content => i.content,
|
:content => p.content,
|
||||||
:mission_count => mc,
|
:mission_count => mc,
|
||||||
:users_count => uc,
|
:users_count => uc,
|
||||||
:shares_count => sc
|
:shares_count => sc
|
||||||
|
@ -30,22 +30,15 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
#创建项目
|
#创建项目
|
||||||
|
|
||||||
def create
|
def create
|
||||||
#Todo
|
uid = session[:user_id]
|
||||||
project = Project.new()
|
project = Project.new(project_params)
|
||||||
project.content = params[:content]
|
if project.save
|
||||||
project.name = params[:name]
|
Projects_user.create(project_id:project.id,user_id:uid)
|
||||||
now = Time.new
|
render status: :created, nothing: true
|
||||||
project.created_at = now
|
else
|
||||||
project.updated_at = now
|
render json: project.errors, status: :unprocessable_entity
|
||||||
project.save!
|
end
|
||||||
# 将自己加入项目
|
|
||||||
pu = Project_user.new()
|
|
||||||
pu.project_id = project.id
|
|
||||||
pu.user_id = session[:user_id].to_i
|
|
||||||
pu.save!
|
|
||||||
render :json => {:code => 0}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
#项目添加用户
|
#项目添加用户
|
||||||
|
@ -94,5 +87,8 @@ class ProjectsController < ApplicationController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
private
|
||||||
|
def project_params
|
||||||
|
params.require(:project).permit(:name,:content)
|
||||||
|
end
|
||||||
end
|
end
|
|
@ -1,7 +1,7 @@
|
||||||
class Project < ActiveRecord::Base
|
class Project < ActiveRecord::Base
|
||||||
has_and_belongs_to_many :users
|
has_and_belongs_to_many :users
|
||||||
|
|
||||||
validate :require_at_least_on_user,on:addUsers # 项目中最少要有一个用户
|
validate :require_at_least_on_user,on: :update # 项目中最少要有一个用户
|
||||||
validates :name, presence: true, length: { minimum: 1, maximum: 50 }, uniqueness: true
|
validates :name, presence: true, length: { minimum: 1, maximum: 50 }, uniqueness: true
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -9,9 +9,6 @@ users = [
|
||||||
{:name => '杨诏', :password => '123123123', :email => 'lucio.yang@qq.com', :phone => '15652591529', :created_at => "2016/12/27", :updated_at => "2016/12/27"},
|
{:name => '杨诏', :password => '123123123', :email => 'lucio.yang@qq.com', :phone => '15652591529', :created_at => "2016/12/27", :updated_at => "2016/12/27"},
|
||||||
{:name => '陈翊', :password => '123456', :email => '1085730215@qq.com', :phone => '18269771988', :created_at => "2016/12/28", :updated_at => "2016/12/27"}
|
{:name => '陈翊', :password => '123456', :email => '1085730215@qq.com', :phone => '18269771988', :created_at => "2016/12/28", :updated_at => "2016/12/27"}
|
||||||
]
|
]
|
||||||
projects = [
|
|
||||||
{:id=>'1001',:name => 'AAAA',:content => 'i like helloworld',:mission_count => '20',:users_count => '15',:shares_count => '15'}
|
|
||||||
]
|
|
||||||
|
|
||||||
users.each do |user|
|
users.each do |user|
|
||||||
User.create!(user)
|
User.create!(user)
|
||||||
|
|
|
@ -174,6 +174,7 @@
|
||||||
type: "get",
|
type: "get",
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
url:"/session.json",
|
url:"/session.json",
|
||||||
|
async: false,
|
||||||
statusCode: {
|
statusCode: {
|
||||||
200: function(data) {// 请求成功
|
200: function(data) {// 请求成功
|
||||||
$("#name1").text(data.name);
|
$("#name1").text(data.name);
|
||||||
|
@ -192,6 +193,9 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
if(getProjectId()==null){
|
||||||
|
window.location="pages/project_select.html";
|
||||||
|
}
|
||||||
function logout(){
|
function logout(){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "delete",
|
type: "delete",
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
function initCurrent(){
|
function initCurrent(){
|
||||||
if(getProjectId()==null){
|
|
||||||
window.location="pages/project_select.html";
|
|
||||||
}
|
|
||||||
LoginUserInfo={
|
LoginUserInfo={
|
||||||
selectProject:getProjectId(),
|
selectProject:getProjectId(),
|
||||||
name:'',
|
name:'',
|
||||||
|
|
|
@ -230,22 +230,27 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$("#creat_project").click(function(){
|
$("#creat_project").click(function(){
|
||||||
|
var pName=$("#exampleName").val();
|
||||||
|
var pContent=$("#exampleTextarea").val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:"post",
|
type:"post",
|
||||||
dataType:"json",
|
dataType:"json",
|
||||||
url:"/projects.json",
|
url:"/projects.json",
|
||||||
data:{
|
data:{
|
||||||
"name":$("#exampleName").val(),
|
"project[name]":pName,
|
||||||
"content":$("#exampleTextarea").val()
|
"project[content]":pContent
|
||||||
},
|
},
|
||||||
statusCode: {
|
statusCode: {
|
||||||
200: function() {// 请求成功
|
201: function() {// 请求成功
|
||||||
alert("创建成功!");
|
alert("创建成功!");
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
},
|
},
|
||||||
401:function(){// 未授权
|
401:function(){// 未授权
|
||||||
alert("未登录!");
|
alert("未登录!");
|
||||||
window.location.href="login.html";
|
window.location.href="login.html";
|
||||||
|
},
|
||||||
|
422:function(){
|
||||||
|
alert("项目名重复!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue