# 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