diff --git a/app/controllers/missions_controller.rb b/app/controllers/missions_controller.rb index 50a5978..9288316 100644 --- a/app/controllers/missions_controller.rb +++ b/app/controllers/missions_controller.rb @@ -2,32 +2,47 @@ class MissionsController < ApplicationController before_action :authenticate - #获取当前项目某状态的任务列表 + #======================================>获取当前项目某状态的任务列表 def getlist #Todo pid = params[:project_id] stu = params[:status_type] - missions = [] - Mission.where(:project_id => pid).where(:status => stu) do |i| - missions += [{ - :id => i.id, - :name => i.name, - :content => i.content + #missions = [] + details = [] + missions = Mission.where("project_id = ? AND status = ?",pid,stu).all + + missions.each do |mission| + + puts mission.inspect + + details += [{ + :id => mission.id, + :name => mission.name, + :content => mission.content }] + end + + # Mission.where(:project_id => pid).where(:status => stu) do |i| + # missions += [{ + # :id => i.id, + # :name => i.name, + # :content => i.content + # }] + # end render :json => { :code => 0, :data => missions } end - #获取任务详细信息 + #======================================>获取任务详细信息 def detail #Todo - id = params[:id] - mission = Mission.find(id) + mission_id = params[:id] + mission = Mission.find_by(id: mission_id) userid = Mission_user.find_by_name("mission_id") username = User.find(userid).pluck("name") comments = [] @@ -53,7 +68,7 @@ class MissionsController < ApplicationController } end - #修改任务信息 + #======================================>修改任务信息 def update #Todo @@ -87,18 +102,23 @@ class MissionsController < ApplicationController render :json => {:code => 0} end - #当前用户发表评论 + #======================================>当前用户发表评论 def commentPublish #Todo - put = Comments.new() - put.content = params[:content] - put.mission_id = params[:mission_id] - put.user_id = session[:user_id] - now = Datetime.now - put.created_at = now - put.updated_at = now - put.save! + content = params[:content] + mission_id = params[:mission_id] + user_id = session[:user_id] + puts user_id + params_comment = {content: content,mission_id: mission_id,user_id: user_id} + puts params_comment + comment = Comments.new(params_comment) + + # now = Datetime.now + # put.created_at = now + # put.updated_at = now + comment.save! + render :json => {:code => 0} end diff --git a/db/seeds.rb b/db/seeds.rb index 2545edf..0625414 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -10,7 +10,7 @@ users = [ {:name => '陈翊', :password => '123456', :email => '1085730215@qq.com', :phone => '18269771988', :created_at => "2016/12/28", :updated_at => "2016/12/27"} ] projects = [ - {:name => 'AAAA',:content => 'i like helloworld',:mission_count => '20',:users_count => '15',:shares_count => '15'} + {:id=>'1001',:name => 'AAAA',:content => 'i like helloworld',:mission_count => '20',:users_count => '15',:shares_count => '15'} ] users.each do |user| diff --git a/public/index.html b/public/index.html index 7ca1a24..2f3aeaa 100644 --- a/public/index.html +++ b/public/index.html @@ -30,15 +30,19 @@ - + \ No newline at end of file diff --git a/public/pages/project_select.html b/public/pages/project_select.html index 96a859b..56c410a 100644 --- a/public/pages/project_select.html +++ b/public/pages/project_select.html @@ -183,50 +183,50 @@ dataType:"json", url:"/projects.json", statusCode: { - 200: function() {// 请求成功 - var bg_color = ["bg-yellow","bg-blue","bg-purple","bg-red"]; - var jstr = htmlobj.responseText; - var robj = eval('('+jstr+')'); - console.log(jstr); - if(robj["code"]==0){ - var data = robj["data"]; - for(var i=data.length-1;i>=0;--i){ - var template = $("#cy_template"); - var tp = template.clone("true"); - var id = data[i]["id"]; - tp.find("#cy_template_name").html(data[i]["name"]); - tp.find("#cy_template_content").html(data[i]["content"]); - tp.find("#cy_template_mission_count").html(data[i]["mission_count"]); - tp.find("#cy_template_users_count").html(data[i]["users_count"]); - tp.find("#cy_template_shares_count").html(data[i]["shares_count"]); - tp.find("#cy_template_enterbtn").attr("onclick","cy_enter("+id+");"); + 200: function() {// 请求成功 + var bg_color = ["bg-yellow","bg-blue","bg-purple","bg-red"]; + var jstr = htmlobj.responseText; + var robj = eval('('+jstr+')'); + console.log(jstr); + if(robj["code"]==0){ + var data = robj["data"]; + for(var i=data.length-1;i>=0;--i){ + var template = $("#cy_template"); + var tp = template.clone("true"); + var id = data[i]["id"]; + tp.find("#cy_template_name").html(data[i]["name"]); + tp.find("#cy_template_content").html(data[i]["content"]); + tp.find("#cy_template_mission_count").html(data[i]["mission_count"]); + tp.find("#cy_template_users_count").html(data[i]["users_count"]); + tp.find("#cy_template_shares_count").html(data[i]["shares_count"]); + tp.find("#cy_template_enterbtn").attr("onclick","cy_enter("+id+");"); - tp.find("#cy_template_name").attr("id","cy_name_"+id); - tp.find("#cy_template_content").attr("id","cy_content_"+id); - tp.find("#cy_template_mission_count").attr("id","cy_mission_count_"+id); - tp.find("#cy_template_users_count").attr("id","cy_users_count_"+id); - tp.find("#cy_template_shares_count").attr("id","cy_shares_count_"+id); - tp.find("#cy_template_enterbtn").attr("id","cy_enter_"+id); + tp.find("#cy_template_name").attr("id","cy_name_"+id); + tp.find("#cy_template_content").attr("id","cy_content_"+id); + tp.find("#cy_template_mission_count").attr("id","cy_mission_count_"+id); + tp.find("#cy_template_users_count").attr("id","cy_users_count_"+id); + tp.find("#cy_template_shares_count").attr("id","cy_shares_count_"+id); + tp.find("#cy_template_enterbtn").attr("id","cy_enter_"+id); - tp.find("#cy_template_bg").attr("class","widget-user-header "+bg_color[Math.floor(Math.random()*4)]); - tp.find("#cy_template_bg").attr("id","cy_bg_"+id); + tp.find("#cy_template_bg").attr("class","widget-user-header "+bg_color[Math.floor(Math.random()*4)]); + tp.find("#cy_template_bg").attr("id","cy_bg_"+id); - tp.attr("id","cy_project_"+id); - - tp.css("display","block"); + tp.attr("id","cy_project_"+id); + + tp.css("display","block"); - $("#cy_container").prepend(tp); - } - } - else{ - //todo - } - }, - 401:function(){// 未授权 - alert("用户名或密码错误!"); - } + $("#cy_container").prepend(tp); } + } + else{ + //todo + } + }, + 401:function(){// 未授权 + alert("用户名或密码错误!"); + } + } }); }); $("#creat_project").click(function(){ @@ -249,12 +249,12 @@ } } }); - function cy_enter(id){ - LoginUserInfo.selectProject=id; - console.log(id); - //window.location.href="../index.html"; - } }); + + function cy_enter(id){ + console.log(id); + window.location.href="../index.html?projectid="+id; + } diff --git a/public/pages/task.html b/public/pages/task.html index cd23e33..d277db1 100644 --- a/public/pages/task.html +++ b/public/pages/task.html @@ -528,7 +528,9 @@ - + \ No newline at end of file diff --git a/spec/controllers/missions_controller_spec.rb b/spec/controllers/missions_controller_spec.rb index d5820cd..0e367f8 100644 --- a/spec/controllers/missions_controller_spec.rb +++ b/spec/controllers/missions_controller_spec.rb @@ -2,6 +2,77 @@ require 'rails_helper' RSpec.describe MissionsController, type: :controller do - describe "" + # describe "GET #getlist" do + + # it "return a valid json format of missions" do + + # register = create(:user) + # user = User.find_by(email: register.email) + # session[:user_id] = user.id + + # user1 = create(:user) + # user2 = create(:user) + # params = {name: "project addUsers test",content: "addUsers test"} + # project = Project.new(params) + # project.users << register + # project.save + + # params_mission = {name: "mission1",content: "mission content",deadline:"2016-10-17 10:00:00",priority:1,status:1,project_id: project.id} + # params_mission2 = {name: "mission2",content: "mission content2",deadline:"2016-10-17 10:00:00",priority:1,status:2,project_id: project.id} + # mission = Mission.new(params_mission) + # mission2 = Mission.new(params_mission2) + # mission.save + # mission2.save + # get :getlist,project_id: project.id,status_type: 1 + + # puts response.body + + + # end + + # end + + # describe "GET #detail" do + + # it "return a correct json format detail" do + + # register = create(:user) + # params = {name: "project addUsers test",content: "addUsers test"} + # project = Project.new(params) + # project.users << register + # project.save + + # params_mission = {name: "mission1",content: "mission content",deadline:"2016-10-17 10:00:00",priority:1,status:1,project_id: project.id} + # params_mission2 = {name: "mission2",content: "mission content2",deadline:"2016-10-17 10:00:00",priority:1,status:2,project_id: project.id} + # mission = Mission.new(params_mission) + # mission.save + # get :detail,id: mission.id + + # end + + # end + + describe "POST #comments" do + + it "can publish comments successfully" do + + + register = create(:user) + params = {name: "project addUsers test",content: "addUsers test"} + project = Project.new(params) + project.users << register + project.save + + params_mission = {name: "mission1",content: "mission content",deadline:"2016-10-17 10:00:00",priority:1,status:1,project_id: project.id} + params_mission2 = {name: "mission2",content: "mission content2",deadline:"2016-10-17 10:00:00",priority:1,status:2,project_id: project.id} + mission = Mission.new(params_mission) + mission.save + + post :commentPublish,mission_id: mission.id,content: "用户评论" + puts "hello world" + puts response.body + end + + end end \ No newline at end of file