项目创建和项目列表接口修复
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]
|
||||
|
||||
#获取我的项目列表,user_id保存在session中.
|
||||
|
||||
def index
|
||||
#Todo
|
||||
uid = session[:user_id]
|
||||
pid = Projects_user.find_by(project_id: uid)
|
||||
mc = Mission.where(:project_id => pid).size
|
||||
uc = Projects_user.where(:project_id => pid).size
|
||||
sc = Share.where(:project_id => pid).size
|
||||
data = []
|
||||
Project.find(pid) do |i|
|
||||
data += [{
|
||||
:id => i.id,
|
||||
:name => i.name,
|
||||
:content => i.content,
|
||||
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
|
||||
uc = Projects_user.where(:project_id => pid).size
|
||||
sc = Share.where(:project_id => pid).size
|
||||
data+=[{
|
||||
:id => pid,
|
||||
:name => p.name,
|
||||
:content => p.content,
|
||||
:mission_count => mc,
|
||||
:users_count => uc,
|
||||
:shares_count => sc
|
||||
|
@ -30,22 +30,15 @@ class ProjectsController < ApplicationController
|
|||
end
|
||||
|
||||
#创建项目
|
||||
|
||||
def create
|
||||
#Todo
|
||||
project = Project.new()
|
||||
project.content = params[:content]
|
||||
project.name = params[:name]
|
||||
now = Time.new
|
||||
project.created_at = now
|
||||
project.updated_at = now
|
||||
project.save!
|
||||
# 将自己加入项目
|
||||
pu = Project_user.new()
|
||||
pu.project_id = project.id
|
||||
pu.user_id = session[:user_id].to_i
|
||||
pu.save!
|
||||
render :json => {:code => 0}
|
||||
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
|
||||
|
||||
#项目添加用户
|
||||
|
@ -94,5 +87,8 @@ class ProjectsController < ApplicationController
|
|||
}
|
||||
}
|
||||
end
|
||||
|
||||
private
|
||||
def project_params
|
||||
params.require(:project).permit(:name,:content)
|
||||
end
|
||||
end
|
|
@ -1,7 +1,7 @@
|
|||
class Project < ActiveRecord::Base
|
||||
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
|
||||
|
||||
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 => '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|
|
||||
User.create!(user)
|
||||
|
|
|
@ -174,6 +174,7 @@
|
|||
type: "get",
|
||||
dataType: "json",
|
||||
url:"/session.json",
|
||||
async: false,
|
||||
statusCode: {
|
||||
200: function(data) {// 请求成功
|
||||
$("#name1").text(data.name);
|
||||
|
@ -192,6 +193,9 @@
|
|||
}
|
||||
});
|
||||
});
|
||||
if(getProjectId()==null){
|
||||
window.location="pages/project_select.html";
|
||||
}
|
||||
function logout(){
|
||||
$.ajax({
|
||||
type: "delete",
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
function initCurrent(){
|
||||
if(getProjectId()==null){
|
||||
window.location="pages/project_select.html";
|
||||
}
|
||||
LoginUserInfo={
|
||||
selectProject:getProjectId(),
|
||||
name:'',
|
||||
|
|
|
@ -230,22 +230,27 @@
|
|||
});
|
||||
});
|
||||
$("#creat_project").click(function(){
|
||||
var pName=$("#exampleName").val();
|
||||
var pContent=$("#exampleTextarea").val();
|
||||
$.ajax({
|
||||
type:"post",
|
||||
dataType:"json",
|
||||
url:"/projects.json",
|
||||
data:{
|
||||
"name":$("#exampleName").val(),
|
||||
"content":$("#exampleTextarea").val()
|
||||
"project[name]":pName,
|
||||
"project[content]":pContent
|
||||
},
|
||||
statusCode: {
|
||||
200: function() {// 请求成功
|
||||
201: function() {// 请求成功
|
||||
alert("创建成功!");
|
||||
window.location.reload();
|
||||
},
|
||||
401:function(){// 未授权
|
||||
alert("未登录!");
|
||||
window.location.href="login.html";
|
||||
},
|
||||
422:function(){
|
||||
alert("项目名重复!");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue