You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgfqe6ch8/app/controllers/shares_controller.rb

118 lines
3.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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