提交后的问卷禁止查看与编辑
This commit is contained in:
parent
933ad22cd2
commit
dc2c96f59a
|
@ -1,5 +1,5 @@
|
|||
class PollController < ApplicationController
|
||||
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll]
|
||||
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer]
|
||||
before_filter :find_container, :only => [:new,:create, :index]
|
||||
before_filter :is_member_of_course, :only => [:index,:show]
|
||||
before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy]
|
||||
|
@ -19,10 +19,16 @@ class PollController < ApplicationController
|
|||
|
||||
def show
|
||||
@poll = Poll.find params[:id]
|
||||
poll_questions = @poll.poll_questions
|
||||
@poll_questions = paginateHelper poll_questions,3 #分页
|
||||
respond_to do |format|
|
||||
format.html {render :layout => 'base_courses'}
|
||||
#已提交问卷的用户不能再访问该界面
|
||||
if has_commit_poll?(@poll.id,User.current.id) && (!User.current.admin?)
|
||||
render_403
|
||||
else
|
||||
@can_edit_poll = (!has_commit_poll?(@poll.id,User.current.id)) || User.current.admin?
|
||||
poll_questions = @poll.poll_questions
|
||||
@poll_questions = paginateHelper poll_questions,3 #分页
|
||||
respond_to do |format|
|
||||
format.html {render :layout => 'base_courses'}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -141,6 +147,10 @@ class PollController < ApplicationController
|
|||
#提交答案
|
||||
def commit_answer
|
||||
pq = PollQuestion.find(params[:poll_question_id])
|
||||
if has_commit_poll?(@poll.id,User.current.id) && (!User.current.admin?)
|
||||
render :text => 'failure'
|
||||
return
|
||||
end
|
||||
if pq.question_type == 1
|
||||
#单选题
|
||||
pv = PollVote.find_by_poll_question_id_and_user_id(params[:poll_question_id],User.current.id)
|
||||
|
@ -188,15 +198,8 @@ class PollController < ApplicationController
|
|||
render :text => "failure"
|
||||
end
|
||||
else
|
||||
|
||||
render :text => "failure"
|
||||
end
|
||||
|
||||
|
||||
#respond_to do |format|
|
||||
# format.js
|
||||
# format.json
|
||||
#end
|
||||
|
||||
end
|
||||
|
||||
#提交问卷
|
||||
|
|
|
@ -37,4 +37,14 @@ module PollHelper
|
|||
pv.vote_text
|
||||
end
|
||||
end
|
||||
|
||||
#判断用户是否已经提交了问卷
|
||||
def has_commit_poll?(poll_id,user_id)
|
||||
pu = PollUser.find_by_poll_id_and_user_id(poll_id,user_id)
|
||||
if pu.nil?
|
||||
false
|
||||
else
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
|
@ -13,7 +13,11 @@
|
|||
<% @polls.each do |poll|%>
|
||||
<ul id="polls_<%= poll.id %>">
|
||||
<li>
|
||||
<%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %>
|
||||
<% if has_commit_poll?(poll.id ,User.current) %>
|
||||
<sapn class="polls_title fl"> <%= poll.polls_name %></sapn>
|
||||
<% else %>
|
||||
<%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%if @is_teacher%>
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
});
|
||||
}
|
||||
</script>
|
||||
<%= radio_button "poll_vote","poll_answer_id",pa.id,:class=>"ur_radio",:onclick =>"click_#{pa.id}(this);return false;",:checked => answer_be_selected?(pa,User.current) %>
|
||||
<%= radio_button "poll_vote","poll_answer_id",pa.id,:class=>"ur_radio",:onclick =>"click_#{pa.id}(this);return false;",:checked => answer_be_selected?(pa,User.current),:disabled => !@can_edit_poll %>
|
||||
<%= pa.answer_text %>
|
||||
</label>
|
||||
</td>
|
||||
|
@ -130,7 +130,7 @@
|
|||
});
|
||||
}
|
||||
</script>
|
||||
<input class="ur_checkbox" type="checkbox" onclick="click_<%= pa.id %>(this);return false;" <%= answer_be_selected?(pa,User.current) ? "checked":"" %>>
|
||||
<input class="ur_checkbox" type="checkbox" onclick="click_<%= pa.id %>(this);return false;" <%= answer_be_selected?(pa,User.current) ? "checked":"" %> <%= @can_edit_poll?"":"disabled=disabled" %> >
|
||||
<%= pa.answer_text %>
|
||||
</label>
|
||||
</td>
|
||||
|
@ -171,7 +171,7 @@
|
|||
|
||||
}
|
||||
</script>
|
||||
<input class="ur_text ur_textbox" type="text" size="" maxlength="" value="<%= get_anwser_vote_text(pq.id,User.current.id) %>" onblur="onblur_<%= pq.id %>(this);">
|
||||
<input class="ur_text ur_textbox" type="text" size="" maxlength="" value="<%= get_anwser_vote_text(pq.id,User.current.id) %>" onblur="onblur_<%= pq.id %>(this);" <%= @can_edit_poll?"":"disabled=disabled" %>>
|
||||
</div>
|
||||
</li><!--单行输入 end-->
|
||||
<% elsif pq.question_type == 4 %>
|
||||
|
@ -203,7 +203,7 @@
|
|||
});
|
||||
}
|
||||
</script>
|
||||
<div contenteditable='true' class="ur_textbox" style="min-height: 150px;width: 100%" onblur="onblur_<%= pq.id %>(this);"><%= get_anwser_vote_text(pq.id,User.current.id) %></div>
|
||||
<div contenteditable='<%= @can_edit_poll %>' class="ur_textbox" style="min-height: 150px;width: 100%;<%= @can_edit_poll?"":"background-color:#DCDCDC;" %>" onblur="onblur_<%= pq.id %>(this);"><%= get_anwser_vote_text(pq.id,User.current.id) %></div>
|
||||
</div>
|
||||
</div>
|
||||
</li><!--多行输入 end-->
|
||||
|
|
|
@ -27,6 +27,7 @@ a.newbtn{ float:right; display:block; width:80px; height:30px; background:#64bdd
|
|||
a:hover.newbtn{ background:#55a1b9; text-decoration:none;}
|
||||
.polls_list ul{ padding-left:10px; border-bottom:1px dashed #c9c9c9; height:32px; padding-top:8px;}
|
||||
a.polls_title{ font-weight:bold; color:#3e6d8e;}
|
||||
.polls_title{ font-weight:bold; color:#3e6d8e;}
|
||||
a.pollsbtn{ display:block; width:66px; height:22px; text-align:center; border:1px solid #64bdd9; color:#64bdd9;}
|
||||
a:hover.pollsbtn{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||
.polls_date{ color:#666666;}
|
||||
|
|
Loading…
Reference in New Issue