|
|
|
|
# encoding: utf-8
|
|
|
|
|
class SharesController < ApplicationController
|
|
|
|
|
before_filter :require_login, :except => [:index]
|
|
|
|
|
before_filter :require_admin, :only => [:index]
|
|
|
|
|
# GET /shares
|
|
|
|
|
# GET /shares.json
|
|
|
|
|
def index
|
|
|
|
|
@shares = Share.all
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html # index.html.erb
|
|
|
|
|
format.json { render json: @shares }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# GET /shares/1
|
|
|
|
|
# GET /shares/1.json
|
|
|
|
|
def show
|
|
|
|
|
@share = Share.find(params[:id])
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html # show.html.erb
|
|
|
|
|
format.json { render json: @share }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# GET /shares/new
|
|
|
|
|
# GET /shares/new.json
|
|
|
|
|
def new
|
|
|
|
|
@share = Share.new
|
|
|
|
|
@user = User.current
|
|
|
|
|
@ps = @user.projects.all
|
|
|
|
|
|
|
|
|
|
projectName = params[:projectname]
|
|
|
|
|
userName = params[:username]
|
|
|
|
|
url = params[:url]
|
|
|
|
|
share_type = params[:share_type]
|
|
|
|
|
share_type ||= 0 #默认是测试结果分享
|
|
|
|
|
description = params[:description]
|
|
|
|
|
|
|
|
|
|
#deal params
|
|
|
|
|
if share_type == 0 && !params[:description].nil?
|
|
|
|
|
arr = params[:description].split(",")
|
|
|
|
|
# @share.description = @arr.join(",")
|
|
|
|
|
#description = "stcloud源代码测试平台:用户" << userName << "对项目" << projectName << "进行了测试。测试结果:" << "\n"
|
|
|
|
|
name = User.current.login.to_s.dup
|
|
|
|
|
description = name << "对项目进行了测试。测试结果:" << "\n"
|
|
|
|
|
description << "总缺陷数#{arr[0]},Fault数目#{arr[1]},Rule数目#{arr[2]},Question数目#{arr[3]},Safety数目#{arr[4]}。"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@share[:title] = projectName
|
|
|
|
|
@share[:url] = url
|
|
|
|
|
@share[:share_type] = share_type
|
|
|
|
|
@share[:description] = description
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html # new.html.erb
|
|
|
|
|
format.json { render json: @share }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# GET /shares/1/edit
|
|
|
|
|
def edit
|
|
|
|
|
@share = Share.find(params[:id])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# POST /shares
|
|
|
|
|
# POST /shares.json
|
|
|
|
|
def create
|
|
|
|
|
@share = Share.new(params[:share])
|
|
|
|
|
if (@share.project_id.nil?)
|
|
|
|
|
flash[:notice] = l(:label_x_projects)
|
|
|
|
|
end
|
|
|
|
|
@share.user_id = User.current.id
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @share.save
|
|
|
|
|
#format.html { redirect_to @share, notice: 'Share was successfully created.' }
|
|
|
|
|
format.html { render "succ", notice: 'Share was successfully created.' }
|
|
|
|
|
format.json { render json: @share, status: :created, location: @share }
|
|
|
|
|
else
|
|
|
|
|
format.html { render action: "new" }
|
|
|
|
|
format.json { render json: @share.errors, status: :unprocessable_entity }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# PUT /shares/1
|
|
|
|
|
# PUT /shares/1.json
|
|
|
|
|
def update
|
|
|
|
|
@share = Share.find(params[:id])
|
|
|
|
|
|
|
|
|
|
@project = params[:project_id]
|
|
|
|
|
@share.user_id = User.current.id
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @share.update_attributes(params[:share])
|
|
|
|
|
format.html { redirect_to @share, notice: 'Share was successfully updated.' }
|
|
|
|
|
format.json { head :no_content }
|
|
|
|
|
else
|
|
|
|
|
format.html { render action: "edit" }
|
|
|
|
|
format.json { render json: @share.errors, status: :unprocessable_entity }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# DELETE /shares/1
|
|
|
|
|
# DELETE /shares/1.json
|
|
|
|
|
def destroy
|
|
|
|
|
@share = Share.find(params[:id])
|
|
|
|
|
@share.destroy
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { redirect_to shares_url }
|
|
|
|
|
format.json { head :no_content }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|