Merge branch 'szzh' into dev_hjq

szzh
huang 10 years ago
commit 391c7f6821

@ -250,10 +250,8 @@ module Mobile
end end
get "course_dynamic/:id" do get "course_dynamic/:id" do
cs = CoursesService.new cs = CoursesService.new
p Time.now.to_s
count = cs.all_course_dynamics(params,current_user) count = cs.all_course_dynamics(params,current_user)
present :data, count, with: Mobile::Entities::CourseDynamic present :data, count, with: Mobile::Entities::CourseDynamic
p Time.now.to_s
present :status, 0 present :status, 0
end end

@ -4,45 +4,44 @@ module Mobile
include Redmine::I18n include Redmine::I18n
def self.course_dynamic_expose(field) def self.course_dynamic_expose(field)
expose field do |c,opt| expose field do |c,opt|
if field == :news_count # if field == :news_count
obj = nil # obj = nil
c[:dynamics].each do |d| # c[:dynamics].each do |d|
if d[:type] == 1 # if d[:type] == 1
obj = d[:count] # obj = d[:count]
end # end
end # end
obj # obj
elsif field == :document_count # elsif field == :document_count
obj = nil # obj = nil
c[:dynamics].each do |d| # c[:dynamics].each do |d|
if d[:type] == 3 # if d[:type] == 3
obj = d[:count] # obj = d[:count]
end # end
end # end
obj # obj
elsif field == :topic_count # elsif field == :topic_count
obj = nil # obj = nil
c[:dynamics].each do |d| # c[:dynamics].each do |d|
if d[:type] == 2 # if d[:type] == 2
obj = d[:count] # obj = d[:count]
end # end
end # end
obj # obj
elsif field == :homework_count # elsif field == :homework_count
obj = nil # obj = nil
c[:dynamics].each do |d| # c[:dynamics].each do |d|
if d[:type] == 4 # if d[:type] == 4
obj = d[:count] # obj = d[:count]
end # end
end # end
obj # obj
else # else
c[field] if (c.is_a?(Hash) && c.key?(field)) c[field] if (c.is_a?(Hash) && c.key?(field))
end # end
end end
end end
course_dynamic_expose :type
course_dynamic_expose :course_name course_dynamic_expose :course_name
course_dynamic_expose :course_term course_dynamic_expose :course_term
course_dynamic_expose :course_time course_dynamic_expose :course_time
@ -68,52 +67,22 @@ module Mobile
# obj # obj
# end # end
expose :topics,using:Mobile::Entities::Message do |f,opt| expose :topics,using:Mobile::Entities::Message do |f,opt|
obj = nil f[:topics]
f[:dynamics].each do |d|
if d[:type] == 2
obj = d[:topics]
end
end
obj
end end
expose :homeworks,using:Mobile::Entities::Homework do |f,opt| expose :homeworks,using:Mobile::Entities::Homework do |f,opt|
obj = nil f[:homeworks]
f[:dynamics].each do |d|
if d[:type] == 4
obj = d[:homeworks]
end
end
obj
end end
expose :news,using:Mobile::Entities::News do |f,opt| expose :news,using:Mobile::Entities::News do |f,opt|
obj = nil f[:news]
f[:dynamics].each do |d|
if d[:type] == 1
obj = d[:news]
end
end
obj
end end
expose :better_students,using:Mobile::Entities::User do |f,opt| expose :better_students,using:Mobile::Entities::User do |f,opt|
obj = nil f[:better_students]
f[:dynamics].each do |d|
if d[:type] == 6
obj = d[:better_students]
end
end
obj
end end
expose :active_students,using:Mobile::Entities::User do |f,opt| expose :active_students,using:Mobile::Entities::User do |f,opt|
obj = nil f[:active_students]
f[:dynamics].each do |d|
if d[:type] == 7
obj = d[:active_students]
end
end
obj
end end
end end

