完成学生列表界面

This commit is contained in:
sw 2015-03-25 20:13:48 +08:00
parent 3c224f0ff9
commit 92808fe8ea
4 changed files with 106 additions and 150 deletions

View File

@ -298,7 +298,7 @@ class CoursesController < ApplicationController
@render_file = 'member_list'
@score_sort_by = "desc"
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
@role = params[:role].nil? ? '2':params[:role]
@is_remote = true
@course_groups = @course.course_groups if @course.course_groups
@ -311,8 +311,8 @@ class CoursesController < ApplicationController
when '2'
@subPage_title = l :label_student_list
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
# @all_members = student_homework_score(0,page, 10,"desc")
@all_members = @course.members
@all_members = student_homework_score(0,page, 10,"desc")
# @all_members = @course.members
@members = paginateHelper_for_members @all_members, 10
end
respond_to do |format|
@ -798,38 +798,38 @@ class CoursesController < ApplicationController
if groupid == 0
if nums == 0
sql_select = "SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id}) GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by}"
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id}) GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by}"
else
sql_select = "SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id}) GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by} limit #{start_from}, #{nums}"
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id}) GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by} limit #{start_from}, #{nums}"
end
else
sql_select = "SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
and members.course_group_id = #{groupid} AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id})
GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id}
and members.course_group_id = #{groupid} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by}"
WHERE members.course_id = #{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
and members.course_group_id = #{groupid} AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id})
GROUP BY members.user_id
UNION all
SELECT members.*, 0 as score FROM members,homework_attaches,students_for_courses WHERE members.course_id = #{@course.id}
and members.course_group_id = #{groupid} AND
students_for_courses.course_id = #{@course.id} and members.user_id = students_for_courses.student_id AND
members.user_id NOT IN (SELECT homework_attaches.user_id FROM homework_attaches WHERE homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id} )
)
GROUP BY members.user_id ORDER BY score #{score_sort_by}"
end
sql = ActiveRecord::Base.connection()
homework_scores = Member.find_by_sql(sql_select)

View File

@ -18,122 +18,6 @@
</div>
<div class="cl"></div>
<div class="st_box">
<ul class="st_box_top">
<li class="ml50"><a href="#">姓名</a><a href="#" class="st_up"></a></li>
<li class="ml10"><a href="#">学号</a><a href="#" class="st_down"></a></li>
<li class="ml358"><a href="#" >作业积分</a><a href="#" class="st_down"></a></li>
<li class="ml50"><a href="#" >加入时间</a></li>
</ul>
<div class="cl"></div><!--st_box_top end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
<div class="st_boxlist">
<a href="#" class="st_img"><img src="images/courses/pic_01.jpg" width="32" height="32" alt="学生" /></a>
<ul>
<li ><a href="#">姓名:<span >阿里巴巴</span></a></li><br />
<li><a href="#">学号:<span>123456</span></a></li>
</ul>
<a href="#" class="ml258 c_red">4.2</a>
<span class="ml65 c_grey">2014-11-27</span>
</div>
<div class="cl"></div><!--st_boxlist end-->
</div>
<%= render :partial => 'new_member_list', :locals => {:members => members} %>
</div> <!-- st_list end-->
<ul class="wlist" >
<li><a href="#">下一页</a></li>
<li><a href="#">...</a></li>
<li><a href="#">2</a></li>
<li class="wlist_select" ><a href="#">1</a></li>
<li><a href="#">上一页</a></li>
</ul>
<div class="cl"></div>

View File

@ -1,9 +1,7 @@
<div style="margin-left: 15px" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<div style="margin-left: 15px">
<% if User.current.logged? && User.current.member_of_course?(@course) && @group %>
<% if !@canShowCode %>
<%= join_in_course_group(@course.course_groups,@group, User.current) %>
<% end %>
<%= join_in_course_group(@course.course_groups,@group, User.current) unless @canShowCode %>
<span style="font-size: 12px; float: left; margin-right: 5px">
<%= l(:label_current_group)%>:&nbsp;
<%= @group.name %>

View File

@ -0,0 +1,74 @@
<!-- 加入分班 -->
<div style="margin-left: 15px">
<% if User.current.logged? && User.current.member_of_course?(@course) && @group %>
<%= join_in_course_group(@course.course_groups,@group, User.current) unless @canShowCode %>
<span style="font-size: 12px; float: left; margin-right: 5px">
<%= l(:label_current_group)%>:&nbsp;
<%= @group.name %>
</span>
<% end %>
</div>
<div class="cl"></div>
<% if members.any? %>
<% if @result_count %>
<p style="font-size: 18px;">
<%= l(:label_search_member_count) %>
<%= @result_count %>
<%= l(:label_member_people) %>
</p>
<div class="cl"></div>
<% end %>
<div class="st_box">
<ul class="st_box_top">
<li class="ml50" style="padding-right: 5px;"><a href="">姓名</a></li>
<li class="ml10" style="padding-right: 15px;"><a href="">学号</a></li>
<li class="ml358"><a href="#" >作业积分</a><a href="#" class="st_down"></a></li>
<li class="ml50"><a href="#" >加入时间</a></li>
</ul>
<div class="cl"></div><!--st_box_top end-->
<% members.each do |member| %>
<div class="st_boxlist">
<a href="javascript:" class="st_img">
<%= member.user.nil? ? '' : (image_tag(url_to_avatar(member.user), :width => 32, :height => 32)) %>
</a>
<ul>
<% if @canShowCode %>
<li>
<% if member.user.show_name == ''%>
<%= link_to("#{l(:label_bidding_user_studentname)}<span >#{member.user.name}</span>".html_safe,user_path(member.user)) %>
<% else%>
<%= link_to("#{l(:label_bidding_user_studentname)}<span >#{member.user.show_name}</span>".html_safe,user_path(member.user)) %>
<%end%>
</li>
<% else %>
<li><%= link_to("#{l(:label_bidding_user_studentname)}<span >#{member.user.name}</span>".html_safe, user_path(member.user)) %></li>
<% end %>
<br/>
<% unless member.user.user_extensions.student_id == ''%>
<li><%= link_to("#{l(:label_bidding_user_studentcode)}<span >#{member.user.user_extensions.student_id}</span>".html_safe,user_path(member.user)) %></li>
<% end%>
</ul>
<%= link_to format("%0.2f",member.score.nil? ? 0 : member.score.to_s), {
:action => 'show_member_score',
:member_id => member.id,
:remote => true},
:class => 'ml258 c_red' %>
<span class="ml65 c_grey"><%= format_date(member.created_on)%></span>
<%= call_hook(:view_projects_settings_members_table_row, { :course => @course, :member => member}) %>
</div>
<div class="cl"></div>
<% end; reset_cycle %>
</div>
<ul class="wlist">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<% else%>
<p class="nodata">
<%= l(:label_no_data) %>
</p>
<% end%>