项目创建和项目列表接口修复

This commit is contained in:
Yang Zhao 2017-01-01 11:23:26 +00:00
parent f457a7c18d
commit 27ebee5950
6 changed files with 36 additions and 37 deletions

View File

@ -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)
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 = []
Project.find(pid) do |i|
data+=[{
:id => i.id,
:name => i.name,
:content => i.content,
: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

View File

@ -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

View File

@ -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)

View File

@ -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",

View File

@ -1,7 +1,4 @@
function initCurrent(){
if(getProjectId()==null){
window.location="pages/project_select.html";
}
LoginUserInfo={
selectProject:getProjectId(),
name:'',

View File

@ -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("项目名重复!");
}
}
});