@ -144,6 +144,8 @@ class HomeworkCommonController < ApplicationController
end end
if homework.save if homework.save
homework_detail_programing.save if homework_detail_programing
homework_detail_manual.save if homework_detail_manual
respond_to do |format| respond_to do |format|
format.html { format.html {
flash[:notice] = l(:notice_successful_create) flash[:notice] = l(:notice_successful_create)
@ -254,7 +256,6 @@ class HomeworkCommonController < ApplicationController
client.request(request) client.request(request)
end end
result = JSON.parse(res.body) result = JSON.parse(res.body)
homework_detail_programing.question_id = result["id"] if result["status"] && result["status"] == 0
end end
@homework.save_attachments(params[:attachments]) @homework.save_attachments(params[:attachments])

@ -71,8 +71,7 @@ class NewsController < ApplicationController
scope = @course ? @course.news.course_visible : News.course_visible scope = @course ? @course.news.course_visible : News.course_visible
@news_count = scope.count @news_count = scope.count
#@news_pages = Paginator.new @news_count, @limit, params['page'] @q = params[:subject]
#@offset ||= scope_page.offset
if params[:subject].nil? if params[:subject].nil?
scope_order = scope.all(:include => [:author, :course], scope_order = scope.all(:include => [:author, :course],
:order => "#{News.table_name}.created_on DESC") :order => "#{News.table_name}.created_on DESC")

@ -670,18 +670,25 @@ class CoursesService
membership.each do |mp| membership.each do |mp|
course = mp.course course = mp.course
latest_course_dynamics = [] latest_course_dynamics = []
notices_count = 0
topic_count = 0
topics = nil
homeworkss = nil
notices = nil
# 课程通知 # 课程通知
latest_news = course.news.page(1).per(2).order("created_on desc") latest_news = course.news.page(1).per(2).order("created_on desc")
unless latest_news.first.nil? unless latest_news.first.nil?
latest_course_dynamics << {:type => 1, :time => latest_news.first.created_on,:count=>course.news.count, notices_count = course.news.count
:news => latest_news.all} notices = latest_news.all
latest_course_dynamics << {:time => latest_news.first.created_on }
end end
# 课程讨论区 # 课程讨论区
latest_message = course.boards.first.topics.page(1).per(2) latest_message = course.boards.first.topics.page(1).per(2)
unless latest_message.first.nil? unless latest_message.first.nil?
latest_course_dynamics << {:type => 2, :time => latest_message.first.created_on, :count =>course.boards.nil? ? 0 : course.boards.first.topics.count, topic_count = course.boards.nil? ? 0 : course.boards.first.topics.count
:topics => latest_message.all} topics = latest_message.all
latest_course_dynamics << {:time => latest_message.first.created_on}
end end
# 课程资源 # 课程资源
# latest_attachment = course.attachments.order("created_on desc").page(1).per(2) # latest_attachment = course.attachments.order("created_on desc").page(1).per(2)
@ -693,7 +700,8 @@ class CoursesService
#课程作业 已经交的学生列表暂定显示6人未交的学生列表作业的状态 #课程作业 已经交的学生列表暂定显示6人未交的学生列表作业的状态
homeworks = course.homework_commons.page(1).per(2).order('created_at desc') homeworks = course.homework_commons.page(1).per(2).order('created_at desc')
unless homeworks.first.nil? unless homeworks.first.nil?
latest_course_dynamics << {:type => 4, :time => homeworks.first.updated_at, :count=>course.homework_commons.count , :homeworks => homeworks} homeworkss = homeworks
latest_course_dynamics << {:time => homeworks.first.updated_at}
end end
latest_course_dynamics.sort! { |order, newer| newer[:time] <=> order[:time] } latest_course_dynamics.sort! { |order, newer| newer[:time] <=> order[:time] }
# 课程学霸 学生总分数排名靠前的5个人 # 课程学霸 学生总分数排名靠前的5个人
@ -713,10 +721,10 @@ class CoursesService
active_students = User.find_by_sql(sql1) active_students = User.find_by_sql(sql1)
if homework_count != 0 && !better_students.empty? if homework_count != 0 && !better_students.empty?
latest_course_dynamics <<{:type=> 6,:time=>"1970-01-01 0:0:0 +0800",:count=> 4,:better_students=> better_students} latest_course_dynamics <<{:time=>"1970-01-01 0:0:0 +0800"}
end end
unless active_students.empty? unless active_students.empty?
latest_course_dynamics <<{:type=> 7,:time=>"1970-01-01 0:0:0 +0800",:count=> 4,:active_students=>active_students} latest_course_dynamics <<{:time=>"1970-01-01 0:0:0 +0800"}
end end
latest_course_dynamic = latest_course_dynamics.first latest_course_dynamic = latest_course_dynamics.first
unless latest_course_dynamic.nil? unless latest_course_dynamic.nil?
@ -727,8 +735,15 @@ class CoursesService
:course_img_url => url_to_avatar(course), :course_img_url => url_to_avatar(course),
:course_time => course.time, :course_time => course.time,
:course_term => course.term, :course_term => course.term,
:news_count => notices_count,
:homework_count => homework_count,
:topic_count => topic_count,
:news => notices,
:homeworks => homeworkss,
:topics => topics,
:better_students => better_students,
:active_students => active_students,
:message => "", :message => "",
:dynamics => latest_course_dynamics,
:course_student_num=>course ? course.members.count : 0, :course_student_num=>course ? course.members.count : 0,
#:time_from_now=> distance_of_time_in_words(Time.now, latest_course_dynamic[:time].to_time) << "前", #:time_from_now=> distance_of_time_in_words(Time.now, latest_course_dynamic[:time].to_time) << "前",
:time_from_now=>time_from_now(latest_course_dynamic[:time].to_time), #.strftime('%Y-%m-%d %H:%M:%S').to_s, :time_from_now=>time_from_now(latest_course_dynamic[:time].to_time), #.strftime('%Y-%m-%d %H:%M:%S').to_s,

@ -540,6 +540,7 @@
$('#my_account_form_btn').click(); $('#my_account_form_btn').click();
}); });
$('#my_password_form_link').click(function(){ $('#my_password_form_link').click(function(){
alert("密码修改成功,请重新登录!");
$('#my_password_form_btn').click(); $('#my_password_form_btn').click();
}); });
}); });

