socialforge/app/controllers/shares_controller.rb

118 lines
3.3 KiB
Ruby
Raw Normal View History

2013-10-21 08:57:55 +08:00
# encoding: utf-8
class SharesController < ApplicationController
2013-10-21 08:57:55 +08:00
before_filter :require_login, :except => [:index]
2013-10-24 08:24:56 +08:00
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
2013-10-21 08:57:55 +08:00
@user = User.current
@ps = @user.projects.all
2013-10-21 08:57:55 +08:00
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])
2013-10-21 08:57:55 +08:00
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
2013-10-21 08:57:55 +08:00
#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])
2013-10-21 08:57:55 +08:00
@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