| 
							
								 | 
							
							# 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
 |