@ -24,8 +24,8 @@
<% end %> <% end %>
</div> </div>
<div class="problem_search fr" > <div class="problem_search fr" >
<%= form_tag({:controller => 'news', :action => 'index', :course_id => @course },:remote=>'true', :method => :get,:id=>"news_query_form", :class => 'query_form') do %> <%= form_tag({:controller => 'news', :action => 'index', :course_id => @course }, :method => :get,:id=>"news_query_form", :class => 'query_form') do %>
<input class="problem_search_input fl" id="v_subject" placeholder="通知主题" type="text" name="subject" value="" onkeypress="" onkeydown=""> <input class="problem_search_input fl" id="v_subject" placeholder="通知主题" type="text" name="subject" value="<%= @q%>" onkeypress="" onkeydown="">
<a href="javascript:void(0)" class="problem_search_btn fl" onclick="remote_search();" >搜索</a> <a href="javascript:void(0)" class="problem_search_btn fl" onclick="remote_search();" >搜索</a>
<% end %> <% end %>
</div><!--problem_search end--> </div><!--problem_search end-->
@ -34,7 +34,7 @@
<div id="news_list"> <div id="news_list">
<%= render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count} %> <%= render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count} %>
<div> </div>
<% content_for :header_tags do %> <% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %> <%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %>
<%= stylesheet_link_tag 'scm' %> <%= stylesheet_link_tag 'scm' %>

@ -59,14 +59,6 @@
<div class="cl"></div> <div class="cl"></div>
</li> </li>
<li ><span class="tit_fb ">测试结果:</span>
<table class="border_ce" cellpadding="0" cellspacing="0">
<tbody>
</tbody>
</table>
<div class="cl"></div>
</li>
<% if @is_teacher%> <% if @is_teacher%>
<!-- 编程作业老师才可以评分 --> <!-- 编程作业老师才可以评分 -->
<div id="add_student_score_<%= @work.id%>" class="mt10 evaluation"> <div id="add_student_score_<%= @work.id%>" class="mt10 evaluation">

@ -55,21 +55,23 @@
<% end%> <% end%>
<% if @is_teacher%> <% if @is_teacher%>
<div class="fr"> <div class="fr">
<% if @homework.student_works.empty?%> <% unless @homework.homework_type == 2%>
<%= link_to "附件", "javascript:void(0)", class: "down_btn fr zip_download_alert", :onclick => "alert('没有学生提交作业,无法下载附件')" %> <% if @homework.student_works.empty?%>
<% else%> <%= link_to "附件", "javascript:void(0)", class: "down_btn fr zip_download_alert", :onclick => "alert('没有学生提交作业,无法下载附件')" %>
<%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json), <% else%>
remote: true, class: "down_btn fr zip_download_alert", :id => "download_homework_attachments" %> <%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json),
remote: true, class: "down_btn fr zip_download_alert", :id => "download_homework_attachments" %>
<% end%>
<div class="info_ni_download" style="<%= @homework.homework_type == 1 ? '' : 'margin-left: 130px;'%>">
使用
<span class="c_red">winzip</span>
工具进行解压可能会导致
<span class="c_red">下载文件乱码</span>
,建议您使用
<span class="c_red">winrar</span>
工具进行解压
</div>
<% end%> <% end%>
<div class="info_ni_download" style="<%= @homework.homework_type == 1 ? '' : 'margin-left: 130px;'%>">
使用
<span class="c_red">winzip</span>
工具进行解压可能会导致
<span class="c_red">下载文件乱码</span>
,建议您使用
<span class="c_red">winrar</span>
工具进行解压
</div>
<%= link_to("匿评", evaluation_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%> <%= link_to("匿评", evaluation_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%>
<%= link_to("缺评", absence_penalty_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%> <%= link_to("缺评", absence_penalty_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%>
<%= link_to l(:label_list), student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :format => 'xls'),:class=>'down_btn fr'%> <%= link_to l(:label_list), student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :format => 'xls'),:class=>'down_btn fr'%>

@ -5104,8 +5104,8 @@ KEditor.prototype = {
} }
} }
}); });
statusbar.removeClass('statusbar').addClass('ke-statusbar') //statusbar.removeClass('statusbar').addClass('ke-statusbar')
.append('<span class="ke-inline-block ke-statusbar-center-icon"></span>'); // .append('<span class="ke-inline-block ke-statusbar-center-icon"></span>');
if (self._fullscreenResizeHandler) { if (self._fullscreenResizeHandler) {
K(window).unbind('resize', self._fullscreenResizeHandler); K(window).unbind('resize', self._fullscreenResizeHandler);
self._fullscreenResizeHandler = null; self._fullscreenResizeHandler = null;

Loading…
Cancel
Save