|
- class ApplyProjectMastersController < ApplicationController
-
- before_filter :require_login, :find_apply, :only => [:create, :delete]
-
- # GET /apply_project_masters
- # GET /apply_project_masters.json
- def index
- @apply_project_masters = ApplyProjectMaster.all
-
- respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @apply_project_masters }
- end
- end
-
- # GET /apply_project_masters/1
- # GET /apply_project_masters/1.json
- def show
- @apply_project_master = ApplyProjectMaster.find(params[:id])
-
- respond_to do |format|
- format.html # show.html.erb
- format.json { render json: @apply_project_master }
- end
- end
-
- # GET /apply_project_masters/new
- # GET /apply_project_masters/new.json
- def new
- @apply_project_master = ApplyProjectMaster.new
-
- respond_to do |format|
- format.html # new.html.erb
- format.json { render json: @apply_project_master }
- end
- end
-
- # GET /apply_project_masters/1/edit
- def edit
- @apply_project_master = ApplyProjectMaster.find(params[:id])
- end
-
- # POST /apply_project_masters
- # POST /apply_project_masters.json
- def create
- # @apply_project_master = ApplyProjectMaster.new(params[:apply_project_master])
- #
- # respond_to do |format|
- # if @apply_project_master.save
- # format.html { redirect_to @apply_project_master, notice: 'Apply project master was successfully created.' }
- # format.json { render json: @apply_project_master, status: :created, location: @apply_project_master }
- # else
- # format.html { render action: "new" }
- # format.json { render json: @apply_project_master.errors, status: :unprocessable_entity }
- # end
- # end
-
- set_apply(@apply, User.current, true)
-
- end
-
- # PUT /apply_project_masters/1
- # PUT /apply_project_masters/1.json
- def update
- @apply_project_master = ApplyProjectMaster.find(params[:id])
-
- respond_to do |format|
- if @apply_project_master.update_attributes(params[:apply_project_master])
- format.html { redirect_to @apply_project_master, notice: 'Apply project master was successfully updated.' }
- format.json { head :no_content }
- else
- format.html { render action: "edit" }
- format.json { render json: @apply_project_master.errors, status: :unprocessable_entity }
- end
- end
- end
-
- # DELETE /apply_project_masters/1
- # DELETE /apply_project_masters/1.json
- def destroy
- @apply_project_master = ApplyProjectMaster.find(params[:id])
- @apply_project_master.destroy
-
- respond_to do |format|
- format.html { redirect_to apply_project_masters_url }
- format.json { head :no_content }
- end
- end
-
- def delete
- set_apply(@apply, User.current, false)
- end
-
- private
-
- def find_apply
- klass = Object.const_get(params[:object_type].camelcase) rescue nil
- if klass && klass.respond_to?('applied_by')
- @apply = klass.find_all_by_id(Array.wrap(params[:object_id]))
- end
- render_404 unless @apply.present?
- end
-
- #flag标注功能,为1时设置‘申请版主’,为0时设置取消
- def set_apply(objects, user, flag)
- objects.each do |object|
- object.set_apply(user, flag)
- end
- respond_to do |format|
- format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
- format.js { render :partial => 'set_apply', :locals => {:user => user, :objects => objects} }
- end
- end
- end
|