diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 1623979f0..d9980e286 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -39,9 +39,14 @@ class CoursesController < ApplicationController
else
@state = 5 #未登录
end
- respond_to do |format|
- format.js { render :partial => 'set_join', :locals => {:user => user, :course => course, :object_id => params[:object_id]} }
- end
+ # if @state == 1 || @state == 3
+ # respond_to course_path(course.id)
+ # else
+ respond_to do |format|
+ format.js { render :partial => 'set_join', :locals => {:user => user, :course => course, :object_id => params[:object_id]} }
+ end
+ #end
+
rescue Exception => e
@state = 4 #已经加入了课程
respond_to do |format|
diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb
index dda5b81b2..b376a9acd 100644
--- a/app/controllers/poll_controller.rb
+++ b/app/controllers/poll_controller.rb
@@ -410,6 +410,68 @@ class PollController < ApplicationController
end
end
+ # 将其他地方的问卷导出来
+ def other_poll
+ # 查作者是我,且不在当前课程内的问卷 进行导入
+ @polls = Poll.where("user_id = #{User.current.id} and polls_type = 'course' and polls_group_id != #{params[:polls_group_id]}")
+ @polls_group_id = params[:polls_group_id]
+ respond_to do |format|
+ format.js
+ end
+ end
+
+ # 将问卷导入本课程
+ def import_other_poll
+ course_id = params[:course_id]
+ @course = Course.find(course_id)
+ params[:polls].each_with_index do |p,i|
+ poll = Poll.find(p)
+ option = {
+ :polls_name => poll.polls_name,
+ :polls_type => 'Course',
+ :polls_group_id => course_id,
+ :polls_status => 1,
+ :user_id => User.current.id,
+ :published_at => Time.now,
+ :closed_at => Time.now,
+ :show_result => 1,
+ :polls_description => poll.polls_description
+ }
+ @poll = Poll.create option
+
+ poll.poll_questions.each do | q|
+ #question_title = params[:poll_questions_title].nil? || params[:poll_questions_title].empty? ? l(:label_enter_single_title) : params[:poll_questions_title]
+ option = {
+ :is_necessary => q[:is_necessary],
+ :question_title => q[:question_title],
+ :question_type => q[:question_type] || 1,
+ :question_number => q[:question_number]
+ }
+ @poll_questions = @poll.poll_questions.new option
+
+ for i in 1..q.poll_answers.count
+ answer = q.poll_answers[i-1].nil? ? l(:label_new_answer) : q.poll_answers[i-1][:answer_text]
+ question_option = {
+ :answer_position => i,
+ :answer_text => answer
+ }
+ @poll_questions.poll_answers.new question_option
+ end
+ end
+ @poll.save
+ end
+ @is_teacher = User.current.allowed_to?(:as_teacher,@course)
+ if @is_teacher
+ polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id}")
+ else
+ polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id} and polls_status = 2")
+ end
+ @polls = paginateHelper polls,20 #分页
+ respond_to do |format|
+ format.js
+ end
+ end
+
private
def find_poll_and_course
@poll = Poll.find params[:id]
diff --git a/app/helpers/poll_helper.rb b/app/helpers/poll_helper.rb
index 3156f1b3a..0baad37ee 100644
--- a/app/helpers/poll_helper.rb
+++ b/app/helpers/poll_helper.rb
@@ -74,4 +74,13 @@ module PollHelper
end
end
+ #带勾选框的问卷列表
+ def poll_check_box_tags(name,polls,current_poll)
+ s = ''
+ polls.each do |poll|
+ s << "
"
+ end
+ s.html_safe
+ end
+
end
\ No newline at end of file
diff --git a/app/views/courses/_set_join.js.erb b/app/views/courses/_set_join.js.erb
index 0542f2a0c..5476e7ff0 100644
--- a/app/views/courses/_set_join.js.erb
+++ b/app/views/courses/_set_join.js.erb
@@ -6,12 +6,14 @@
alert("加入成功");
hideModal($("#popbox02"));
$("#try_join_course_link").replaceWith(" 'index',:course=>course.id, :host=>Setting.host_course)%>' target='_blank' class='blue_n_btn fr mt20'>提交作品");
+ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= course.id%>"
<% elsif @state == 1 %>
alert("密码错误");
<% elsif @state == 2 %>
alert("课程已过期\n请联系课程管理员重启课程。(在配置课程处)");
<% elsif @state == 3 %>
alert("您已经加入了课程");
+ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= course.id%>"
<% elsif @state == 4 %>
alert("您加入的课程不存在");
<% elsif @state == 5 %>
diff --git a/app/views/poll/_other_poll.html.erb b/app/views/poll/_other_poll.html.erb
new file mode 100644
index 000000000..c899f0d47
--- /dev/null
+++ b/app/views/poll/_other_poll.html.erb
@@ -0,0 +1,27 @@
+