socialforge/app/controllers/apply_project_masters_contr...

115 lines
3.4 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.

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