socialforge/app/controllers/shares_controller.rb

118 lines
3.3 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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