89 lines
2.0 KiB
Ruby
89 lines
2.0 KiB
Ruby
|
class PollController < ApplicationController
|
||
|
before_filter :find_poll_and_course, :only => [:edit,:update,:destory]
|
||
|
before_filter :find_container, :only => [:new,:create, :index]
|
||
|
|
||
|
def index
|
||
|
if @course
|
||
|
@polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id}")
|
||
|
respond_to do |format|
|
||
|
format.html{render :layout => 'base_courses'}
|
||
|
end
|
||
|
elsif @project
|
||
|
#项目的问卷调查相关代码
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def show
|
||
|
@poll = Poll.find params[:id]
|
||
|
end
|
||
|
|
||
|
def new
|
||
|
if @course
|
||
|
option = {
|
||
|
:polls_name => l(:label_poll_new),
|
||
|
:polls_type => @course.class.to_s,
|
||
|
:polls_group_id => @course.id,
|
||
|
:polls_status => 1,
|
||
|
:user_id => User.current.id,
|
||
|
:published_at => Time.now,
|
||
|
:closed_at => Time.now,
|
||
|
:polls_description => ""
|
||
|
}
|
||
|
@poll = Poll.create option
|
||
|
if @poll
|
||
|
respond_to do |format|
|
||
|
format.html{render :layout => 'base_courses'}
|
||
|
end
|
||
|
end
|
||
|
elsif @project
|
||
|
#项目的问卷调查相关代码
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def create
|
||
|
|
||
|
end
|
||
|
|
||
|
def edit
|
||
|
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
@poll.polls_name = params[:polls_name]
|
||
|
if @poll.save
|
||
|
respond_to do |format|
|
||
|
format.html { redirect_to poll_index_url(:polls_type => @course.class.to_s, :polls_group_id => @course.id) }
|
||
|
end
|
||
|
else
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
if @poll.destroy
|
||
|
respond_to do |format|
|
||
|
format.js
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
private
|
||
|
def find_poll_and_course
|
||
|
@poll = Poll.find params[:id]
|
||
|
@course = Course.find @poll.polls_group_id
|
||
|
rescue Exception => e
|
||
|
render_404
|
||
|
end
|
||
|
|
||
|
def find_container
|
||
|
if params[:polls_type] && params[:polls_group_id]
|
||
|
case params[:polls_type]
|
||
|
when "Course"
|
||
|
@course = Course.find_by_id params[:polls_group_id]
|
||
|
when "Project"
|
||
|
@project = Project.find_by_id params[:polls_group_id]
|
||
|
end
|
||
|
else
|
||
|
render_404
|
||
|
end
|
||
|
end
|
||
|
end
|