diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 301417781..5908ef866 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -17,7 +17,7 @@ module Mobile authenticate! cs = CoursesService.new courses = cs.user_courses_list(current_user) - present :data, courses, with: Mobile::Entities::Course + present :data, courses, with: Mobile::Entities::Course,user: current_user present :status, 0 end @@ -56,7 +56,7 @@ module Mobile class_period: params[:class_period] } courses = cs.create_course(cs_params, current_user) - present :data, courses, with: Mobile::Entities::Course + present :data, courses, with: Mobile::Entities::Course,user: current_user present :status, 0 end @@ -90,7 +90,7 @@ module Mobile end cs.edit_course_authorize(current_user,course) course = cs.edit_course(cs_params, course,current_user) - present :data, course, with: Mobile::Entities::Course + present :data, course, with: Mobile::Entities::Course,user: current_user present :status, 0 end post do @@ -138,7 +138,7 @@ module Mobile get 'search' do cs = CoursesService.new courses = cs.search_course(params,current_user.nil? ? User.find(2):current_user) - present :data, courses, with: Mobile::Entities::Course + present :data, courses, with: Mobile::Entities::Course,user: current_user present :status, 0 end @@ -201,7 +201,7 @@ module Mobile cs = CoursesService.new course = cs.show_course(params,(current_user.nil? ? User.find(2):current_user)) #course = Course.find(params[:id]) - present :data, course, with: Mobile::Entities::Course + present :data, course, with: Mobile::Entities::Course,user: current_user { status: 0} end end @@ -391,7 +391,12 @@ module Mobile end get ':course_id/exercises' do authenticate! - exercises = Course.find(params[:course_id]).exercises + + course = Course.find(params[:course_id]) + exercises = course.exercises + exercises.each do |v| + v[:coursename] = course.nil? ? "未知" : course.name + end present :data,exercises,with:Mobile::Entities::Exercise present :status,0 end diff --git a/app/api/mobile/apis/resources.rb b/app/api/mobile/apis/resources.rb index 6dfe8e599..16531940f 100644 --- a/app/api/mobile/apis/resources.rb +++ b/app/api/mobile/apis/resources.rb @@ -11,8 +11,10 @@ module Mobile end get do authenticate! - data = current_user.course_attachments - present :data, data, with: Mobile::Entities::Attachment + rs = ResourcesService.new + # data = current_user.course_attachments + data = rs.all_course_attachments current_user + present :data, data, with: Mobile::Entities::Attachment,user: current_user present :status, 0 end @@ -26,9 +28,10 @@ module Mobile get 'homeworks' do authenticate! - homeworks = current_user.homework_commons + rs = ResourcesService.new + homeworks = rs.all_homework_commons current_user - present :data, homeworks, with: Mobile::Entities::Homework + present :data, homeworks, with: Mobile::Entities::Homework,user: current_user present :status, 0 end @@ -40,8 +43,9 @@ module Mobile get 'exercies' do authenticate! - exercises = current_user.exercises - present :data, exercises, with: Mobile::Entities::Exercise + rs = ResourcesService.new + exercises = rs.all_exercises current_user + present :data, exercises, with: Mobile::Entities::Exercise,user: current_user present :status, 0 end diff --git a/app/api/mobile/apis/syllabuses.rb b/app/api/mobile/apis/syllabuses.rb index 57db4cb9e..8538fae99 100644 --- a/app/api/mobile/apis/syllabuses.rb +++ b/app/api/mobile/apis/syllabuses.rb @@ -14,7 +14,7 @@ module Mobile cs = SyllabusesService.new courses = cs.user_syllabus(current_user) - present :data, courses, with: Mobile::Entities::Syllabus + present :data, courses, with: Mobile::Entities::Syllabus,user: current_user present :status, 0 end @@ -29,9 +29,8 @@ module Mobile sy = ::Syllabus.find(params[:id]) sy.courses = sy.courses.not_deleted - sy = ss.judge_can_setting(sy,current_user) - present :data, sy, with: Mobile::Entities::Syllabus + present :data, sy, with: Mobile::Entities::Syllabus,user: current_user present :status, 0 end @@ -68,7 +67,7 @@ module Mobile if sy.new_record? {status:-1, message: '创建大纲失败' } else - present :data, sy, with: Mobile::Entities::Syllabus + present :data, sy, with: Mobile::Entities::Syllabus,user: current_user present :status, 0 end diff --git a/app/api/mobile/apis/users.rb b/app/api/mobile/apis/users.rb index a6536e73e..e2ea8d35b 100644 --- a/app/api/mobile/apis/users.rb +++ b/app/api/mobile/apis/users.rb @@ -41,8 +41,8 @@ module Mobile openid: openid, user: user ) - # ws = WechatService.new - # ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台", user.login, format_time(Time.now)) + ws = WechatService.new + ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台", user.login, Time.now.strftime("%Y-%m-%d")) present status: 0, message: '您已成功绑定Trustie平台' end diff --git a/app/api/mobile/entities/attachment.rb b/app/api/mobile/entities/attachment.rb index bb67b6d28..49cb6bd2b 100644 --- a/app/api/mobile/entities/attachment.rb +++ b/app/api/mobile/entities/attachment.rb @@ -2,6 +2,7 @@ module Mobile module Entities class Attachment < Grape::Entity include Redmine::I18n + include ActionView::Helpers::NumberHelper def self.attachment_expose(field) expose field do |f,opt| if f.is_a?(Hash) && f.key?(field) @@ -17,6 +18,10 @@ module Mobile case field when :file_dir "attachments/download/" << f.send(:id).to_s << '/' + when :attafile_size + (number_to_human_size(f.filesize)).gsub("ytes", "").to_s + when :coursename + f.course.nil? ? "" : f.course.name end end end @@ -29,6 +34,8 @@ module Mobile attachment_expose :quotes attachment_expose :created_on attachment_expose :file_dir + attachment_expose :attafile_size + attachment_expose :coursename #所属班级名 end end end \ No newline at end of file diff --git a/app/api/mobile/entities/course.rb b/app/api/mobile/entities/course.rb index d44869a60..88c8ba144 100644 --- a/app/api/mobile/entities/course.rb +++ b/app/api/mobile/entities/course.rb @@ -2,6 +2,8 @@ module Mobile module Entities class Course < Grape::Entity include Redmine::I18n + include ApplicationHelper + include ApiHelper def self.course_expose(field) expose field do |f,opt| c = nil @@ -52,7 +54,28 @@ module Mobile course_expose :updated_at course_expose :course_student_num course_expose :member_count - course_expose :can_setting + expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options| + current_user = options[:user] + can_setting = false + + if instance[:course] + course = instance[:course] + else + course = instance + end + + member = course.members.where("user_id=#{current_user.id} and course_id=#{course.id}")[0] + roleName = member.roles[0].name if member + + if roleName && (roleName == "TeachingAsistant" || roleName == "Teacher" ) + can_setting = true + end + + if course.tea_id == current_user.id + can_setting = true + end + can_setting + end expose :teacher, using: Mobile::Entities::User do |c, opt| if c.is_a? ::Course c.teacher diff --git a/app/api/mobile/entities/exercise.rb b/app/api/mobile/entities/exercise.rb index 3218264fb..05066f8a4 100644 --- a/app/api/mobile/entities/exercise.rb +++ b/app/api/mobile/entities/exercise.rb @@ -1,8 +1,32 @@ module Mobile module Entities class Exercise < Grape::Entity + include Redmine::I18n + include ApplicationHelper + include ApiHelper + def self.exercise_expose(field) + expose field do |f,opt| + if f.is_a?(Hash) && f.key?(field) + if field == :created_on + format_time(f[field]) + else + f[field] + end + elsif f.is_a?(::Exercise) + if f.respond_to?(field) + f.send(field) + else + case field + when :coursename + f.course.nil? ? "" : f.course.name + end + end + end + end + end expose :exercise_name expose :exercise_description + exercise_expose :coursename #所属班级名 end end end diff --git a/app/api/mobile/entities/homework.rb b/app/api/mobile/entities/homework.rb index db3e44119..3f1631c96 100644 --- a/app/api/mobile/entities/homework.rb +++ b/app/api/mobile/entities/homework.rb @@ -37,6 +37,8 @@ module Mobile when :homework_anony_type val = f.homework_type == 1 && !f.homework_detail_manual.nil? val + when :coursename + f.course.nil? ? "" : f.course.name end end end @@ -94,6 +96,8 @@ module Mobile homework_expose :homework_anony_type #是否是匿评作业 + homework_expose :coursename #所属班级名 + end end end \ No newline at end of file diff --git a/app/api/mobile/entities/syllabus.rb b/app/api/mobile/entities/syllabus.rb index 4f97dd868..e4dd2e07a 100644 --- a/app/api/mobile/entities/syllabus.rb +++ b/app/api/mobile/entities/syllabus.rb @@ -1,12 +1,14 @@ module Mobile module Entities class Syllabus < Grape::Entity - include ApplicationHelper - expose :title expose :id - expose :can_setting - + expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options| + current_user = options[:user] + can_setting = instance.user_id == current_user.id ? true : false + can_setting = false if instance.id.nil? + can_setting + end expose :courses, using: Mobile::Entities::Course end end diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 52e1f5fd0..6c62c642a 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -82,7 +82,7 @@ class AdminController < ApplicationController syllabus.update_attributes(:title => params[:title], :eng_name => params[:eng_name], :user_id => @user.id) syllabus.description = Message.where("id = 19412").first.nil? ? nil : Message.where("id = 19412").first.content if syllabus.save - course.update_attribute('syllabus_id', syllabus.id) + course.update_column('syllabus_id', syllabus.id) @flag = params[:flag].to_i @course = course respond_to do |format| @@ -96,7 +96,7 @@ class AdminController < ApplicationController def courses @name = params[:name].to_s.strip.downcase if @name && @name != "" - @courses = Course.select{ |course| (course.teacher[:lastname].to_s.downcase + course.teacher[:firstname].to_s.downcase).include?(@name) || course.name.include?(@name)} + @courses = Course.select{ |course| course.teacher && ((course.teacher.show_name).include?(@name) || course.name.include?(@name))} @courses = @courses.sort{|x, y| y.created_at <=> x.created_at} else @courses = Course.order('created_at desc') @@ -135,6 +135,17 @@ class AdminController < ApplicationController end end + #修改课程名称 + def update_syllabus_title + @syllabus = Syllabus.where("id = #{params[:syllabus_id].to_i}").first + unless @syllabus.nil? + @syllabus.update_column("title", params[:name]) + respond_to do |format| + format.js + end + end + end + #管理员界面精品课程列表 def excellent_courses @courses = Course.where("is_excellent =? or excellent_option =?", 1, 1 ) diff --git a/app/controllers/at_controller.rb b/app/controllers/at_controller.rb index 5b29565ad..69c33f90e 100644 --- a/app/controllers/at_controller.rb +++ b/app/controllers/at_controller.rb @@ -47,6 +47,8 @@ class AtController < ApplicationController find_journals_for_message(id) when 'Principal' find_principal(id) + when 'BlogComment' + find_blog_comment(id) when 'All' nil else @@ -166,8 +168,8 @@ class AtController < ApplicationController #BlogComment def find_blog_comment(id) - blog = BlogComment.find(id).blog - blog.users + blog = BlogComment.find(id) + blog.author.watcher_users end end \ No newline at end of file diff --git a/app/controllers/blog_comments_controller.rb b/app/controllers/blog_comments_controller.rb index 4a8de5814..dcab1b360 100644 --- a/app/controllers/blog_comments_controller.rb +++ b/app/controllers/blog_comments_controller.rb @@ -70,6 +70,10 @@ class BlogCommentsController < ApplicationController @course.outline = 0 @course.save redirect_to course_path(:id=>params[:course_id]) + elsif params[:user_activity_id] + @article.children.destroy + @article.destroy + redirect_to user_path(User.current.id) else @article.children.destroy @article.destroy @@ -80,6 +84,17 @@ class BlogCommentsController < ApplicationController if params[:course_id] #如果带了course_id过来了,那么这是要跳到课程大纲去的 @article.destroy redirect_to syllabus_course_path(:id=>params[:course_id]) + elsif params[:user_activity_id] + if params[:homepage] && params[:homepage] == "1" + @in_user_homepage = true + end + @user_activity_id = params[:user_activity_id] + @blog_comment = @article.root + @article.destroy + respond_to do |format| + format.js + return + end else root = @article.root @article.destroy @@ -102,13 +117,9 @@ class BlogCommentsController < ApplicationController def quote @blogComment = BlogComment.find(params[:id]) - @subject = @blogComment.title - @subject = "RE: #{@subject}" unless @subject.starts_with?('RE:') - @content = "> #{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)}\n> " @temp = BlogComment.new @course_id = params[:course_id] - @temp.content = "
#{ll(Setting.default_language, :text_user_wrote, @blogComment.author.realname)}
#{@blogComment.content.html_safe}
".html_safe respond_to do | format| format.js end @@ -116,23 +127,30 @@ class BlogCommentsController < ApplicationController #回复 def reply - if params[:homepage] + if params[:homepage] && params[:homepage] == "1" @in_user_homepage = true end if params[:in_user_center] @in_user_center = true end @article = BlogComment.find(params[:id]).root - @quote = params[:quote][:quote] @blogComment = BlogComment.new @blogComment.author = User.current @blogComment.blog = Blog.find(params[:blog_id]) params[:blog_comment][:sticky] = params[:blog_comment][:sticky] || 0 params[:blog_comment][:locked] = params[:blog_comment][:locked] || 0 @blogComment.safe_attributes = params[:blog_comment] - @blogComment.content = @quote + @blogComment.content @blogComment.title = "RE: #{@article.title}" unless params[:blog_comment][:title] - @article.children << @blogComment + if params[:parent_id] + @blogComment.content = params[:blog_comment][:content] + parent = BlogComment.find params[:parent_id] + @blogComment.reply_id = params[:reply_id] + parent.children << @blogComment + else + @quote = params[:quote][:quote] || "" + @blogComment.content = @quote + @blogComment.content + @article.children << @blogComment + end @article.save # @article.update_attribute(:updated_on, @blogComment.updated_on) @user_activity_id = params[:user_activity_id] diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index a9d84c2d9..665273ae0 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -633,6 +633,9 @@ class CoursesController < ApplicationController =end end if @course + #发送微信消息 + ss = SyllabusesService.new + ss.send_wechat_create_class_notice User.current,@course respond_to do |format| flash[:notice] = l(:notice_successful_create) format.html {redirect_to course_url(@course)} @@ -968,7 +971,7 @@ class CoursesController < ApplicationController @homework = HomeworkCommon.find params[:homework] #order("#{@order} #{@b_sort}" - @student_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,IF(final_score = 0, 0, final_score - absence_penalty - late_penalty)) as score").order("simi_value desc"),@name + @student_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,IF(final_score = 0, 0, final_score - absence_penalty - late_penalty)) as score").order("simi_value desc").has_committed,@name @works_hash = {} diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index 264c1fc9f..924be596e 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -123,10 +123,14 @@ class OrgDocumentCommentsController < ApplicationController def destroy @org_document_comment = OrgDocumentComment.find(params[:id]) @org_sub_id = @org_document_comment.org_subfield_id - org = @org_document_comment.organization + org = @org_document_comment.root.organization if @org_document_comment.id == org.home_id org.update_attributes(:home_id => nil) end + if params[:user_activity_id] + @act = OrgActivity.find(params[:user_activity_id]) + @document = @org_document_comment.root + end if @org_document_comment.destroy end respond_to do |format| @@ -145,48 +149,26 @@ class OrgDocumentCommentsController < ApplicationController end def quote @org_comment = OrgDocumentComment.find(params[:id]) - @subject = @org_comment.content - @subject = "RE: #{@subject}" unless @subject.starts_with?('RE:') - - @content = "> #{ll(Setting.default_language, :text_user_wrote, User.find(@org_comment.creator_id).realname)}\n> " @temp = OrgDocumentComment.new - #@course_id = params[:course_id] - @temp.content = "
#{ll(Setting.default_language, :text_user_wrote, User.find(@org_comment.creator_id).realname)}
#{@org_comment.content.html_safe}
".html_safe respond_to do | format| format.js end end def reply - @document = OrgDocumentComment.find(params[:id]).root - @quote = params[:quote][:quote] + @document = OrgDocumentComment.find(params[:id]) @org_document = OrgDocumentComment.new(:creator_id => User.current.id, :reply_id => params[:id]) - # params[:blog_comment][:sticky] = params[:blog_comment][:sticky] || 0 - # params[:blog_comment][:locked] = params[:blog_comment][:locked] || 0 @org_document.title = params[:org_document_comment][:title] @org_document.content = params[:org_document_comment][:content] - @org_document.content = @quote + @org_document.content - #@org_document.title = "RE: #{@article.title}" unless params[:blog_comment][:title] + @document.children << @org_document - # @user_activity_id = params[:user_activity_id] - # user_activity = UserActivity.where("act_type='BlogComment' and act_id =#{@article.id}").first - # if user_activity - # user_activity.updated_at = Time.now - # user_activity.save - # end - # attachments = Attachment.attach_files(@org_document, params[:attachments]) - # render_attachment_warning_if_needed(@org_document) - #@article.save - # redirect_to user_blogs_path(:user_id=>params[:user_id]) + @document = @document.root + @user_activity_id = params[:user_activity_id] + @act = OrgActivity.find(@user_activity_id) if @user_activity_id respond_to do |format| format.html { - # if params[:course_id] #如果呆了course_id过来了,那么这是要跳到课程大纲去的 - # redirect_to syllabus_course_path(:id=>params[:course_id]) - # else redirect_to org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id) - # end - } format.js end diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index bc1b97a2f..45b54cf0a 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -271,7 +271,7 @@ class StudentWorkController < ApplicationController all_studentwork = find_all_student_work_by_homeid() - @work_count = all_studentwork.count + @work_count = all_studentwork.has_committed.count end #代码查重 status: 0完成 -2不需要查重 -1查重失败不支持该语言 @@ -282,7 +282,7 @@ class StudentWorkController < ApplicationController @homework = HomeworkCommon.find params[:homework] - all_studentwork = find_all_student_work_by_homeid() + all_studentwork = find_all_student_work_by_homeid().has_committed if all_studentwork == nil resultObj[:status] = -2 diff --git a/app/controllers/syllabuses_controller.rb b/app/controllers/syllabuses_controller.rb index 8d7195f38..291e6ca30 100644 --- a/app/controllers/syllabuses_controller.rb +++ b/app/controllers/syllabuses_controller.rb @@ -109,7 +109,11 @@ class SyllabusesController < ApplicationController sort_name = "updated_on" sort_type = @c_sort == 1 ? "asc" : "desc" - @courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}") + if User.current == @syllabus.user || User.current.admin? + @courses = @syllabus.courses.where("is_delete = 0").select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}") + else + @courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}") + end #根据 作业+资源数排序 if @order.to_i == 2 diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 15ddf0435..5a88e90d3 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -92,6 +92,8 @@ class UsersController < ApplicationController @comment = JournalsForMessage.find params[:comment].to_i when 'Message' @comment = Message.find params[:comment].to_i + when 'BlogComment' + @comment = BlogComment.find params[:comment].to_i end end @@ -120,6 +122,17 @@ class UsersController < ApplicationController @is_course = params[:is_course] @is_board = params[:is_board] @type = 'Message' + when 'BlogComment' + @reply = BlogComment.find params[:reply_id] + @user_activity_id = params[:user_activity_id] + @activity_id = params[:activity_id] + @homepage = params[:homepage] + @type = 'BlogComment' + when 'OrgDocumentComment' + @reply = OrgDocumentComment.find params[:reply_id] + @user_activity_id = params[:user_activity_id] + @activity_id = params[:activity_id] + @type = 'OrgDocumentComment' end respond_to do |format| format.js @@ -556,12 +569,12 @@ class UsersController < ApplicationController @order,@b_sort = params[:order] || "created_at",params[:sort] || "desc" @user = User.current @r_sort = @b_sort == "desc" ? "asc" : "desc" - if(params[:type].blank? || params[:type] == "1") #题库 + if(params[:type].blank? || params[:type] == "1") #我的题库 + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") + elsif params[:type] == "2" #题库 visible_course = Course.where("is_delete = 0") visible_course_ids = visible_course.empty? ? "(-1)" : "(" + visible_course.map{|course| course.id}.join(",") + ")" @homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") - elsif params[:type] == "2" #我的题库 - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") end @type = params[:type] @limit = 25 @@ -715,7 +728,11 @@ class UsersController < ApplicationController @order,@b_sort = params[:order] || "created_at",params[:sort] || "desc" @r_sort = @b_sort == "desc" ? "asc" : "desc" @user = User.current - if(params[:type].blank? || params[:type] == "1") #题库 + if(params[:type].blank? || params[:type] == "1") #我的题库 + courses = @user.courses.where("is_delete = 1") + course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}' and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") + elsif params[:type] == "2" #题库 if params[:is_import].to_i == 1 visible_course = Course.where("is_public = 1 && is_delete = 0") elsif params[:is_import].to_i == 0 @@ -723,10 +740,6 @@ class UsersController < ApplicationController end visible_course_ids = visible_course.empty? ? "(-1)" : "(" + visible_course.map{|course| course.id}.join(",") + ")" @homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") - elsif params[:type] == "2" #我的题库 - courses = @user.courses.where("is_delete = 1") - course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}' and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") elsif params[:type] == "3" #申请题库 none_visible_course = Course.where("is_delete = 1") none_visible_course_ids = none_visible_course.empty? ? "(-1)" : "(" + none_visible_course.map{|course| course.id}.join(",") + ")" @@ -793,7 +806,18 @@ class UsersController < ApplicationController @user = User.current search = params[:name].to_s.strip.downcase type_ids = params[:property]=="" || params[:property].nil? ? "(1, 2, 3)" : "(" + params[:property] + ")" - if(params[:type].blank? || params[:type] == "1") #全部 + if(params[:type].blank? || params[:type] == "1") #我的题库 + courses = @user.courses.where("is_delete = 1") + course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" + if @order == "course_name" + sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN courses ON homework_commons.course_id = courses.id where homework_commons.course_id not in #{course_ids} and homework_commons.user_id = #{@user.id} and homework_type in #{type_ids} and publish_time <= '#{Date.today}' and (homework_commons.name like '%#{search}%') order by CONVERT (courses.name USING gbk) COLLATE gbk_chinese_ci #{@b_sort}" + @homeworks = HomeworkCommon.find_by_sql(sql) + elsif @order == "user_name" + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").joins(:user).order("CONVERT (lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, CONVERT (firstname USING gbk) COLLATE gbk_chinese_ci #{@b_sort},login #{@b_sort}") + else + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").order("#{@order} #{@b_sort}") + end + elsif params[:type] == "2" #题库 if params[:is_import].to_i == 1 visible_course = Course.where("is_public = 1 && is_delete = 0") elsif params[:is_import].to_i == 0 @@ -812,17 +836,6 @@ class UsersController < ApplicationController else @homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}' and homework_type in #{type_ids} and (name like '%#{search}%' or user_id in #{user_ids})").order("#{@order} #{@b_sort}") end - elsif params[:type] == "2" #我的题库 - courses = @user.courses.where("is_delete = 1") - course_ids = courses.empty? ? "(-1)" : "(" + courses.map{|course| course.id}.join(",") + ")" - if @order == "course_name" - sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN courses ON homework_commons.course_id = courses.id where homework_commons.course_id not in #{course_ids} and homework_commons.user_id = #{@user.id} and homework_type in #{type_ids} and publish_time <= '#{Date.today}' and (homework_commons.name like '%#{search}%') order by CONVERT (courses.name USING gbk) COLLATE gbk_chinese_ci #{@b_sort}" - @homeworks = HomeworkCommon.find_by_sql(sql) - elsif @order == "user_name" - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").joins(:user).order("CONVERT (lastname USING gbk) COLLATE gbk_chinese_ci #{@b_sort}, CONVERT (firstname USING gbk) COLLATE gbk_chinese_ci #{@b_sort},login #{@b_sort}") - else - @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%') and homework_type in #{type_ids}").order("#{@order} #{@b_sort}") - end elsif params[:type] == "3" #申请题库 apply_homeworks = ApplyHomework.where("user_id = ?",@user.id) homework_ids = apply_homeworks.empty? ? "(-1)" : "(" + apply_homeworks.map{|ah| ah.homework_common_id}.join(",") + ")" @@ -1410,8 +1423,13 @@ class UsersController < ApplicationController @all_count = @user.courses.visible.where("is_delete =?", 0).count elsif @type == 'Syllabus' @syllabus = Syllabus.where("id = #{params[:syllabus]}").first - @courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5).offset(@page * 5) - @all_count = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).count + if User.current == @syllabus.user || User.current.admin? + all_courses = @syllabus.courses.where("is_delete = 0").select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc") + else + all_courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc") + end + @courses = all_courses.limit(5).offset(@page * 5) + @all_count = all_courses.count end end @@ -3279,7 +3297,10 @@ class UsersController < ApplicationController case params[:type] when 'OrgDocumentComment' obj = OrgDocumentComment.where('id = ?', params[:id].to_i).first - @journals = obj.children.reorder("created_at desc") + @user_activity_id = params[:div_id].to_i if params[:div_id] + @type = 'OrgDocumentComment' + comments = [] + @journals = get_all_children(comments, obj) when 'Message' obj = Message.where('id = ?', params[:id].to_i).first @type = 'Message' @@ -3306,7 +3327,11 @@ class UsersController < ApplicationController @journals = obj.journals.reorder("created_on desc") when 'BlogComment' obj = BlogComment.where('id = ?', params[:id].to_i).first - @journals = obj.children.reorder("created_on desc") + @user_activity_id = params[:div_id].to_i if params[:div_id] + @homepage = params[:homepage].to_i + @type = 'BlogComment' + comments = [] + @journals = get_all_children(comments, obj) when 'HomeworkCommon' obj = HomeworkCommon.where('id = ?', params[:id].to_i).first @journals = obj.journals_for_messages.reorder("created_on desc") diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb index f49398ff7..5f1e54b8a 100644 --- a/app/controllers/wechats_controller.rb +++ b/app/controllers/wechats_controller.rb @@ -69,11 +69,21 @@ class WechatsController < ActionController::Base end on :click, with: 'DEV' do |request, key| - request.reply.text "此功能正在开发中,很快就会上线,谢谢!" + uw = user_binded?(request[:FromUserName]) + unless uw + sendBind(request) + else + request.reply.text "此功能正在开发中,很快就会上线,谢谢!" + end end # When user view URL in the menu button on :view, with: 'http://wechat.somewhere.com/view_url' do |request, view| - request.reply.text "#{request[:FromUserName]} view #{view}" + uw = user_binded?(request[:FromUserName]) + unless uw + sendBind(request) + else + request.reply.text "#{request[:FromUserName]} view #{view}" + end end # When user sent the imsage @@ -139,8 +149,8 @@ class WechatsController < ActionController::Base on :click, with: 'JOIN_CLASS' do |request, key| uw = user_binded?(request[:FromUserName]) - unless uw - sendBind(request) + unless uw + sendBind(request) else request.reply.text "请直接回复5位班级邀请码\n(不区分大小写):" end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index add8a9552..efce039aa 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -3143,13 +3143,18 @@ end #获取所有子节点 def get_all_children result, jour - if (jour.kind_of? JournalsForMessage) || (jour.kind_of? Message) + if (jour.kind_of? JournalsForMessage) || (jour.kind_of? Message) || (jour.kind_of? BlogComment) || (jour.kind_of? OrgDocumentComment) jour.children.each do |jour_child| result << jour_child get_all_children result, jour_child end end - result.sort! { |a,b| b.created_on <=> a.created_on } + if jour.respond_to?(:created_on) + result.sort! { |a,b| b.created_on <=> a.created_on } + elsif jour.respond_to?(:created_at) + result.sort! { |a,b| b.created_at <=> a.created_at } + end + result end #将有置顶属性的提到数组前面 @@ -3298,6 +3303,14 @@ def strip_html(text,len=0,endss="...") return ss end +def message_content content + content = (strip_html content).strip + if content.gsub(" ", "") == "" + content = "[非文本消息]" + end + content +end + def get_hw_index(hw,is_teacher) if is_teacher homeworks = hw.course.homework_commons.order("created_at asc") diff --git a/app/models/user.rb b/app/models/user.rb index daf1237cf..996aa9be7 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1148,17 +1148,17 @@ class User < Principal #为新注册用户发送留言 def add_new_jour - if Message.where("id=19278").any? and Message.where("id=19291").any? and Message.where("id=19292").any? - lead_message1 = Message.find(19278) + if Message.where("id=19504").any? and Message.where("id=19291").any? and Message.where("id=19292").any? + lead_message1 = Message.find(19292) notes1 = lead_message1.content - # lead_message2 = Message.find(19292) - # notes2 = lead_message2.content - # lead_message3 = Message.find(19291) - # notes3 = lead_message3.content - # # user_id 默认为课程使者创建 + lead_message2 = Message.find(19291) + notes2 = lead_message2.content + lead_message3 = Message.find(19504) + notes3 = lead_message3.content + #user_id 默认为课程使者创建 self.journals_for_messages << JournalsForMessage.new(:user_id => 1, :notes => notes1, :reply_id => 0, :status => true, :is_readed => false, :private => 0) - # self.journals_for_messages << JournalsForMessage.new(:user_id => 1, :notes => notes2, :reply_id => 0, :status => true, :is_readed => false, :private => 0) - # self.journals_for_messages << JournalsForMessage.new(:user_id => 1, :notes => notes3, :reply_id => 0, :status => true, :is_readed => false, :private => 0) + self.journals_for_messages << JournalsForMessage.new(:user_id => 1, :notes => notes2, :reply_id => 0, :status => true, :is_readed => false, :private => 0) + self.journals_for_messages << JournalsForMessage.new(:user_id => 1, :notes => notes3, :reply_id => 0, :status => true, :is_readed => false, :private => 0) end end diff --git a/app/services/resources_service.rb b/app/services/resources_service.rb index a0fec585a..bc97437e4 100644 --- a/app/services/resources_service.rb +++ b/app/services/resources_service.rb @@ -1,7 +1,6 @@ #coding=utf-8 class ResourcesService - #发送资源到课程 def send_resource_to_course user,params send_id = params[:send_id] @@ -50,4 +49,56 @@ class ResourcesService [@ori, @flag, @save_message] end + # 我的资源-课件 已发布的 + def all_course_attachments user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + attchments = Attachment.where("(author_id = #{user.id} and is_publish = 1 and container_id in #{courses_ids} and container_type = 'Course') or (container_type = 'Course' and is_publish = 1 and container_id in #{courses_ids})" ).order("created_on desc") + + # attchments.each do |v| + # course = Course.where("id=?",v.container_id).first + # v[:coursename] = course.nil? ? "未知" : course.name + # v[:attafile_size] = (number_to_human_size(v[:filesize])).gsub("ytes", "").to_s + # end + + attchments + end + + # 我的资源-作业 已发布的 + def all_homework_commons user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + homeworks = HomeworkCommon.where("course_id in #{courses_ids} and publish_time <= ?",Time.now.strftime("%Y-%m-%d")).order("created_at desc") + + # homeworks.each do |v| + # course = Course.where("id=?",v.course_id).first + # v[:coursename] = course.nil? ? "未知" : course.name + # end + + homeworks + end + + # 我的资源-测验 已发布的 + def all_exercises user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + exercises = Exercise.where("exercise_status <> 1 and course_id in #{courses_ids}").order("created_at desc") + + # exercises.each do |v| + # course = Course.where("id=?",v.course_id).first + # v[:coursename] = course.nil? ? "未知" : course.name + # end + + exercises + end + end \ No newline at end of file diff --git a/app/services/syllabuses_service.rb b/app/services/syllabuses_service.rb index b3190182c..d5dec9f88 100644 --- a/app/services/syllabuses_service.rb +++ b/app/services/syllabuses_service.rb @@ -29,19 +29,13 @@ class SyllabusesService end #获取指定用户的课程大纲 def user_syllabus(user) - courses = CoursesService.new.user_courses_list(user) - - other = Syllabus.new(title: '未命名课程',user_id: user.id) - - courses.each do |c| - other.courses << c[:course] unless c[:course].syllabus - end - - # user.syllabuses.each do |syllabus| - # syllabus.courses = syllabus.courses.not_deleted - # end + # courses = CoursesService.new.user_courses_list(user) # - # user.syllabuses.to_a << other + # other = Syllabus.new(title: '未命名课程',user_id: user.id) + # + # courses.each do |c| + # other.courses << c[:course] unless c[:course].syllabus + # end courses = user.courses.not_deleted syllabus_ids = courses.empty? ? '(-1)' : "(" + courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" @@ -51,12 +45,13 @@ class SyllabusesService syllabus.courses = courses.where("syllabus_id = #{syllabus.id}").select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").order("time desc") end - syllabuses.to_a << other + # syllabuses.to_a << other + syllabuses.to_a #管理权限 can_setting - syllabuses.each do |s| - s = judge_can_setting(s,user) - end + # syllabuses.each do |s| + # s = judge_can_setting(s,user) + # end syllabuses end @@ -72,6 +67,15 @@ class SyllabusesService course.course_infos << course_info end + def send_wechat_create_class_notice user,course + count = ShieldWechatMessage.where("container_type='User' and container_id=#{user.id} and shield_type='Course' and shield_id=#{course.id}").count + if count == 0 + ws = WechatService.new + title = "恭喜您创建班级成功" + ws.create_class_notice user.id, "create_course_notice", course.id,title, course.name, user.show_name, 0, "点击查看班级详情" + end + end + #创建大纲 # params {title: '大纲名称', [{course}, {course}]} def create(user, title, courses = []) @@ -83,6 +87,7 @@ class SyllabusesService if ::Course === course course.syllabus_id = sy.id course.save! + send_wechat_create_class_notice user,course elsif Hash === course c = ::Course.new(course) c.tea_id = user.id @@ -91,6 +96,7 @@ class SyllabusesService c.is_public = 0 c.save! after_create_course(c, user) + send_wechat_create_class_notice user,c end end @@ -134,6 +140,7 @@ class SyllabusesService course.is_public = 0 course.save! after_create_course(course, user) + send_wechat_create_class_notice user,course end status = 0 end diff --git a/app/services/wechat_service.rb b/app/services/wechat_service.rb index 3169763c4..2da942ea6 100644 --- a/app/services/wechat_service.rb +++ b/app/services/wechat_service.rb @@ -115,7 +115,7 @@ class WechatService data = { touser:openid, template_id:template_id, - url:"#{Setting.protocol}://#{Setting.host_name}/assets/wechat/app.html#/#{type}/#{id}", + url:"#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}",#/assets/wechat/app.html#/#{type}/#{id} topcolor:"#FF0000", data:{ first: { @@ -139,11 +139,43 @@ class WechatService data end + def three_keys_template(openid, template_id, type, id, first, key1, key2, key3, remark="") + data = { + touser:openid, + template_id:template_id, + url:"#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}",#/assets/wechat/app.html#/#{type}/#{id} + topcolor:"#FF0000", + data:{ + first: { + value:first, + color:"#707070" + }, + keyword1:{ + value:key1, + color:"#707070" + }, + keyword2:{ + value:key2, + color:"#707070" + }, + keyword3:{ + value:key3, + color:"#707070" + }, + remark:{ + value:remark, + color:"#707070" + } + } + } + data + end + def four_keys_template(openid, template_id, type, id, first, key1, key2, key3, key4, remark="") data = { touser:openid, template_id:template_id, - url:"#{Setting.protocol}://#{Setting.host_name}/assets/wechat/app.html#/#{type}/#{id}", + url:"#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/#{type}/#{id}", #/assets/wechat/app.html#/#{type}/#{id} topcolor:"#FF0000", data:{ first: { @@ -250,4 +282,45 @@ class WechatService end end + def create_class_notice(user_id, type, id, first, key1, key2, key3, remark="") + uw = UserWechat.where(user_id: user_id).first + unless uw.nil? + data = { + touser:uw.openid, + template_id:Wechat.config.create_class_notice, + url:"#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/class?id="+id.to_s, + topcolor:"#FF0000", + data:{ + first: { + value:first, + color:"#707070" + }, + keyword1:{ + value:key1, + color:"#707070" + }, + keyword2:{ + value:key2, + color:"#707070" + }, + keyword3:{ + value:key3, + color:"#707070" + }, + remark:{ + value:remark, + color:"#707070" + } + } + } + #data = three_keys_template uw.openid,Wechat.config.create_class_notice, type, id, first, key1, key2, key3, remark + begin + req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data) + rescue Exception => e + Rails.logger.error "[wechat_create_class_notice] ===> #{e}" + end + Rails.logger.info "send over. #{req}" + end + end + end \ No newline at end of file diff --git a/app/views/admin/_rename_syllabus_title.html.erb b/app/views/admin/_rename_syllabus_title.html.erb new file mode 100644 index 000000000..e3a175215 --- /dev/null +++ b/app/views/admin/_rename_syllabus_title.html.erb @@ -0,0 +1,3 @@ + + <%= syllabus.title %> + \ No newline at end of file diff --git a/app/views/admin/syllabuses.html.erb b/app/views/admin/syllabuses.html.erb index 782f6b01c..194091abc 100644 --- a/app/views/admin/syllabuses.html.erb +++ b/app/views/admin/syllabuses.html.erb @@ -46,10 +46,8 @@ <%= syllabus.id %> - - - <%= link_to(syllabus.title, syllabus_path(syllabus.id)) %> - + + <%= render :partial => 'admin/rename_syllabus_title', :locals => {:syllabus => syllabus} %> @@ -89,23 +87,24 @@ -
+
  • - <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %> + <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
    - <%= link_to reply.author.show_name, user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %> + <%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(comment.created_on) %>
    -
    - <%= reply.content.html_safe%> -
    -
    - <%= format_time(reply.created_on) %> - - <%=render :partial=> "praise_tread/praise", :locals => {:activity=>reply, :user_activity_id=>reply.id,:type=>"reply"}%> + <% if !comment.parent.nil? && !comment.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => comment}%> + <% end %> + <% if !comment.content_detail.blank? %> +
    + <%= comment.content_detail.html_safe %> +
    +
    +
    + + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>comment, :user_activity_id=>comment.id,:type=>"reply"}%> - -
    -

    + ) %> + <% end %> + +
    +
    +
    +

    + <% end %>
    -
  • - <% end %> + <% end %> + <% end %> - <%# end %>
    <% if !@article.locked? && User.current.logged?%>
    diff --git a/app/views/blogs/_homepage.html.erb b/app/views/blogs/_homepage.html.erb index 140f547cb..d5a5c0d64 100644 --- a/app/views/blogs/_homepage.html.erb +++ b/app/views/blogs/_homepage.html.erb @@ -48,14 +48,16 @@
    - <% count=activity.children.count %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + <%= render :partial => 'users/blog_comment_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 1} %> - <% comments = activity.children.reorder("created_on desc").limit(3) %> + <% all_comments = []%> + <% comments = get_all_children(all_comments, activity)[0..2] %> <% if count > 0 %>
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> + <%= render :partial => 'users/blog_comments_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'BlogComment', :activity_id =>activity.id, :homepage => 1}%>
    <% end %> diff --git a/app/views/courses/_copy_course.html.erb b/app/views/courses/_copy_course.html.erb index cc7f2fb53..55217017b 100644 --- a/app/views/courses/_copy_course.html.erb +++ b/app/views/courses/_copy_course.html.erb @@ -53,8 +53,8 @@
  • - <%= select_tag :syllabus_id,options_for_select(syllabus_option,@course.syllabus_id), {:id=>"new_syllabus_id", :class=>"syllabus_input"} %> - + <%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@course.syllabus_id), {:id=>"new_syllabus_id", :class=>"syllabus_input"} %> + 如果列表中没有对应的课程,请您先<%=link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'ml5 green_btn_share c_white'%>
  • diff --git a/app/views/courses/new.html.erb b/app/views/courses/new.html.erb index 78b3d8293..a96380ecf 100644 --- a/app/views/courses/new.html.erb +++ b/app/views/courses/new.html.erb @@ -12,7 +12,7 @@ <%=@syllabus.title %> <% end %> - + 如果列表中没有对应的课程,请您先<%=link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'ml5 green_btn_share c_white'%>
  • diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index ee0f6c98a..5b45042a7 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -32,7 +32,7 @@
  • <%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@course.syllabus_id), {:id=>"edit_syllabus_id", :class=>"syllabus_input", :style=>'width:280px'} %> - + 如果列表中没有对应的课程,请您先<%=link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'ml5 green_btn_share c_white'%>
  • diff --git a/app/views/layouts/_show_messages_list.html.erb b/app/views/layouts/_show_messages_list.html.erb index ba31c4379..0829b9c42 100644 --- a/app/views/layouts/_show_messages_list.html.erb +++ b/app/views/layouts/_show_messages_list.html.erb @@ -5,7 +5,7 @@
  • <%= render :partial => 'layouts/syllabus_eng_name', :locals => {:syllabus => @syllabus}%>
    - +
    - <%end%> + <% end %>
    - 主题: <%= @topic.subject%> + 主题: <%= @topic.subject %>
    - <%= link_to @topic.author.show_name, user_path(@topic.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %> + <%= link_to @topic.author.show_name, user_path(@topic.author, :host => Setting.host_user), :class => "linkBlue2", :target => "_blank" %>
    -
    <%= format_time( @topic.created_on)%>
    +
    <%= format_time(@topic.created_on) %>
    -
    - <%= @topic.content.html_safe%> +
    + <%= @topic.content.html_safe %>
    - <%= render :partial=>"attachments/activity_attach", :locals=>{:activity => @topic} %> + <%= render :partial => "attachments/activity_attach", :locals => {:activity => @topic} %>
    @@ -121,49 +118,69 @@
    <% unless @replies.empty? %>
    -
    回复(<%=@reply_count %>)
    +
    回复 + <%= @reply_count>0 ? "(#{@reply_count})" : "" %> + + + <%= render :partial => "praise_tread/praise", :locals => {:activity => @topic, :user_activity_id => @topic.id, :type => "activity"} %> + +
    -
    - <% @replies.each_with_index do |reply,i| %> + <% all_comments = [] %> + <% comments = get_all_children(all_comments, @topic) %> +
    + <% comments.each_with_index do |reply, i| %>
    - <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %> + <%= link_to image_tag(url_to_avatar(reply.author), :width => 33, :height => 33), user_path(reply.author) %>
    - <%= link_to reply.author.show_name, user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %> + <%= link_to reply.creator_user.show_name, user_url_in_org(reply.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(reply.created_on) %>
    + <% if !reply.parent.nil? && !reply.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => reply} %> + <% end %>
    - <%= reply.content.html_safe%> + <%= reply.content.html_safe %>
    -
    - <%= format_time(reply.created_on) %> -
    @@ -175,6 +192,7 @@ <% if !@topic.locked? && authorize_for_course('messages', 'reply') %>
    +
    <%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message_form'} do |f| %> @@ -189,13 +207,13 @@
    - <% user = User.find(reply.creator_id) %> -
    +
  • - <%= link_to image_tag(url_to_avatar(user), :width => 33,:height => 33), user_url_in_org(user.id) %> + <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
    - <%= link_to User.find(reply.creator_id).realname, user_url_in_org(reply.creator_id), :class => "newsBlue mr10 f14" %> -
    - <%= reply.content.html_safe unless reply.content.nil? %> +
    + <%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(comment.created_at) %>
    -
    - <%= format_time(reply.created_at) %> - - <%=render :partial=> "praise_tread/praise", :locals => {:activity=>reply, :user_activity_id=>reply.id,:type=>"reply"}%> + <% if !comment.parent.nil? && !comment.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => comment}%> + <% end %> + <% if !comment.content_detail.blank? %> +
    + <%= comment.content_detail.html_safe %> +
    +
    +
    + + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>comment, :user_activity_id=>comment.id,:type=>"reply"}%> - -
    -

    + :title => l(:button_delete)) %> + <% end %> + +
    +
    +
    +

    + <% end %>
    -
    +
  • <% end %> +
    <%# end %> diff --git a/app/views/organizations/_org_subfield_message.html.erb b/app/views/organizations/_org_subfield_message.html.erb index 19a6f0eaa..8ea566f0d 100644 --- a/app/views/organizations/_org_subfield_message.html.erb +++ b/app/views/organizations/_org_subfield_message.html.erb @@ -69,20 +69,16 @@
    - <% count = 0 %> - <% if activity.parent %> - <% count=activity.parent.children.count%> - <% else %> - <% count=activity.children.count%> - <% end %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + <%= render :partial => 'users/message_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => 0,:is_board =>0} %> - <% activity= activity.parent_id.nil? ? activity : activity.parent %> - <% comments = activity.children.reorder("created_on desc").limit(3) %> + <% all_comments = []%> + <% comments = get_all_children(all_comments, activity)[0..2] %> <% if count > 0 %>
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> + <%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'Message', :activity_id =>activity.id, :is_course => 0, :is_board =>0}%>
    <% end %> diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb index 06950258e..395038e9e 100644 --- a/app/views/organizations/_show_org_document.html.erb +++ b/app/views/organizations/_show_org_document.html.erb @@ -67,15 +67,20 @@ <% end %>
    - <% comments_for_doc = document.children.reorder("created_at desc").limit(3) %> - <% count = document.children.count() %> + <% all_comments = []%> + <% count=get_all_children(all_comments, document).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => document, :user_activity_id => document.id} %> + <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => document, :user_activity_id => act.id} %> + + <% all_comments = []%> + <% comments = get_all_children(all_comments, document)[0..2] %> + <% if count > 0 %> +
    + <%= render :partial => 'users/org_document_replies', :locals => {:comments => comments, :user_activity_id => act.id, :type => 'OrgDocumentComment', :activity_id =>document.id}%> +
    + <% end %> -
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments_for_doc}%> -
    <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33", :alt => "用户头像"), user_url_in_org(User.current.id) %> @@ -84,7 +89,6 @@ <% if User.current.logged? %>
    <%= form_for('new_form', :url => add_reply_org_document_comment_path(:id => document.id, :act_id => act.id, :flag => flag), :method => "post", :remote => true) do |f| %> -
    diff --git a/app/views/syllabuses/edit_syllabus_title.js.erb b/app/views/syllabuses/edit_syllabus_title.js.erb index 70f1be362..ee6cc4bcd 100644 --- a/app/views/syllabuses/edit_syllabus_title.js.erb +++ b/app/views/syllabuses/edit_syllabus_title.js.erb @@ -1,3 +1,4 @@ $("#syllabus_title_show").html("<%= escape_javascript render :partial => 'layouts/syllabus_title', :locals => {:syllabus => @syllabus} %>"); +$("#syllabus_title_edit").text(""); $("#syllabus_title_show").show(); $("#syllabus_title_edit").hide(); \ No newline at end of file diff --git a/app/views/users/_blog_comment_reply_banner.html.erb b/app/views/users/_blog_comment_reply_banner.html.erb new file mode 100644 index 000000000..496cd2c7c --- /dev/null +++ b/app/views/users/_blog_comment_reply_banner.html.erb @@ -0,0 +1,18 @@ +
    +
    + 回复 + ︿ + <%= count>0 ? "(#{count})" : "" %> + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>activity, :user_activity_id=>user_activity_id,:type=>"activity"}%> + +
    +
    <%#= format_date(activity.updated_on) %>
    + <%if count>3 %> + + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_blog_comments_replies.html.erb b/app/views/users/_blog_comments_replies.html.erb new file mode 100644 index 000000000..b4a134b7b --- /dev/null +++ b/app/views/users/_blog_comments_replies.html.erb @@ -0,0 +1,60 @@ +
      + <% comments.each do |comment| %> + +
    • +
      + <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %> +
      +
      +
      + <%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(comment.created_on) %> +
      + <% if !comment.parent.nil? && !comment.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => comment}%> + <% end %> + <% if !comment.content_detail.blank? %> +
      + <%= comment.content_detail.html_safe %> +
      +
      +
      + + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>comment, :user_activity_id=>comment.id,:type=>"reply"}%> + + + <%= link_to( + l(:button_reply), + {:controller => 'users' ,:action => 'reply_to', :reply_id => comment.id, :type => type, :user_activity_id => user_activity_id, :activity_id => activity_id, :homepage => homepage}, + :remote => true, + :method => 'get', + :title => l(:button_reply)) if !comment.root.locked? %> + + + <% if comment.author == User.current %> + <%= link_to( + l(:button_delete), + {:controller => 'blog_comments',:action => 'destroy', :id => comment.id, :user_activity_id => user_activity_id, :homepage => homepage}, + :method => :delete, + :remote => true, + :class => 'fr mr20', + :data => {:confirm => l(:text_are_you_sure)}, + :title => l(:button_delete)) %> + <% end %> + +
      +
      +
      +

      + <% end %> +
      +
      +
    • + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_comment_reply_detail.html.erb b/app/views/users/_comment_reply_detail.html.erb index 266a0b32b..b8ea13cf4 100644 --- a/app/views/users/_comment_reply_detail.html.erb +++ b/app/views/users/_comment_reply_detail.html.erb @@ -3,7 +3,7 @@
    <%= link_to comment.creator_user.show_name, user_path(comment.creator_user.id), :class => "content-username" %> - <%= time_from_now(comment.created_on) %> + <%= time_from_now(comment.respond_to?(:created_on) ? comment.created_on : comment.created_at) %>
    <%= comment.content_detail.html_safe %>
    \ No newline at end of file diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb index 70a7e6c7d..48daa6e95 100644 --- a/app/views/users/_course_message.html.erb +++ b/app/views/users/_course_message.html.erb @@ -80,8 +80,6 @@
    <% all_comments = []%> <% count=get_all_children(all_comments, activity).count %> - <%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %> - <%# count = fetch_user_leaveWord_reply(activity).count %>
    <%= render :partial => 'users/message_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %> diff --git a/app/views/users/_join_course_course_message.html.erb b/app/views/users/_join_course_course_message.html.erb index c7d1157f9..933de0b0d 100644 --- a/app/views/users/_join_course_course_message.html.erb +++ b/app/views/users/_join_course_course_message.html.erb @@ -18,8 +18,7 @@

    真实姓名:<%= User.find(ma.course_message_id).realname %>

    申请课程:<%= Course.find(ma.course_id).name%>

    课程描述:
    -
    <%= Course.find(ma.course_id).description %>
    -

    申请职位:<%= ma.content == '9' ? "教师" : "教辅"%>

    +
    <%= Course.find(ma.course_id).description.html_safe if Course.find(ma.course_id).description %>

    申请职位:<%= ma.content == '9' ? "教师" : "教辅"%>

  • diff --git a/app/views/users/_org_document_replies.html.erb b/app/views/users/_org_document_replies.html.erb new file mode 100644 index 000000000..ce26cf70c --- /dev/null +++ b/app/views/users/_org_document_replies.html.erb @@ -0,0 +1,60 @@ +
      + <% comments.each do |comment| %> + +
    • +
      + <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %> +
      +
      +
      + <%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %> + <%= time_from_now(comment.created_at) %> +
      + <% if !comment.parent.nil? && !comment.parent.parent.nil? %> + <%= render :partial => 'users/message_contents', :locals => {:comment => comment}%> + <% end %> + <% if !comment.content_detail.blank? %> +
      + <%= comment.content_detail.html_safe %> +
      +
      +
      + + + <%=render :partial=> "praise_tread/praise", :locals => {:activity=>comment, :user_activity_id=>comment.id,:type=>"reply"}%> + + + <%= link_to( + l(:button_reply), + {:controller => 'users' ,:action => 'reply_to', :reply_id => comment.id, :type => type, :user_activity_id => user_activity_id, :activity_id => activity_id}, + :remote => true, + :method => 'get', + :title => l(:button_reply)) %> + + + <% if comment.creator_user == User.current %> + <%= link_to( + l(:button_delete), + {:controller => 'org_document_comments',:action => 'destroy', :id => comment.id, :user_activity_id => user_activity_id}, + :method => :delete, + :remote => true, + :class => 'fr mr20', + :data => {:confirm => l(:text_are_you_sure)}, + :title => l(:button_delete)) %> + <% end %> + +
      +
      +
      +

      + <% end %> +
      +
      +
    • + <% end %> +
    \ No newline at end of file diff --git a/app/views/users/_reply_to.html.erb b/app/views/users/_reply_to.html.erb index 8a2909ad4..cb8b2e0ff 100644 --- a/app/views/users/_reply_to.html.erb +++ b/app/views/users/_reply_to.html.erb @@ -36,15 +36,36 @@ <%= hidden_field_tag 'reply_id', params[:reply_id], :value => reply.author.id %> <%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@activity_id %> <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> -

    <% end%> - <% end %> + <% elsif @type == 'BlogComment' %> + <%= form_for('new_form', :url => {:controller => 'blog_comments',:action => 'reply', :id => reply.id, :blog_id => reply.blog.id, :user_id => User.current.id}, :method => "post", :remote => true) do |f| %> + + <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> + <%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %> + <%= hidden_field_tag 'reply_id', params[:reply_id], :value => reply.author_id %> + <%= hidden_field_tag 'homepage', params[:homepage], :value => @homepage %> +
    + + +
    +

    + <% end%> + <% elsif @type == 'OrgDocumentComment' %> + <%= form_for('new_form', :url => {:controller => 'org_document_comments',:action => 'reply', :id => reply.id}, :method => "post", :remote => true) do |f| %> + + <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> +
    + + +
    +

    + <% end%> + <% end %>
  • diff --git a/app/views/users/_resource_share_for_orgs.html.erb b/app/views/users/_resource_share_for_orgs.html.erb index 6788161f0..36d1c774f 100644 --- a/app/views/users/_resource_share_for_orgs.html.erb +++ b/app/views/users/_resource_share_for_orgs.html.erb @@ -5,7 +5,7 @@ <% send_ids = send_ids.class == String ? send_ids : send_ids.join(",") %> <% end %> diff --git a/app/views/users/_resource_share_for_project_popup.html.erb b/app/views/users/_resource_share_for_project_popup.html.erb index 07f4abe38..b521bcb90 100644 --- a/app/views/users/_resource_share_for_project_popup.html.erb +++ b/app/views/users/_resource_share_for_project_popup.html.erb @@ -6,7 +6,7 @@ <% send_ids = send_ids.class == String ? send_ids : send_ids.join(",") %> <% end %> diff --git a/app/views/users/_send_homework_to_course.html.erb b/app/views/users/_send_homework_to_course.html.erb index fc4007d03..f6f007838 100644 --- a/app/views/users/_send_homework_to_course.html.erb +++ b/app/views/users/_send_homework_to_course.html.erb @@ -16,7 +16,7 @@ function send_submit() { var checkboxs = $("input[name='course_ids[]']:checked"); if(checkboxs.length == 0) { - $("#choose_courses_notice").text("请先选择课程"); + $("#choose_courses_notice").text("请先选择班级"); } else{ $("#choose_courses_notice").text(""); $("#choose_course_list_form").submit(); diff --git a/app/views/users/_share_message_to_course.html.erb b/app/views/users/_share_message_to_course.html.erb index d86c51f0d..4fc1a1766 100644 --- a/app/views/users/_share_message_to_course.html.erb +++ b/app/views/users/_share_message_to_course.html.erb @@ -5,7 +5,7 @@
    发送到
    diff --git a/app/views/users/_share_message_to_org.html.erb b/app/views/users/_share_message_to_org.html.erb index 8cb2fae57..37575a8d5 100644 --- a/app/views/users/_share_message_to_org.html.erb +++ b/app/views/users/_share_message_to_org.html.erb @@ -2,7 +2,7 @@
    发送到
    diff --git a/app/views/users/_share_message_to_project.html.erb b/app/views/users/_share_message_to_project.html.erb index 3a89c0b9f..89b36e22a 100644 --- a/app/views/users/_share_message_to_project.html.erb +++ b/app/views/users/_share_message_to_project.html.erb @@ -3,7 +3,7 @@
    发送到
    diff --git a/app/views/users/_share_news_to_course.html.erb b/app/views/users/_share_news_to_course.html.erb index e03a296b2..0e88c164e 100644 --- a/app/views/users/_share_news_to_course.html.erb +++ b/app/views/users/_share_news_to_course.html.erb @@ -5,7 +5,7 @@
    发送到
    diff --git a/app/views/users/_share_news_to_org.html.erb b/app/views/users/_share_news_to_org.html.erb index 095e09027..85d5e7104 100644 --- a/app/views/users/_share_news_to_org.html.erb +++ b/app/views/users/_share_news_to_org.html.erb @@ -2,7 +2,7 @@
    发送到
    diff --git a/app/views/users/_share_news_to_project.html.erb b/app/views/users/_share_news_to_project.html.erb index 0fb38f8df..d4c293304 100644 --- a/app/views/users/_share_news_to_project.html.erb +++ b/app/views/users/_share_news_to_project.html.erb @@ -3,7 +3,7 @@
    发送到
    diff --git a/app/views/users/_user_blog.html.erb b/app/views/users/_user_blog.html.erb index 77510c858..a19bfc016 100644 --- a/app/views/users/_user_blog.html.erb +++ b/app/views/users/_user_blog.html.erb @@ -41,14 +41,16 @@
    - <% count=activity.children.count %> + <% all_comments = []%> + <% count=get_all_children(all_comments, activity).count %>
    - <%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %> + <%= render :partial => 'users/blog_comment_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 0} %> - <% comments = activity.children.reorder("created_on desc").limit(3) %> + <% all_comments = []%> + <% comments = get_all_children(all_comments, activity)[0..2] %> <% if count > 0 %>
    - <%= render :partial => 'users/all_replies', :locals => {:comments => comments}%> + <%= render :partial => 'users/blog_comments_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'BlogComment', :activity_id =>activity.id, :homepage => 0}%>
    <% end %> diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index e02fe7399..c27002d24 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -309,7 +309,7 @@
    <% else %>
  • - <%= link_to ma.course_message.content.html_safe, board_message_path(ma.course_message.board_id, ma.course_message.parent_id), + <%= link_to message_content(ma.course_message.content), board_message_path(ma.course_message.board_id, ma.course_message.parent_id), :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -348,7 +348,7 @@
  • <% unless ma.content.nil? %> - <%= link_to ma.content.html_safe, student_work_index_path(:homework => ma.course_message.student_work.homework_common_id), + <%= link_to message_content(ma.content), student_work_index_path(:homework => ma.course_message.student_work.homework_common_id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -387,7 +387,7 @@ ">在班级中留言了:
  • - <%= link_to ma.course_message.notes.html_safe, course_feedback_path(:id => ma.course_id), + <%= link_to message_content(ma.course_message.notes), course_feedback_path(:id => ma.course_id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -414,7 +414,7 @@
  • - <%= link_to ma.course_message.notes.html_safe, homework_common_index_url_in_org( ma.course_id), + <%= link_to message_content(ma.course_message.notes), homework_common_index_url_in_org( ma.course_id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -437,7 +437,7 @@ ">回复了作品评论:
  • - <%= link_to ma.course_message.notes, student_work_index_path(:homework => ma.course_message.jour.student_work.homework_common_id,:show_work_id => ma.course_message.jour.student_work_id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> + <%= link_to message_content(ma.course_message.notes), student_work_index_path(:homework => ma.course_message.jour.student_work.homework_common_id,:show_work_id => ma.course_message.jour.student_work_id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> diff --git a/app/views/users/_user_message_forum.html.erb b/app/views/users/_user_message_forum.html.erb index e0111276a..4757aa401 100644 --- a/app/views/users/_user_message_forum.html.erb +++ b/app/views/users/_user_message_forum.html.erb @@ -17,7 +17,7 @@
  • <% else %>
  • - <%= link_to ma.memo.content.html_safe, forum_memo_path(ma.memo.forum_id, ma.memo.parent_id ? ma.memo.parent_id: ma.memo.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> + <%= link_to message_content(ma.memo.content), forum_memo_path(ma.memo.forum_id, ma.memo.parent_id ? ma.memo.parent_id: ma.memo.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> diff --git a/app/views/users/all_journals.js.erb b/app/views/users/all_journals.js.erb index d03e13742..b7485def3 100644 --- a/app/views/users/all_journals.js.erb +++ b/app/views/users/all_journals.js.erb @@ -3,7 +3,11 @@ $('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :p <% elsif params[:type] == 'JournalsForMessage' %> $('#reply_div_<%= @user_activity_id %>').html('<%=escape_javascript(render :partial => 'users/journal_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :allow_delete => @allow_delete, :activity_id =>params[:id].to_i}) %>'); <% elsif params[:type] == 'Message' %> -$('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/message_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :activity_id =>params[:id].to_i,:is_course => @is_course, :is_board => @is_board}) %>'); +$('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/message_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :activity_id => params[:id].to_i,:is_course => @is_course, :is_board => @is_board}) %>'); +<% elsif params[:type] == 'BlogComment' %> +$('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/blog_comments_replies', :locals => {:comments => @journals,:user_activity_id => @user_activity_id, :type => @type, :activity_id => params[:id].to_i, :homepage => @homepage}) %>'); +<% elsif params[:type] == 'OrgDocumentComment' %> +$('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/org_document_replies', :locals => {:comments => @journals, :user_activity_id => @user_activity_id, :type => @type, :activity_id => params[:id].to_i}) %>'); <% else %> $('#reply_div_<%= params[:div_id].to_i %>').html('<%=escape_javascript(render :partial => 'users/all_replies', :locals => {:comments => @journals}) %>'); <% end %> diff --git a/app/views/users/show_all_replies.js.erb b/app/views/users/show_all_replies.js.erb index ae8803653..2d4321bce 100644 --- a/app/views/users/show_all_replies.js.erb +++ b/app/views/users/show_all_replies.js.erb @@ -1,7 +1,7 @@ <% unless @comment.parent.nil? %> <% if params[:type] == 'JournalsForMessage' && (@comment.jour_type == 'Principal' || @comment.jour_type == 'Course') %> $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/journal_comment_reply', :locals => {:comment => @comment.parent})%>"); - <% elsif @comment.class.to_s == 'Message' %> + <% elsif (@comment.class.to_s == 'Message' || @comment.class.to_s == 'BlogComment' ) %> $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/journal_comment_reply', :locals => {:comment => @comment.parent})%>"); <% else %> $('#comment_reply_<%=@comment.id %>').html("<%= escape_javascript(render :partial => 'users/comment_reply', :locals => {:comment => @comment.parent})%>"); diff --git a/app/views/users/user_homeworks.html.erb b/app/views/users/user_homeworks.html.erb index 6197aa9c4..6016f4101 100644 --- a/app/views/users/user_homeworks.html.erb +++ b/app/views/users/user_homeworks.html.erb @@ -39,10 +39,10 @@
    • - 题库 + 我的题库
    • - 我的题库 + 题库
    • 申请题库 diff --git a/app/views/wechats/user_activities.html.erb b/app/views/wechats/user_activities.html.erb index 240fec434..f724be392 100644 --- a/app/views/wechats/user_activities.html.erb +++ b/app/views/wechats/user_activities.html.erb @@ -26,33 +26,33 @@
      - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/routes.rb b/config/routes.rb index fbb69af62..bcfb6de98 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1040,6 +1040,7 @@ RedmineApp::Application.routes.draw do get 'admin/syllabuses', as: :all_syllabuses get 'admin/non_syllabus_courses', as: :non_syllabus_courses post 'admin/update_course_name' + post 'admin/update_syllabus_title' get 'admin/excellent_courses', as: :excellent_courses get 'admin/excellent_all_courses', as: :excellent_all_courses match 'admin/set_excellent_course/:id', :to => 'admin#set_excellent_course' diff --git a/config/wechat.yml b/config/wechat.yml index d243ca44c..8b2caffc8 100644 --- a/config/wechat.yml +++ b/config/wechat.yml @@ -8,24 +8,38 @@ default: &default #secret: "743e038392f1d89540e95f8f7645849a" #production - appid: "wx8e1ab05163a28e37" - secret: "beb4d3bc4b32b3557811680835357841" +# appid: "wx8e1ab05163a28e37" +# secret: "beb4d3bc4b32b3557811680835357841" #test - #appid: "wxc09454f171153c2d" - #secret: "dff5b606e34dcafe24163ec82c2715f8" + appid: "wxc09454f171153c2d" + secret: "dff5b606e34dcafe24163ec82c2715f8" token: "123456" access_token: "1234567" encrypt_mode: false # if true must fill encoding_aes_key - encoding_aes_key: "QGfP13YP4BbQGkkrlYuxpn4ZIDXpBJww4fxl8CObvNw" + + #production +# encoding_aes_key: "QGfP13YP4BbQGkkrlYuxpn4ZIDXpBJww4fxl8CObvNw" +# jsapi_ticket: "C:/Users/[user_name]/wechat_jsapi_ticket" +# +# #template +# binding_succ_notice: "jjpDrgFErnmkrE9tf2M3o0t31ZrJ7mr0YtuE_wyLaMc" +# journal_notice: "uC1zAw4F2q6HTA3Pcj8VUO6wKKKiYFwnPJB4iXxpdoM" +# homework_message_notice: "tCf7teCVqc2vl2LZ_hppIdWmpg8yLcrI8XifxYePjps" +# class_notice: "MQ_mFupbXP-9jWbeHT3C5xqNBvPo8EIlNv4ULakSpJA" +# create_class_notice: "2GtJJGzzNlNy2i0UrsjEDlvfSVIUXQfSo47stpcQAVw" + + #test + encoding_aes_key: "QyocNOkRmrT5HzBpCG54EVPUQjk86nJapXNVDQm6Yy6" jsapi_ticket: "C:/Users/[user_name]/wechat_jsapi_ticket" #template - binding_succ_notice: "jjpDrgFErnmkrE9tf2M3o0t31ZrJ7mr0YtuE_wyLaMc" - journal_notice: "uC1zAw4F2q6HTA3Pcj8VUO6wKKKiYFwnPJB4iXxpdoM" - homework_message_notice: "tCf7teCVqc2vl2LZ_hppIdWmpg8yLcrI8XifxYePjps" - class_notice: "MQ_mFupbXP-9jWbeHT3C5xqNBvPo8EIlNv4ULakSpJA" + binding_succ_notice: "n4KLwcWNrIMYkKxWL2hUwzunm5RTT54EbWem2MIUapU" + journal_notice: "XpHHYkqSGkwuF9vHthRdmPQLvCFRQ4_NbRBP12T7ciE" + homework_message_notice: "Kom0TsYYKsNKCS6luweYVRo9z-mH0wRPr24b1clGCPQ" + class_notice: "8LVu33l6bP-56SDomVgHn-yJc57YpCwwJ81rAJgRONk" + create_class_notice: "9CDIvHIKiGwPEQWRw_-wieec1o50tMXQPPZIfECKu0I" production: <<: *default diff --git a/db/schema.rb b/db/schema.rb index 32d29d31a..694d4df43 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -562,9 +562,9 @@ ActiveRecord::Schema.define(:version => 20160709015740) do t.integer "excellent_option", :default => 0 t.integer "is_copy", :default => 0 t.integer "visits", :default => 0 + t.integer "syllabus_id" t.string "invite_code" t.string "qrcode" - t.integer "syllabus_id" end add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true diff --git a/public/assets/wechat/activities.html b/public/assets/wechat/activities.html index 60075ad2e..2da072cd8 100644 --- a/public/assets/wechat/activities.html +++ b/public/assets/wechat/activities.html @@ -436,7 +436,7 @@
      - +
      diff --git a/public/assets/wechat/blog_detail.html b/public/assets/wechat/blog_detail.html index c77842e4b..aabea2532 100644 --- a/public/assets/wechat/blog_detail.html +++ b/public/assets/wechat/blog_detail.html @@ -16,7 +16,7 @@
      {{blog.title}}
      博客{{blog.created_at}}
      -
      +
      @@ -29,7 +29,7 @@
      -
      +
      @@ -49,10 +49,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/class.html b/public/assets/wechat/class.html index 6f8354259..da58003cc 100644 --- a/public/assets/wechat/class.html +++ b/public/assets/wechat/class.html @@ -23,33 +23,35 @@
      -
      {{r.filename}}发送
      -

      暂无课件,
      - 请登录Trustie网站,在PC浏览器中上传课件。

      +
      {{r.filename}}发送
      +

      暂无课件,
      + 请登录Trustie网站,在PC浏览器中上传课件。

      授课老师
      -
      - {{teacher.name}}{{teacher.role_name|identify}} +
      + {{teacher.name}}{{teacher.role_name|identify}} +
      我的同学
      -
      - {{student.name}} +
      + {{student.name}} +
      -
      {{r.homework_name}}
      -

      暂无作业,
      - 请登录Trustie网站,在PC浏览器中上传作业。

      +
      {{r.homework_name}}发送
      +

      暂无作业,
      + 请登录Trustie网站,在PC浏览器中上传作业。

      -
      {{r.exercise_name}}
      -

      暂无小测验,
      - 请登录Trustie网站,在PC浏览器中上传小测验。

      +
      {{r.exercise_name}}发送
      +

      暂无小测验,
      + 请登录Trustie网站,在PC浏览器中上传小测验。

      diff --git a/public/assets/wechat/class_list.html b/public/assets/wechat/class_list.html index b215db763..dafce2cfc 100644 --- a/public/assets/wechat/class_list.html +++ b/public/assets/wechat/class_list.html @@ -1,19 +1,34 @@
      课程列表
      - -
      -
      {{syllabus.title}}
      -
        -
      • - - - > - {{course.member_count}}人 -
      • -
      +
      +
      我创建的课程
      +
      +
      {{syllabus.title}}
      +
        +
      • + + + > + {{course.member_count}}人 +
      • +
      +
      +
      +
      +
      我参与的课程
      +
      +
      {{syllabus.title}}
      +
        +
      • + + + > + {{course.member_count}}人 +
      • +
      +
      -
      新建课程 diff --git a/public/assets/wechat/course_discussion.html b/public/assets/wechat/course_discussion.html index 5bfb462a3..7d358fb25 100644 --- a/public/assets/wechat/course_discussion.html +++ b/public/assets/wechat/course_discussion.html @@ -28,7 +28,7 @@
      -
      +
      @@ -46,10 +46,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/course_notice.html b/public/assets/wechat/course_notice.html index d48dbd136..e8b36fb27 100644 --- a/public/assets/wechat/course_notice.html +++ b/public/assets/wechat/course_notice.html @@ -27,7 +27,7 @@
      -
      +
      @@ -45,10 +45,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/homework_detail.html b/public/assets/wechat/homework_detail.html index b156a0e32..583d0bcd7 100644 --- a/public/assets/wechat/homework_detail.html +++ b/public/assets/wechat/homework_detail.html @@ -31,7 +31,7 @@
      -
      +
      @@ -51,10 +51,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/invite_code.html b/public/assets/wechat/invite_code.html index 1aa0c8830..a1b225fc9 100644 --- a/public/assets/wechat/invite_code.html +++ b/public/assets/wechat/invite_code.html @@ -9,8 +9,8 @@
      \ No newline at end of file diff --git a/public/assets/wechat/issue_detail.html b/public/assets/wechat/issue_detail.html index 998cb58a6..c28b53698 100644 --- a/public/assets/wechat/issue_detail.html +++ b/public/assets/wechat/issue_detail.html @@ -33,7 +33,7 @@
      -
      +
      @@ -51,10 +51,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/jour_message_detail.html b/public/assets/wechat/jour_message_detail.html index 0724e98b7..cdeeaa30b 100644 --- a/public/assets/wechat/jour_message_detail.html +++ b/public/assets/wechat/jour_message_detail.html @@ -14,7 +14,7 @@
      留言{{message.created_on}}
      -
      +
      @@ -27,7 +27,7 @@
      -
      +
      @@ -47,10 +47,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/login.html b/public/assets/wechat/login.html index 1283ad281..61c9b9de3 100644 --- a/public/assets/wechat/login.html +++ b/public/assets/wechat/login.html @@ -4,13 +4,13 @@
      绑定注册
      -
      {{r.filename}}发送
      -

      暂无课件,
      - 请登录Trustie网站,在PC浏览器中上传课件。

      +
      + {{r.filename}}发送
      + 课件来源:{{r.coursename}}大小:{{r.attafile_size}} +
      +

      暂无课件,
      + 请登录Trustie网站,在PC浏览器中上传课件。

      -
      {{r.homework_name}}
      -

      暂无作业,
      - 请登录Trustie网站,在PC浏览器中创建作业。

      +
      {{r.homework_name}}发送
      + 作业来源:{{r.coursename}} +
      +

      暂无作业,
      + 请登录Trustie网站,在PC浏览器中创建作业。

      -
      {{r.exercise_name}}
      -

      暂无测验,
      - 请登录Trustie网站,在PC浏览器中创建测验。

      +
      {{r.exercise_name}}发送
      + 题目来源:{{r.coursename}} +
      +

      暂无测验,
      + 请登录Trustie网站,在PC浏览器中创建测验。

      diff --git a/public/assets/wechat/project_discussion.html b/public/assets/wechat/project_discussion.html index 1757822ab..3c2ef5d3e 100644 --- a/public/assets/wechat/project_discussion.html +++ b/public/assets/wechat/project_discussion.html @@ -29,7 +29,7 @@
      -
      +
      @@ -46,10 +46,10 @@
      -
      +
      - +
      diff --git a/public/assets/wechat/reg.html b/public/assets/wechat/reg.html index 9e2978e3b..26a17931f 100644 --- a/public/assets/wechat/reg.html +++ b/public/assets/wechat/reg.html @@ -6,14 +6,14 @@
      注册登录