118 lines
3.3 KiB
Ruby
118 lines
3.3 KiB
Ruby
# 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
|