diff --git a/app/assets/javascripts/pull_requests.js.coffee b/app/assets/javascripts/pull_requests.js.coffee new file mode 100644 index 000000000..761567942 --- /dev/null +++ b/app/assets/javascripts/pull_requests.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/pull_requests.css.scss b/app/assets/stylesheets/pull_requests.css.scss new file mode 100644 index 000000000..f69ac413b --- /dev/null +++ b/app/assets/stylesheets/pull_requests.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the pull_requests controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index c98116806..0463e08e8 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -62,6 +62,7 @@ class AdminController < ApplicationController course = Course.where("id = #{params[:course_id].to_i}").first unless course.nil? course.update_column('syllabus_id', params[:syllabus_id].to_i) + Rails.logger.error "update_syllabus_id: admin_controller/select_scourse_syllabus" @flag = true end end @@ -83,6 +84,7 @@ class AdminController < ApplicationController syllabus.description = Message.where("id = 19412").first.nil? ? nil : Message.where("id = 19412").first.content if syllabus.save course.update_column('syllabus_id', syllabus.id) + Rails.logger.error "update_syllabus_id: admin_controller/create_syllabus" @flag = params[:flag].to_i @course = course respond_to do |format| @@ -616,9 +618,14 @@ class AdminController < ApplicationController # 未审批tab页 # status: 0 未审批; 1 已批阅; 2已更改; 3拒绝; def applied_schools + # 更新消息状态 + if params[:flag] + applied_message = AppliedMessage.where(:id => params[:applied_message_id]).first + applied_message.update_attribute(:viewed, true) + end + @name = params[:name] || "" condition = "#{@name.strip}".gsub(" ","") - @apply_status = ApplyAddSchools.where("status = 0 and name like '%#{condition}%'").order('created_at desc') @apply_count = @apply_status.count @apply_pages = Paginator.new @apply_count, 30, params['page'] || 1 @@ -655,7 +662,7 @@ class AdminController < ApplicationController applied_school.update_column('status', 1) unless applied_school.nil? school = applied_school.school school.update_attribute("province", applied_school.province) - AppliedMessage.create(:user_id => applied_school.user_id, :status => 1, :viewed => true, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) + AppliedMessage.create(:user_id => applied_school.user_id, :status => 1, :viewed => 0, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) # School.create(:user_id => applied_school.user_id, :status => 1, :viewed => true, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) respond_to do |format| format.html{ redirect_to unapplied_schools_url } @@ -663,8 +670,8 @@ class AdminController < ApplicationController end # 单位审核:更改 - # REDO: 修改该字段 - # REDO: 同步修改使用了改名称的用户单位 + # 修改该字段 + # 同步修改使用了改名称的用户单位 def edit_applied_schools aas = ApplyAddSchools.find(params[:applied_id]) # aas.update_attribute(:name, params[:name]) @@ -672,11 +679,9 @@ class AdminController < ApplicationController school = School.find params[:school_id] begin aas.update_attribute(:status, 2) - AppliedMessage.create(:user_id => aas.user_id, :status => 2, :viewed => true, :applied_id => aas.id, :applied_type => "ApplyAddSchools", :name => school[0].name ) + AppliedMessage.create(:user_id => aas.user_id, :status => 2, :viewed => 0, :applied_id => aas.id, :applied_type => "ApplyAddSchools", :name => school[0].name ) users = UserExtensions.where("school_id = #{aas.school_id}") - users.each do |user| - user.update_column("school_id", school[0].id) - end + users.update_all(:school_id => school[0].id) if aas.school_id != school[0].id.to_i aas.school.destroy end @@ -709,28 +714,19 @@ class AdminController < ApplicationController end # 单位审核:删除 - # REDO: destroy关联删除 - # REDO: 删除确认提示,是否删除 - # REDO: 给申请人发送消息 def delete_applied_schools applied_school = ApplyAddSchools.find(params[:id]) applied_school.update_attribute(:status, 3) # 未审批删除 if params[:tip] == "unapplied" - AppliedMessage.create(:user_id => applied_school.user_id, :status => 3, :viewed => true, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) - # 删除学校的用户 - users = UserExtensions.where("school_id = #{applied_school.school_id}") - users.each do |user| - user.update_column("school_id", nil) - end + AppliedMessage.create(:user_id => applied_school.user_id, :status => 3, :viewed => 0, :applied_id => applied_school.id, :applied_type => "ApplyAddSchools", :name => applied_school.name ) + # 删除学校的用户 + users = UserExtensions.where("school_id = #{applied_school.school_id}") + users.update_all(:school_id => nil) applied_school.school.destroy redirect_to unapplied_schools_url # 已审批删除 elsif params[:tip] == "applied" - users = UserExtensions.where("school_id = #{applied_school.school_id}") - users.each do |user| - user.update_column("school_id", nil) - end applied_school.destroy redirect_to applied_schools_url end diff --git a/app/controllers/applied_project_controller.rb b/app/controllers/applied_project_controller.rb index eb16549df..41f069020 100644 --- a/app/controllers/applied_project_controller.rb +++ b/app/controllers/applied_project_controller.rb @@ -45,7 +45,7 @@ class AppliedProjectController < ApplicationController end # @flage:提示语标志(1:邀请码错误;2:已经是项目成员; 3:角色没有选择; 4:申请成功) - # role:成员角色 => 0(4:管理人员;5:开发人员;6:报告人员) + # role:成员角色 => 0(3:管理人员;4:开发人员;5:报告人员) # 申请成功则发送消息 def applied_project_info if params[:project_id].nil? @@ -61,6 +61,20 @@ class AppliedProjectController < ApplicationController @flag = 3 elsif !AppliedProject.where(:project_id => @project.id, :user_id => User.current.id).first.nil? @flag = 5 + elsif params[:member] == "member_reporter" && params[:invite_code].upcase.to_s == @project.invite_code + # 项目报告人员直接加入项目 + @flag = 6 + members = [] + user_grades = [] + project_info = [] + members << Member.new(:role_ids => ["5"], :user_id => User.current.id) + user_grades << UserGrade.new(:user_id => User.current.id, :project_id => @project.id) + role = Role.find(5) + project_info << ProjectInfo.new(:project_id => @project.id, :user_id => User.current.id) if role.allowed_to?(:is_manager) + @project.members << members + @project.project_infos << project_info + @project.user_grades << user_grades unless user_grades.first.user_id.nil? + else @flag = 4 role = params[:member] == "member_manager" ? 3 : (params[:member] == "member_developer" ? 4 :5) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 2020915f8..2f50c8105 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -58,9 +58,10 @@ class HomeworkCommonController < ApplicationController def edit @user = User.current - @is_in_course = params[:is_in_course].to_i + @is_in_course = params[:is_in_course] + @is_manage = params[:is_manage] @course_activity = params[:course_activity].to_i - if @is_in_course == 1 || @course_activity == 1 + if @is_in_course.to_i == 1 || @course_activity == 1 @left_nav_type = 3 respond_to do |format| format.html{render :layout => 'base_courses'} @@ -144,7 +145,11 @@ class HomeworkCommonController < ApplicationController @homework_detail_programing.save if @homework_detail_programing @homework_detail_group.save if @homework_detail_group - if params[:is_in_course] == "1" + if params[:is_manage] == "1" + redirect_to manage_or_receive_homeworks_user_path(User.current.id) + elsif params[:is_manage] == "2" + redirect_to my_homeworks_user_path(User.current.id) + elsif params[:is_in_course] == "1" redirect_to homework_common_index_path(:course => @course.id) elsif params[:is_in_course] == "0" redirect_to user_homeworks_user_path(User.current.id) diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb index 32c605516..05b93d302 100644 --- a/app/controllers/my_controller.rb +++ b/app/controllers/my_controller.rb @@ -108,6 +108,12 @@ class MyController < ApplicationController # Edit user's account def account + # 更新消息状态 + if params[:flag] + applied_message = AppliedMessage.where(:id => params[:applied_message_id]).first + applied_message.update_attribute(:viewed, true) + end + @user = User.current lg=@user.login diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb new file mode 100644 index 000000000..58d1cb3b2 --- /dev/null +++ b/app/controllers/pull_requests_controller.rb @@ -0,0 +1,135 @@ + +class PullRequestsController < ApplicationController + before_filter :find_project_and_repository + before_filter :connect_gitlab, :only => [:index, :show, :create, :accept_pull_request, :pull_request_commits, :pull_request_changes, :new] + layout "base_projects" + include PullRequestsHelper + include ApplicationHelper + + # 返回json格式 + def index + type = params[:type] + case type + when nil, "1" + @requests = @g.merge_requests(@project.gpid).select{|request| request.state == "opened" || request.state == "reopened"} + when "2" + @requests = @g.merge_requests(@project.gpid).select{|request| request.state == "merged"} + end + @requests_opened_count = @requests.count + @requests_merged_count = params[:type] ? @requests.count : @g.merge_requests(@project.gpid).select{|request| request.state == "merged"}.count + respond_to do |format| + format.html + format.js + end + end + + # 主要取源项目和目标项目分支及标识(用户名/版本库名) + def new + identifier = get_rep_identifier_by_project @project + @source_project_name = "#{get_user_name(@project.user_id)}/#{identifier}" + @source_rev = @g.branches(@project.gpid).map{|b| b.name} + + # 获取forked源项目信息 + if @project.forked_from_project_id + @forked_project = Project.find(@project.forked_from_project_id) + identifier = get_rep_identifier_by_project @forked_project + @forked_project_name = "#{get_user_name(@forked_project.user_id)}/#{identifier}" + @forked_rev = @g.branches(@forked_project.gpid).map{|b| b.name} + end + end + + # Creates a merge request. + # If the operation is successful, 200 and the newly created merge request is returned. If an error occurs, an error number and a message explaining the reason is returned. + # + # @example + # Gitlab.create_merge_request(5, 'New merge request', + # :source_branch => 'source_branch', :target_branch => 'target_branch') + # Gitlab.create_merge_request(5, 'New merge request', + # :source_branch => 'source_branch', :target_branch => 'target_branch', :assignee_id => 42) + # + # @param [Integer] project The ID of a project. + # @param [String] title The title of a merge request. + # @param [Hash] options A customizable set of options. + # @option options [String] :source_branch (required) The source branch name. + # @option options [String] :target_branch (required) The target branch name. + # @option options [Integer] :assignee_id (optional) The ID of a user to assign merge request. + # @return [Gitlab::ObjectifiedHash] Information about created merge request. + def create + title = params[:title] + description = params[:description] + source_branch = params[:source_branch] + target_branch = params[:target_branch] + begin + # 如果传送了目标项目ID,则PR请求发至目标项目 + if params[:forked_project_id] && params[:source_project] == "forked_project_name" + target_project_id = params[:forked_project_id].to_i + request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch, :target_project_id => target_project_id) + @fork_project_name = Project.find(@project.forked_from_project_id).try(:name) + @fork_pr_message = true if @fork_project_name + else + request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch) + respond_to do |format| + format.js{redirect_to project_pull_request_path(request.id, :project_id => @project.id)} + end + end + rescue Exception => e + @message = e.message + end + end + + def show + @type = params[:type] + @request = @g.merge_request(@project.gpid, params[:id]) + @commits = @g.merge_request_commits(@project.gpid, params[:id].to_i) + @commits_count = @commits.count + @changes = @g.merge_request_changes(@project.gpid, params[:id]).try(:changes) + @changes_count = @changes.count + end + + # Accept a merge request. + # If merge success you get 200 OK. + # Accept a merge request. + # + # @example + # Gitlab.accept_pull_rquest(5, 1) + # + # @param [Integer] project The ID of a project. + # @param [Integer] id The ID of a merge request. + # @return [Gitlab::ObjectifiedHash] + def accept_pull_request + begin + status = @g.accept_merge_rquest(@project.gpid, params[:id], User.current.gid) + respond_to do |format| + format.js{redirect_to project_pull_request_path(status.id, :project_id => @project.id)} + end + rescue Exception => e + @message = e.message + end + end + + # 获取某次请求的提交次数 + def pull_request_commits + @type = parms[:type] + @commits = @g.merge_request_commits(@project.gpid, params[:id].to_i) + end + + # 获取某次请求的改动 + def pull_request_changes + @changes = @g.merge_request_changes(@project.gpid, params[:id]).try(:changes) + @changes_count = @changes.count + end + + private + def connect_gitlab + @g = Gitlab.client + end + + def find_project_and_repository + @project = Project.find(params[:project_id]) + render_404 if @project.gpid.blank? + @repository = Repository.where(:project_id => @project.id, :type => "Repository::Gitlab") + rescue ActiveRecord::RecordNotFound + render_404 + end + +end diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb index 98d814137..b6e34a185 100644 --- a/app/controllers/school_controller.rb +++ b/app/controllers/school_controller.rb @@ -188,11 +188,12 @@ class SchoolController < ApplicationController user_extention.school_id = school.id user_extention.save! - # status=4 向管理员发送信息 + # 向管理员发送信息 users = User.where(:admin => 1) users.each do |user| - AppliedMessage.create(:user_id => user.id, :status => 0, :applied_user_id => User.current.id, :viewed => true, :applied_id => school.id, :applied_type => "ApplyAddSchools", :name => school.name ) + AppliedMessage.create(:user_id => user.id, :status => 0, :applied_user_id => User.current.id, :viewed => 0, :applied_id => school.id, :applied_type => "ApplyAddSchools", :name => school.name ) end + else data[:result] = 3 end diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index e2dd23552..adfcd6263 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -775,30 +775,33 @@ class StudentWorkController < ApplicationController end def retry_work - if @work.destroy - if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 - pros = @work.student_work_projects.where("is_leader = 0") - pros.each do |pro| - pro.destroy - end - project = @work.student_work_projects.where("is_leader = 1").first - project.update_attributes(:student_work_id => nil) - elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0 - @work.student_work_projects.each do |pro2| - pro2.destroy + if @homework.homework_type == 3 + if @work.destroy + if @homework.homework_detail_group.base_on_project == 1 + pros = @work.student_work_projects.where("is_leader = 0") + pros.each do |pro| + pro.destroy + end + project = @work.student_work_projects.where("is_leader = 1").first + project.update_attributes(:student_work_id => nil) + elsif @homework.homework_detail_group.base_on_project == 0 + @work.student_work_projects.each do |pro2| + pro2.destroy + end end end - @student_work = StudentWork.new - respond_to do |format| - format.js - end + elsif @homework.homework_type == 1 + @work.update_attributes(:work_status => 0, :name => "#{@homework.name}的作品提交", :description => nil, :late_penalty => 0) + end + @student_work = StudentWork.new + respond_to do |format| + format.js end end #添加评分,已评分则为修改评分 def add_score @is_last = params[:is_last] == "true" - render_403 and return if User.current == @work.user #不可以匿评自己的作品 @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin? #老师、教辅可以随时评分,学生只能在匿评作业的匿评阶段进行评分 render_403 and return unless @is_teacher || @homework.homework_detail_manual.comment_status == 2 @@ -828,7 +831,7 @@ class StudentWorkController < ApplicationController if User.current.admin? @new_score.reviewer_role = 1 else - role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name + role = User.current.members.where("course_id = ?",@course.id).first.roles.where("is_current = 1").first.name @new_score.reviewer_role = get_role_by_name(role) end if @score diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f721f6b8a..cb006d342 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -41,7 +41,8 @@ class UsersController < ApplicationController :activity_score_index, :influence_score_index, :score_index,:show_new_score, :topic_new_score_index, :project_new_score_index, :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource, :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, - :user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list] + :user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list, + :my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks] before_filter :auth_user_extension, only: :show #before_filter :rest_user_score, only: :show #before_filter :select_entry, only: :user_projects @@ -613,23 +614,25 @@ class UsersController < ApplicationController #用户作业列表 def user_homeworks - @order,@b_sort = params[:order] || "created_at",params[:sort] || "desc" + @order,@b_sort = params[:order] || "publish_time",params[:sort] || "desc" @user = User.current @r_sort = @b_sort == "desc" ? "asc" : "desc" 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" #题库 + 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 course_id not in #{course_ids}").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}") end @type = params[:type] - @limit = 25 + @limit = 10 @is_remote = true @hw_count = @homeworks.count @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 @offset ||= @hw_pages.offset - @homeworks = paginateHelper @homeworks,25 + @homeworks = paginateHelper @homeworks,10 respond_to do |format| format.js format.html {render :layout => 'static_base'} @@ -662,15 +665,15 @@ class UsersController < ApplicationController end def choose_user_course - homework = HomeworkCommon.find params[:send_id].to_i - if homework.user != User.current && homework.course.is_public == 0 && !User.current.allowed_to?(:as_teacher,homework.course) - ah = ApplyHomework.where("user_id = ? and homework_common_id = ?", User.current.id, params[:send_id].to_i) - if ah.empty? - @status = 2 - elsif ah.first.status != 2 - @status = ah.first.status - end - end + homework = HomeworkCommon.find params[:homework].to_i + # if homework.user != User.current && homework.course.is_public == 0 && !User.current.allowed_to?(:as_teacher,homework.course) + # ah = ApplyHomework.where("user_id = ? and homework_common_id = ?", User.current.id, params[:send_id].to_i) + # if ah.empty? + # @status = 2 + # elsif ah.first.status != 2 + # @status = ah.first.status + # end + # end if !params[:search].nil? search = "%#{params[:search].to_s.strip.downcase}%" @course = @user.courses.where("is_delete = 0 and #{Course.table_name}.id != #{homework.course_id} and (#{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like :p)",:p=>search).select { |course| @user.allowed_to?(:as_teacher,course)} @@ -679,7 +682,7 @@ class UsersController < ApplicationController end @search = params[:search] #这里仅仅是传递需要发送的资源id - @send_id = params[:send_id] + @send_id = params[:homework] respond_to do |format| format.js end @@ -758,7 +761,7 @@ class UsersController < ApplicationController #@user_homeworks = HomeworkCommon.where(:user_id => @user.id).order("created_at desc") 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}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") @type = params[:type] @limit = 15 @is_remote = true @@ -772,30 +775,26 @@ class UsersController < ApplicationController end def user_homework_type - @order,@b_sort = params[:order] || "created_at",params[:sort] || "desc" + @order,@b_sort = params[:order] || "publish_time",params[:sort] || "desc" @r_sort = @b_sort == "desc" ? "asc" : "desc" @user = User.current 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 - visible_course = Course.where("is_delete = 0") - end + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids}").order("#{@order} #{@b_sort}") + elsif params[:type] == "2" #公共题库 + visible_course = Course.where("is_public = 1 && 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] == "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(",") + ")" - #apply_homeworks = ApplyHomework.where("user_id = ?",@user.id).order('created_at desc') - #homework_ids = apply_homeworks.empty? ? "(-1)" : "(" + apply_homeworks.map{|ah| ah.homework_common_id}.join(",") + ")" - #@homeworks = HomeworkCommon.where("id in #{homework_ids} and course_id not in #{none_visible_course_ids}") - - sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN apply_homeworks as ah ON homework_commons.id = ah.homework_common_id where ah.user_id = #{@user.id} and homework_commons.course_id not in #{none_visible_course_ids} order by ah.created_at desc" - @homeworks = HomeworkCommon.find_by_sql(sql) + # 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(",") + ")" + # #apply_homeworks = ApplyHomework.where("user_id = ?",@user.id).order('created_at desc') + # #homework_ids = apply_homeworks.empty? ? "(-1)" : "(" + apply_homeworks.map{|ah| ah.homework_common_id}.join(",") + ")" + # #@homeworks = HomeworkCommon.where("id in #{homework_ids} and course_id not in #{none_visible_course_ids}") + # + # sql = "SELECT homework_commons.* FROM homework_commons INNER JOIN apply_homeworks as ah ON homework_commons.id = ah.homework_common_id where ah.user_id = #{@user.id} and homework_commons.course_id not in #{none_visible_course_ids} order by ah.created_at desc" + # @homeworks = HomeworkCommon.find_by_sql(sql) end if params[:property] all_homework_ids = @homeworks.empty? ? "(-1)" : "(" + @homeworks.map{|h| h.id}.join(",") + ")" @@ -813,7 +812,7 @@ class UsersController < ApplicationController @type = params[:type] @property = params[:property] @is_import = params[:is_import] - @limit = params[:is_import].to_i == 1 ? 15 : 25 + @limit = params[:is_import].to_i == 1 ? 15 : 10 @is_remote = true @hw_count = @homeworks.count @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 @@ -848,28 +847,24 @@ class UsersController < ApplicationController #用户主页过滤作业 def user_search_homeworks - @order,@b_sort = params[:order] || "created_at",params[:sort] || "desc" + @order,@b_sort = params[:order] || "publish_time",params[:sort] || "desc" @r_sort = @b_sort == "desc" ? "asc" : "desc" @user = User.current search = params[:name].to_s.strip.downcase - type_ids = params[:property]=="" || params[:property].nil? ? "(1, 2, 3)" : "(" + params[:property] + ")" + type_ids = (params[:property]=="" || params[:property].nil? || params[:property]=="0") ? "(1, 2, 3)" : "(" + params[:property] + ")" 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}" + 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 (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}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} 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}") + @homeworks = HomeworkCommon.where("user_id = #{@user.id} and course_id not in #{course_ids} 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 - visible_course = Course.where("is_delete = 0") - end + visible_course = Course.where("is_public = 1 && is_delete = 0") visible_course_ids = visible_course.empty? ? "(-1)" : "(" + visible_course.map{|course| course.id}.join(",") + ")" all_homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}'") all_user_ids = all_homeworks.map{|hw| hw.user_id} @@ -907,7 +902,7 @@ class UsersController < ApplicationController end =end @type = params[:type] - @limit = params[:is_import].to_i == 1 ? 15 : 25 + @limit = params[:is_import].to_i == 1 ? 15 : 10 @is_remote = true @hw_count = @homeworks.count @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 @@ -921,6 +916,19 @@ class UsersController < ApplicationController end end + #检查改作业是否可以选用 + def check_homework + homework = HomeworkCommon.find_by_id params[:homework] + student_ids = homework.course.student.empty? ? [] : homework.course.student.map{|student| student.student_id}.join(',') + resultObj = {status: 2} + if student_ids.include?(User.current.id.to_s) + resultObj[:status] = 1 + else + resultObj[:status] = 0 + end + render :json => resultObj + end + #导入作业,确定按钮 def user_select_homework homework = HomeworkCommon.find_by_id params[:checkMenu] @@ -1465,26 +1473,15 @@ class UsersController < ApplicationController #显示更多用户课程 def user_courses4show @page = params[:page].to_i + 1 - @type = params[:type] - if @type == 'User' - @courses = @user.courses.visible.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").limit(5).offset(@page * 5) - @all_count = @user.courses.visible.where("is_delete =?", 0).count - elsif @type == 'Syllabus' - @syllabus = Syllabus.where("id = #{params[:syllabus]}").first - 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 + @courses = @user.courses.visible.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").limit(10).offset(@page * 10) + @all_count = @user.courses.visible.where("is_delete =?", 0).count end #显示更多用户项目 def user_projects4show @page = params[:page].to_i + 1 - @projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(5).offset(@page * 5) + @projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10).offset(@page * 10) + @all_count = @user.projects.visible.count end def user_course_activities @@ -1550,6 +1547,107 @@ class UsersController < ApplicationController render :action=>'user_course_activities',:layout=>nil end + #首页-》我的作业 + def my_homeworks + tea_courses = @user.courses.visible.not_deleted.select{|course| @user.has_teacher_role(course)} + tea_course_ids = tea_courses.empty? ? "(-1)" : "(" + tea_courses.map{|course| course.id}.join(',') + ")" + @manage_homeworks = HomeworkCommon.where("course_id in #{tea_course_ids}").order("created_at desc").limit(5) + stu_courses = @user.courses.visible.not_deleted.select{|course| @user.has_student_role(course)} + stu_course_ids = stu_courses.empty? ? "(-1)" : "(" + stu_courses.map{|course| course.id}.join(',') + ")" + @receive_homeworks = HomeworkCommon.where("course_id in #{stu_course_ids} and publish_time <= '#{Date.today}'").order("created_at desc").limit(5) + if (@manage_homeworks.empty? && @receive_homeworks.empty?) || (@receive_homeworks.empty?) || (!@manage_homeworks.empty? && !@receive_homeworks.empty? && @manage_homeworks.first.publish_time > @receive_homeworks.first.publish_time) + @manage_pre = true + else + @manage_pre = false + end + respond_to do |format| + format.js + format.html {render :layout => 'static_base'} + end + end + + #我管理/收到的作业 + def manage_or_receive_homeworks + @order,@b_sort,@type = params[:order] || "created_at",params[:sort] || "desc",params[:type] || 1 + @r_sort = @b_sort == "desc" ? "asc" : "desc" + @type = @type.to_i + if @type == 1 + tea_courses = @user.courses.visible.not_deleted.select{|course| @user.has_teacher_role(course)} + tea_course_ids = tea_courses.empty? ? "(-1)" : "(" + tea_courses.map{|course| course.id}.join(',') + ")" + @homeworks = HomeworkCommon.where("course_id in #{tea_course_ids}").order("#{@order} #{@b_sort}") + else + stu_courses = @user.courses.visible.not_deleted.select{|course| @user.has_student_role(course)} + stu_course_ids = stu_courses.empty? ? "(-1)" : "(" + stu_courses.map{|course| course.id}.join(',') + ")" + @homeworks = HomeworkCommon.where("course_id in #{stu_course_ids} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}") + end + if params[:property] + all_homework_ids = @homeworks.empty? ? "(-1)" : "(" + @homeworks.map{|h| h.id}.join(",") + ")" + if params[:property] == "1" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 1") + elsif params[:property] == "2" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 2") + elsif params[:property] == "3" + @homeworks = HomeworkCommon.find_by_sql("select * from homework_commons where id in #{all_homework_ids} and homework_type = 3") + end + end + @limit = 10 + @is_remote = true + @hw_count = @homeworks.count + @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 + @offset ||= @hw_pages.offset + @homeworks = paginateHelper @homeworks,@limit + @search = "" + @property = params[:property] + respond_to do |format| + format.js + format.html {render :layout => 'static_base'} + end + end + + #搜索作业 + def search_m_r_homeworks + @order,@b_sort,@type = params[:order] || "created_at",params[:sort] || "desc",params[:type].to_i || 1 + @r_sort = @b_sort == "desc" ? "asc" : "desc" + search = params[:name].to_s.strip.downcase + type_ids = (params[:property]=="" || params[:property].nil? || params[:property]=="0") ? "(1, 2, 3)" : "(" + params[:property] + ")" + if @type == 1 + tea_courses = @user.courses.visible.not_deleted.select{|course| @user.has_teacher_role(course)} + tea_course_ids = tea_courses.empty? ? "(-1)" : "(" + tea_courses.map{|course| course.id}.join(',') + ")" + #user_ids = hw_publisher_user_ids search, tea_course_ids + @homeworks = HomeworkCommon.where("course_id in #{tea_course_ids} and homework_type in #{type_ids} and name like '%#{search}%'").order("#{@order} #{@b_sort}") + else + stu_courses = @user.courses.visible.not_deleted.select{|course| @user.has_student_role(course)} + stu_course_ids = stu_courses.empty? ? "(-1)" : "(" + stu_courses.map{|course| course.id}.join(',') + ")" + #user_ids = hw_publisher_user_ids search, stu_course_ids + @homeworks = HomeworkCommon.where("course_id in #{stu_course_ids} and homework_type in #{type_ids} and publish_time <= '#{Date.today}' and name like '%#{search}%'") + if @order == "status" + @homeworks.each do |homework| + work = cur_user_works_for_homework homework + if work.blank? + homework[:infocount] = 0 + else + homework[:infocount] = 1 + end + end + @b_sort == "asc" ? (@homeworks = @homeworks.sort{|x,y| x[:infocount] <=> y[:infocount] }) : (@homeworks = @homeworks.sort{|x,y| y[:infocount] <=> x[:infocount]}) + @homeworks = sortby_time_countcommon_nosticky @homeworks,"created_at" + else + @homeworks = @homeworks.order("#{@order} #{@b_sort}") + end + end + @limit = 10 + @is_remote = true + @hw_count = @homeworks.count + @hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1 + @offset ||= @hw_pages.offset + @homeworks = paginateHelper @homeworks,@limit + @search = search + @property = params[:property] + respond_to do |format| + format.js + end + end + def user_feedback4show query = @user.journals_for_messages if params[:lastid]!=nil && !params[:lastid].empty? @@ -3268,6 +3366,7 @@ class UsersController < ApplicationController @join_syllabuses = syllabus_course_list_sort @join_syllabuses @my_syllabuses = @my_syllabuses.sort{|x,y| y[:last_update] <=> x[:last_update]} @join_syllabuses = @join_syllabuses.sort{|x,y| y[:last_update] <=> x[:last_update]} + @is_course = 1 #分页 # @limit = 10 @@ -3377,6 +3476,7 @@ class UsersController < ApplicationController @atta_pages = Paginator.new @atta_count, @limit, params['page'] || 1 @offset ||= @atta_pages.offset @projects = paginateHelper @projects,@limit + @is_project = 1 respond_to do |format| format.js diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d64d95223..b225c3099 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -43,6 +43,12 @@ module ApplicationHelper user.nil? ? User.find(2) : user end + # 通过系统外部用户名查找用户,如果用户不存在则用邮箱替换 + def get_user_by_login_and login + user = User.find_by_login(login) + user.nil? ? User.find(2) : user + end + # 历史数据(老版本库数据)处理完则可以修改该放放 def get_rep_identifier_by_project project identifier = Repository.where(:project_id => project.id, :type => "Repository::Gitlab").first.try(:identifier) @@ -814,6 +820,18 @@ module ApplicationHelper return @result end + # 必须是项目成,项目必须提交过代码 + def allow_pull_request project + return false if project.gpid.nil? + g = Gitlab.client + count = g.user_static(project.gpid, :rev => "master").count + if User.current.member_of?(project) && count > 0 + true + else + false + end + end + # 判断版本库是否初始为gitlab def rep_is_gitlab?(project) rep = project.repositories.where("type =?", "Repository::Gitlab") @@ -2736,7 +2754,39 @@ module ApplicationHelper else link_to "作品(#{count})",student_work_index_url_in_org(homework.id),:class => "c_blue" end + end + #根据传入作业确定显示为提交作品、补交作品、查看作品等 + def student_for_homework_common homework + if User.current.member_of_course?(homework.course) + work = cur_user_works_for_homework homework + project = cur_user_projects_for_homework homework + if work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") + if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1 + link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green2 fr mt5',:title => '查看分组作业详情', :target => '_blank' + else + link_to "提交作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank' + end + elsif work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") + if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1 + link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green2 fr mt5',:title => '查看分组作业详情', :target => '_blank' + else + link_to "补交作品", new_student_work_url_without_domain(homework.id),:class => 'btn_orange_big fr mt5', :target => '_blank' + end + else + if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 #匿评作业,且作业状态不是在开启匿评之前 + link_to "作品匿评", student_work_index_url_in_org(homework.id), :class => 'hw_btn_green2 fr mt5', :title => "开启匿评后不可修改作品", :target => '_blank' + elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 + link_to "查看作品",student_work_index_url_in_org(homework.id), :class => 'hw_btn_green2 fr mt5', :title => "匿评已结束", :target => '_blank' + elsif homework.homework_type == 2 && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")#编程作业不能修改作品 + link_to "修改作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank' + elsif Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") && work.user_id == User.current.id + link_to "修改作品", edit_student_work_url_without_domain(work.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank' + else + link_to "查看作品", student_work_index_url_in_org(homework.id), :class => 'hw_btn_green2 fr mt5', :title => "作业截止后不可修改作品", :target => '_blank' + end + end + end end def relate_project homework,is_teacher,is_in_course,user_activity_id,course_activity @@ -2788,6 +2838,17 @@ module ApplicationHelper homework.student_work_projects.where("user_id = ?",User.current).first end + #获取当前作业的提交截止时间/互评截止时间 + def cur_homework_end_time homework + str = "" + if homework.anonymous_comment == 0 && homework.end_time < Date.today && homework.homework_detail_manual + str = "互评截止:#{format_date homework.homework_detail_manual.evaluation_end}" + else + str = "提交截止:#{homework.end_time ? (format_date homework.end_time) : ' -- '}" + end + str + end + def file_preview_tag(file, html_options={}) if %w(pdf pptx doc docx xls xlsx).any?{|x| file.filename.downcase.end_with?(x)} link_to '预览', download_named_attachment_path(file.id, file.filename, preview: true),html_options diff --git a/app/helpers/pull_requests_helper.rb b/app/helpers/pull_requests_helper.rb new file mode 100644 index 000000000..82d4edc0f --- /dev/null +++ b/app/helpers/pull_requests_helper.rb @@ -0,0 +1,17 @@ +module PullRequestsHelper + + # 获取diff内容行号 + def diff_line_num content + content.scan(/@@ -(\d+),\d+ \+\d+,\d+ @@/).first.nil? ? "" : content.scan(/@@ -(\d+),\d+ \+\d+,\d+ @@/).first.join("").to_i + end + + # 处理内容 + def diff_content content + content.gsub!(/.*@@ -\d+,\d+ \+\d+,\d+ @@\n/m,'') + end + + def get_user_name user_id + User.find(user_id).try(:login) + end + +end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 1bb76b6fd..398fb8510 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -105,6 +105,22 @@ module UsersHelper end end + # 单位申请消息:通过用户的状态判断 + # status(0:申请消息;1,2,3:系统消息) + def applied_school_users applied_message + user = User.find(applied_message.applied_user_id) + end + + # 单位申请消息通过状态判断tip描述 + def applied_school_tip applied_message + case applied_message.status + when 1,2,3 + "您添加新的单位:" + when 0 + "申请了单位:" + end + end + def applied_project_tip_header applied_message case applied_message.status when 4 @@ -117,6 +133,7 @@ module UsersHelper end + def get_resource_origin attach type = attach.container_type content = attach.container @@ -767,4 +784,17 @@ module UsersHelper end syllabuses end + + #获取按作业的发布者排序的用户ID + def hw_publisher_user_ids search, course_ids + if search && search != "" + all_homeworks = HomeworkCommon.where("course_id in #{course_ids}") + all_user_ids = all_homeworks.map{|hw| hw.user_id} + user_str_ids = search_user_by_name all_user_ids, search + user_ids = user_str_ids.empty? ? "(-1)" : "(" + user_str_ids.join(",") + ")" + else + user_ids = "(-1)" + end + return user_ids + end end diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index 79297cf81..a901e6338 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -34,6 +34,20 @@ class HomeworkCommon < ActiveRecord::Base after_save :act_as_course_activity after_destroy :delete_kindeditor_assets + #作业类型 + def homework_type_ch + type = self.homework_type + case type + when 1 + type = "普通" + when 2 + type = "编程" + when 3 + type = "分组" + end + type + end + def act_as_activity self.acts << Activity.new(:user_id => self.user_id) end diff --git a/app/models/project.rb b/app/models/project.rb index 86f670f33..0751c902f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1236,8 +1236,7 @@ class Project < ActiveRecord::Base # 创建项目后在项目下同步创建一个讨论区 def create_board_sync @board = self.boards.build - self.name=" #{l(:label_borad_project) }" - @board.name = self.name + @board.name = " #{l(:label_borad_project) }" @board.description = self.name.to_s if @board.save logger.debug "[Project Model] ===> #{@board.to_json}" diff --git a/app/models/student_work.rb b/app/models/student_work.rb index 3fcc9fb8a..3ba3ee2b2 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -1,6 +1,6 @@ #学生提交作品表 class StudentWork < ActiveRecord::Base - attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :project_id, :is_test, :simi_id, :simi_value + attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :project_id, :is_test, :simi_id, :simi_value, :work_status belongs_to :homework_common belongs_to :user diff --git a/app/models/user.rb b/app/models/user.rb index a4b7f3b25..57663f3eb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -926,6 +926,13 @@ class User < Principal !role.blank? end + #是否具有学生角色 + def has_student_role(course) + member = course.members.where("user_id = #{self.id}").first + role = MemberRole.where("member_id = #{member.id} and role_id = 10") + !role.blank? + end + # Return true if the user is allowed to do the specified action on a specific context # Action can be: # * a parameter-like Hash (eg. :controller => 'projects', :action => 'edit') diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 7d574bada..71270cb8b 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -357,6 +357,7 @@ class CoursesService #@course.password = params[:course][:password] @course.tea_id = current_user.id @course.syllabus_id = params[:syllabus_id].to_i + Rails.logger.error "update_syllabus_id: courses_service/create_course" @course.term = params[:term] @course.time = params[:time] @course.end_term = params[:end_term] @@ -416,6 +417,7 @@ class CoursesService #course.safe_attributes = params[:course] #course.password = params[:course][:password] course.syllabus_id = params[:syllabus_id].to_i + Rails.logger.error "update_syllabus_id: courses_service/edit_course" course.time = params[:time] course.term = params[:term] course.end_time = params[:end_time] diff --git a/app/services/syllabuses_service.rb b/app/services/syllabuses_service.rb index 9ca7457a0..1c72529dd 100644 --- a/app/services/syllabuses_service.rb +++ b/app/services/syllabuses_service.rb @@ -86,12 +86,14 @@ class SyllabusesService courses.each do |course| if ::Course === course course.syllabus_id = sy.id + Rails.logger.error "update_syllabus_id: syllabus_service/create" course.save! send_wechat_create_class_notice user,course elsif Hash === course c = ::Course.new(course) c.tea_id = user.id c.syllabus_id = sy.id + Rails.logger.error "update_syllabus_id: syllabus_service/create" c.update_default_value c.is_public = 0 c.save! @@ -136,6 +138,7 @@ class SyllabusesService course.name = c course.tea_id = user.id course.syllabus_id = sy.id + Rails.logger.error "update_syllabus_id: syllabus_service/edit" course.update_default_value course.is_public = 0 course.save! diff --git a/app/views/admin/_update_school_form.html.erb b/app/views/admin/_update_school_form.html.erb index f006dcdc0..8bcdbe97d 100644 --- a/app/views/admin/_update_school_form.html.erb +++ b/app/views/admin/_update_school_form.html.erb @@ -2,7 +2,7 @@
+ | 序号 |
diff --git a/app/views/applied_project/_applied_project_tip.js.erb b/app/views/applied_project/_applied_project_tip.js.erb
index c2bc555db..24eb9b036 100644
--- a/app/views/applied_project/_applied_project_tip.js.erb
+++ b/app/views/applied_project/_applied_project_tip.js.erb
@@ -17,10 +17,16 @@
您的申请已提交,请等待项目管理员审批 <% elsif @flag == 5 %>您已经申请加入该项目了,请耐心等待 + <% elsif @flag == 6 %> +您已成功加入项目 <% end %>
<% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %>
- <%= link_to "班级活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'sy_cblack' %>
+ <%= link_to "班级活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'fontGrey3' %>
<% else %>
- 班级活跃度
+ 班级活跃度
<% end %>
积分规则
diff --git a/app/views/courses/_course_heroes.html.erb b/app/views/courses/_course_heroes.html.erb
index 4699c12d2..bd285f9b0 100644
--- a/app/views/courses/_course_heroes.html.erb
+++ b/app/views/courses/_course_heroes.html.erb
@@ -3,9 +3,9 @@
<% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %> - <%= link_to "班级英雄榜", course_member_path(course, :role => 2), :class => 'sy_cblack' %> + <%= link_to "班级英雄榜", course_member_path(course, :role => 2), :class => 'fontGrey3' %> <% else %> - 班级英雄榜 + 班级英雄榜 <% end %> 积分规则
diff --git a/app/views/courses/join_private_courses.js.erb b/app/views/courses/join_private_courses.js.erb
index 14402a9ff..fc53970e4 100644
--- a/app/views/courses/join_private_courses.js.erb
+++ b/app/views/courses/join_private_courses.js.erb
@@ -1,2 +1,2 @@
var htmlvalue = "<%= escape_javascript(render :partial => 'join_private_course') %>";
-pop_box_new(htmlvalue,460,40,50);
+pop_box_new(htmlvalue,460,220);
diff --git a/app/views/files/subfield_upload_file.js.erb b/app/views/files/subfield_upload_file.js.erb
index 340a2890f..96c1659fd 100644
--- a/app/views/files/subfield_upload_file.js.erb
+++ b/app/views/files/subfield_upload_file.js.erb
@@ -2,5 +2,5 @@ $('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/upload_su
showModal('ajax-modal', '513px');
$('#ajax-modal').siblings().remove();
$('#ajax-modal').before(" ![]() |
---|