From 1c45afac8932bac32838d1e519b5b7971c62fa9f Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 2 Nov 2015 19:14:55 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=93=BE=E6=8E=A5=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 5 +++++ app/views/projects/_development_group.html.erb | 2 +- .../projects/settings/_new_repositories.html.erb | 10 +++++++++- lib/tasks/update_rep_if_fault.rake | 13 +++++++------ 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 01b126c26..b6c4ec91b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -615,6 +615,11 @@ module ApplicationHelper return rep.blank? ? true :false end + # 获取单一gitlab项目 + def gitlab_repository(project) + rep = Repository.where("project_id =? and type =?", project.id,"Repository::Gitlab" ).first + end + # 判断当前用户是否为项目管理员 def is_project_manager?(user_id, project_id) @result = false diff --git a/app/views/projects/_development_group.html.erb b/app/views/projects/_development_group.html.erb index 67867ffbf..1f4fabde5 100644 --- a/app/views/projects/_development_group.html.erb +++ b/app/views/projects/_development_group.html.erb @@ -44,7 +44,7 @@ <% if rep_is_gitlab?(@project) %> <%= link_to l(:project_module_repository), {:controller => 'projects', :action => 'settings', :id => @project.id, :tab=>'repositories'}, :class => "f14 c_blue02" %> <% else %> - <%= link_to l(:project_module_repository), {:controller => 'repositories', :action => 'show', :id => @project.id }, :class => "f14 c_blue02" %> + <%= link_to l(:project_module_repository),({:controller => 'repositories', :action => 'show', :id => @project, :repository_id => gitlab_repository(@project).identifier}), :class => "f14 c_blue02" %> <% end %> (<%= @project.repositories.count %>) <% if (User.current.admin? || User.current.allowed_to?({:controller => 'projects', :action => 'settings'}, @project)) && rep_is_gitlab?(@project) %> diff --git a/app/views/projects/settings/_new_repositories.html.erb b/app/views/projects/settings/_new_repositories.html.erb index e614dc5fe..a62bbc42f 100644 --- a/app/views/projects/settings/_new_repositories.html.erb +++ b/app/views/projects/settings/_new_repositories.html.erb @@ -7,8 +7,16 @@ <%= str = error_messages_for 'repository' %> <% project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT %> <% ip = RepositoriesHelper::REPO_IP_ADDRESS %> +<%# 提示 %> +<% if @project.repositories.count>1 %> +
+ 项目管理员您好!近日平台完成了版本库升级,以后每个项目将唯一的对应一个版本库。请您按照以下步骤完成项目版本库的更新: +

1. 点击下面的"创建版本库按钮",为本项目创建一个新的版本库;

+

2. 从本项目的历史版本库中选择一个您将使用的版本库,将其完整的克隆(clone)到本地,然后推送(push)到新建的版本库(注意不能仅推送代码,否则之前各开发者的提交记录将丢失)。

+

3. 本项目的历史版本库将在您新建版本库的一周内自动隐藏,如果您以后需要这些版本库,请与网站联系,我们将为您提供这些版本库的所有数据。

+
+<% end %> <%# 新建版本库 %> - <% if @project.repositories.count == 0 || rep_is_gitlab?(@project) %>
diff --git a/lib/tasks/update_rep_if_fault.rake b/lib/tasks/update_rep_if_fault.rake index 7bcf63c4c..1c1f5a36e 100644 --- a/lib/tasks/update_rep_if_fault.rake +++ b/lib/tasks/update_rep_if_fault.rake @@ -7,16 +7,17 @@ namespace :rep_fault do if project.repositories.count > 0 unless Repository.where("project_id =? and type = ?",project, "Repository::Gitlab").blank? project.repositories.each do |repository| - repository.update_attributes(:is_default => false) + repository.is_default =1 + repository.save end end end end end - desc "update ossean's data" - task :update_type => :environment do - repository = Repository.find(400) - repository.update_attributes(:type => "Repository::Git") - end + # desc "update ossean's data" + # task :update_type => :environment do + # repository = Repository.find(400) + # repository.update_attributes(:type => "Repository::Git") + # end end \ No newline at end of file From afd9d435c22ea2f09e86b0f07642b86ad651bc8e Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 2 Nov 2015 19:20:59 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=BA=93=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/settings/_new_repositories.html.erb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/projects/settings/_new_repositories.html.erb b/app/views/projects/settings/_new_repositories.html.erb index a62bbc42f..a802faef1 100644 --- a/app/views/projects/settings/_new_repositories.html.erb +++ b/app/views/projects/settings/_new_repositories.html.erb @@ -44,7 +44,7 @@
  • - + *<%=l(:label_repository_name)%>: <%= f.text_field :identifier, :disabled =>@repository.nil? || @repository.identifier_frozen? ? true:false,:label=>"", :no_label => true %> <% unless @repository.identifier_frozen? %> <%=l(:text_length_between,:min=>1,:max=>254)< @@ -52,8 +52,8 @@
  • - <%=l(:lable_project_rep_create) %> - <%=l(:button_cancel)%> + <%=l(:lable_project_rep_create) %> + <%=l(:button_cancel)%>
    <% end %> From e0d5c948fa23816dc37f152c3b23be8988b1819c Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 2 Nov 2015 19:27:23 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=BA=93=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/settings/_new_repositories.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/settings/_new_repositories.html.erb b/app/views/projects/settings/_new_repositories.html.erb index a802faef1..4653916a7 100644 --- a/app/views/projects/settings/_new_repositories.html.erb +++ b/app/views/projects/settings/_new_repositories.html.erb @@ -12,7 +12,7 @@
    项目管理员您好!近日平台完成了版本库升级,以后每个项目将唯一的对应一个版本库。请您按照以下步骤完成项目版本库的更新:

    1. 点击下面的"创建版本库按钮",为本项目创建一个新的版本库;

    -

    2. 从本项目的历史版本库中选择一个您将使用的版本库,将其完整的克隆(clone)到本地,然后推送(push)到新建的版本库(注意不能仅推送代码,否则之前各开发者的提交记录将丢失)。

    +

    2. 从本项目的历史版本库中选择一个您将使用的版本库,将其完整的克隆(clone)到本地(需要提供您之前设置的版本库口令),然后推送(push)到新建的版本库(注意不能仅推送代码,否则之前各开发者的提交记录将丢失)。

    3. 本项目的历史版本库将在您新建版本库的一周内自动隐藏,如果您以后需要这些版本库,请与网站联系,我们将为您提供这些版本库的所有数据。

    <% end %> From edf9b4a6b533839b3145b97338f02e43955de86f Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 2 Nov 2015 20:01:19 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/settings/_new_repositories.html.erb | 2 +- public/javascripts/project.js | 5 +++++ public/stylesheets/public.css | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/views/projects/settings/_new_repositories.html.erb b/app/views/projects/settings/_new_repositories.html.erb index 4653916a7..5196fd8e8 100644 --- a/app/views/projects/settings/_new_repositories.html.erb +++ b/app/views/projects/settings/_new_repositories.html.erb @@ -72,7 +72,7 @@ <%= repository.identifier %> <%=h repository.scm_name %> <%if repository.scm_name=="Git"%> - <%=truncate( 'http://' << repository.login.to_s << '_'<< repository.identifier.to_s << '@'<< ip.to_s << h( repository.url.slice(project_path_cut, repository.url.length)),:length=>60) %> diff --git a/public/javascripts/project.js b/public/javascripts/project.js index 5ba7c7145..9344434eb 100644 --- a/public/javascripts/project.js +++ b/public/javascripts/project.js @@ -517,6 +517,11 @@ function jsCopy(){ e.select(); document.execCommand("Copy"); } +function jsCopy2(){ + var e=document.getElementById("copy_rep_content2"); + e.select(); + document.execCommand("Copy"); +} function zip(){ alert("该功能正在紧张的开发中,我们会争取在最短时间内上线,如若对您工作造成不便敬请谅解!") diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 0c4479907..49b2906aa 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -117,6 +117,7 @@ h4{ font-size:14px; color:#3b3b3b;} .mb10{ margin-bottom:10px !important;} .mb20{ margin-bottom:20px;} .pl15{ padding-left:15px;} +.pl5{ padding-left:5px;} .pt5{ padding-top:5px;} .pt10{ padding-top:10px;} .pb5{ padding-bottom: 5px;} From 4cd41e0a67de72ff59e1fa874e4db1de306f3f32 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 2 Nov 2015 20:41:01 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/projects_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 48766813c..51d1846d8 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -125,7 +125,7 @@ module ProjectsHelper # 获取新项目的版本库地址 def rep_gitlab_url(project) gitlab_address = Redmine::Configuration['gitlab_address'] - url = gitlab_address.to_s+"/"+project.owner.to_s+"/"+project.identifier+"."+"git" + url = gitlab_address.to_s+"/"+project.owner.to_s+"/"+ rep_gitlab(project).first.identifier+"."+"git" end # # 获取Forge历史版本库 From 7f3d44ce63beae1f9ccc2d8be58856f9c993510a Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 3 Nov 2015 10:52:32 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=9Agitlab=E5=92=8Ctrustie=E5=88=86=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 0acf75c62..e25d01650 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -241,7 +241,7 @@ update #Modified by young # (show_error_not_found; return) unless @entries g = Gitlab.client - @changesets = g.get ("/projects/#{@project.gpid}/repository/commits") + @changesets = g.commits(@project.gpid) # @changesets = @repository.latest_changesets(@path, @rev) # @changesets_count = @repository.latest_changesets(@path, @rev).count @changesets_count = @changesets.count From 6e7950983bc4a459758576e862d92486b0b8e065 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 3 Nov 2015 17:19:19 +0800 Subject: [PATCH 07/11] =?UTF-8?q?1=E3=80=81=E6=95=B0=E6=8D=AE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=BF=81=E7=A7=BB=202=E3=80=81=E6=B7=BB=E5=8A=A0commi?= =?UTF-8?q?ts=E6=80=BB=E6=95=B0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 18 ++++++++++++------ app/views/repositories/changes.html.erb | 2 +- app/views/repositories/show.html.erb | 2 +- lib/tasks/update_rep_if_fault.rake | 20 ++++---------------- 4 files changed, 18 insertions(+), 24 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index e25d01650..1f252cc24 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -224,10 +224,6 @@ update #if( !User.current.member_of?(@project) || @project.hidden_repo) @repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty? - # g = Gitlab.client - # project = g.project(20) - # rr = g.trees(project.id, @path) - # r = g.get ("/projects/#{@project}/repository/tree") # :name, :path, :kind, :size, :lastrev, :changeset @entries = @repository.entries(@path, @rev) # @trees = g.trees(project, @path) @@ -241,10 +237,18 @@ update #Modified by young # (show_error_not_found; return) unless @entries g = Gitlab.client + count = 0 + (0..100).each do |page| + if g.commits(@project.gpid,:page => page).count == 0 + break + else + count = count + g.commits(@project.gpid,:page => page).count + end + end @changesets = g.commits(@project.gpid) # @changesets = @repository.latest_changesets(@path, @rev) # @changesets_count = @repository.latest_changesets(@path, @rev).count - @changesets_count = @changesets.count + @changesets_all_count = count @changesets_latest_coimmit = @changesets[0] @properties = @repository.properties(@path, @rev) @repositories = @project.repositories @@ -271,7 +275,9 @@ update @entry = @repository.entry(@path, @rev) (show_error_not_found; return) unless @entry g = Gitlab.client - @changesets = g.get ("/projects/#{@project.gpid}/repository/commits?#{@rev}") + @commits = g.commits(@project.gpid, page:params[:pamge]) + @commit = g.commit(@project.gpid,@rev) + # @changesets = g.get ("/projects/#{@project.gpid}/repository/commits?#{@rev}") #@changesets = @repository.latest_changesets(@path, @rev, Setting.repository_log_display_limit.to_i) @properties = @repository.properties(@path, @rev) @changeset = @repository.find_changeset_by_name(@rev) diff --git a/app/views/repositories/changes.html.erb b/app/views/repositories/changes.html.erb index f4037cb36..428799f07 100644 --- a/app/views/repositories/changes.html.erb +++ b/app/views/repositories/changes.html.erb @@ -14,7 +14,7 @@ <%= render_properties(@properties) %>
    - <%= render(:partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }) unless @changesets.empty? %> + <%= render(:partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @commits, :entry => @entry }) unless @commits.empty? %>
    <% content_for :header_tags do %> <%= stylesheet_link_tag "scm" %> diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb index 83f1a07ed..9601e5188 100644 --- a/app/views/repositories/show.html.erb +++ b/app/views/repositories/show.html.erb @@ -40,7 +40,7 @@
    - <%=link_to @changesets_count, {:action => 'changes', :path => to_path_param(@path), :id => @project, :repository_id => @repository.identifier_param, :rev => @rev} %> 提交 + <%=link_to @changesets_all_count, {:action => 'changes', :path => to_path_param(@path), :id => @project, :repository_id => @repository.identifier_param, :rev => @rev} %> 提交 <% end %> diff --git a/lib/tasks/update_rep_if_fault.rake b/lib/tasks/update_rep_if_fault.rake index 1c1f5a36e..3c7d119f2 100644 --- a/lib/tasks/update_rep_if_fault.rake +++ b/lib/tasks/update_rep_if_fault.rake @@ -1,23 +1,11 @@ #coding=utf-8 namespace :rep_fault do - desc "update fault rep" + desc "set ossean's type value" task :rep_update => :environment do - Project.all.each do |project| - if project.repositories.count > 0 - unless Repository.where("project_id =? and type = ?",project, "Repository::Gitlab").blank? - project.repositories.each do |repository| - repository.is_default =1 - repository.save - end - end - end - end + rep = Repository.find(400) + rep.type = "Repository::Gitlab" + rep.save end - # desc "update ossean's data" - # task :update_type => :environment do - # repository = Repository.find(400) - # repository.update_attributes(:type => "Repository::Git") - # end end \ No newline at end of file From c8eb0a076f1b88bf36a6b0dd4f216787d416c4fd Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 4 Nov 2015 10:45:02 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E6=97=B6=E7=82=B9=E5=87=BB=E5=8F=96=E6=B6=88=E5=92=8C=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=8C=89=E9=92=AE=E5=90=8E=E7=9A=84=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 30 ++++++++++++++++--- app/views/blog_comments/reply.js.erb | 2 +- app/views/comments/create.js.erb | 2 +- app/views/homework_common/edit.html.erb | 12 ++++++++ app/views/issues/add_journal.js.erb | 2 +- app/views/messages/reply.js.erb | 4 +-- .../_set_score_rule_detail.html.erb | 12 ++++---- app/views/users/_user_homework_form.html.erb | 5 ++-- 8 files changed, 53 insertions(+), 16 deletions(-) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 3db7ada2b..1e68ed2ed 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -6,8 +6,8 @@ class HomeworkCommonController < ApplicationController include StudentWorkHelper before_filter :find_course, :only => [:index,:new,:create] - before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy,:start_evaluation_set,:set_evaluation_attr,:score_rule_set] - before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment,:start_evaluation_set,:set_evaluation_attr,:score_rule_set] + before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy,:start_evaluation_set,:set_evaluation_attr,:score_rule_set,:alert_forbidden_anonymous_comment] + before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment,:start_evaluation_set,:set_evaluation_attr,:score_rule_set,:alert_forbidden_anonymous_comment] before_filter :member_of_course, :only => [:index] def index @@ -38,6 +38,7 @@ class HomeworkCommonController < ApplicationController def edit @user = User.current @is_in_course = params[:is_in_course].to_i + @course_activity = params[:course_activity].to_i respond_to do |format| format.html{render :layout => 'new_base_user'} end @@ -88,8 +89,12 @@ class HomeworkCommonController < ApplicationController @homework_detail_programing.save if @homework_detail_programing if params[:is_in_course] == "1" redirect_to homework_common_index_path(:course => @course.id) - else + elsif params[:is_in_course] == "0" redirect_to user_homeworks_user_path(User.current.id) + elsif params[:is_in_course] == "-1" && params[:course_activity] == "0" + redirect_to user_path(User.current.id) + elsif params[:is_in_course] == "-1" && params[:course_activity] == "1" + redirect_to course_path(@course.id) end end end @@ -101,8 +106,12 @@ class HomeworkCommonController < ApplicationController format.html { if params[:is_in_course] == "1" redirect_to homework_common_index_path(:course => @course.id) - else + elsif params[:is_in_course] == "0" redirect_to user_homeworks_user_path(User.current.id) + elsif params[:is_in_course] == "-1" && params[:course_activity] == "0" + redirect_to user_path(User.current.id) + elsif params[:is_in_course] == "-1" && params[:course_activity] == "1" + redirect_to course_path(@course.id) end } end @@ -184,6 +193,19 @@ class HomeworkCommonController < ApplicationController end end + def alert_forbidden_anonymous_comment + if params[:user_activity_id] + @user_activity_id = params[:user_activity_id] + else + @user_activity_id = -1 + end + @is_in_course = params[:is_in_course] if params[:is_in_course] + @course_activity = params[:course_activity] if params[:course_Activity] + respond_to do |format| + format.js + end + end + def programing_test test = {language:params[:language],src:Base64.encode64(params[:src]),input:[params[:input]],output:[params[:output]]} @index = params[:index] diff --git a/app/views/blog_comments/reply.js.erb b/app/views/blog_comments/reply.js.erb index f8ed4bb24..1cb64b2b5 100644 --- a/app/views/blog_comments/reply.js.erb +++ b/app/views/blog_comments/reply.js.erb @@ -2,6 +2,6 @@ $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/user_blog', :locals => {:activity => @article,:user_activity_id =>@user_activity_id}) %>"); init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%"); <% else%> -$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'blogs/article', :locals => {:activity => @article,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>"); +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'blogs/article', :locals => {:activity => @article,:user_activity_id =>@user_activity_id}) %>"); init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%"); <% end %> \ No newline at end of file diff --git a/app/views/comments/create.js.erb b/app/views/comments/create.js.erb index 7892ed773..ea904a63f 100644 --- a/app/views/comments/create.js.erb +++ b/app/views/comments/create.js.erb @@ -1,3 +1,3 @@ -$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>"); +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); init_activity_KindEditor_data('<%= @user_activity_id%>',"","87%"); diff --git a/app/views/homework_common/edit.html.erb b/app/views/homework_common/edit.html.erb index 79692207f..ac772171d 100644 --- a/app/views/homework_common/edit.html.erb +++ b/app/views/homework_common/edit.html.erb @@ -8,6 +8,17 @@ homework_description_editor.html(""); $("#homework_editor").toggle(); } + function cancel_edit(){ + <% if @is_in_course == 1 %> + window.location.href='<%=homework_common_index_path(:course => @course.id) %>'; + <% elsif @is_in_course == 0 %> + window.location.href='<%=user_homeworks_user_path(User.current.id) %>'; + <% elsif @is_in_course == -1 && @course_activity == 0 %> + window.location.href='<%=user_path(User.current.id) %>'; + <% elsif @is_in_course == -1 && @course_activity == 1 %> + window.location.href='<%=course_path(@course.id) %>'; + <% end %> + }
    编辑作业
    @@ -18,6 +29,7 @@
    <%= form_for @homework do |f| %> +
    <%= render :partial => 'users/user_homework_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
    diff --git a/app/views/issues/add_journal.js.erb b/app/views/issues/add_journal.js.erb index 7c56aea6e..0b1c02b88 100644 --- a/app/views/issues/add_journal.js.erb +++ b/app/views/issues/add_journal.js.erb @@ -1,3 +1,3 @@ -$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_issue', :locals => {:activity => @issue,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>"); +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_issue', :locals => {:activity => @issue,:user_activity_id =>@user_activity_id}) %>"); init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%"); \ No newline at end of file diff --git a/app/views/messages/reply.js.erb b/app/views/messages/reply.js.erb index 4cd1a86d6..ac80de3b4 100644 --- a/app/views/messages/reply.js.erb +++ b/app/views/messages/reply.js.erb @@ -1,6 +1,6 @@ <%if @project%> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>"); + $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); <%elsif @course%> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>"); + $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>"); <%end%> init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%"); \ No newline at end of file diff --git a/app/views/student_work/_set_score_rule_detail.html.erb b/app/views/student_work/_set_score_rule_detail.html.erb index f49bb2c69..4739fba47 100644 --- a/app/views/student_work/_set_score_rule_detail.html.erb +++ b/app/views/student_work/_set_score_rule_detail.html.erb @@ -40,10 +40,12 @@ 教辅评分 <%= select_tag :ta_proportion,options_for_select(ta_proportion_option_to(100-(homework.homework_detail_programing ? homework.homework_detail_programing.ta_proportion * 100 : 0).to_i),homework.homework_detail_manual.ta_proportion), {:class => "markPercentage"} %>
    -
    - 学生匿评 - -
    + <% if homework.anonymous_comment == 0 %> +
    + 学生匿评 + +
    + <% end %>
    教师优先 /> @@ -51,7 +53,7 @@
    取消 diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index c9be16521..6d929ac5f 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -56,8 +56,9 @@ <% if edit_mode %> 确定 - <%= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%> - <% else %> + <%#= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%> + 取消 + <% else %> 发送 取消 From ee7b21de7231940a06f97949fa383dd62833a2ae Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 4 Nov 2015 10:54:09 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E7=A6=81=E7=94=A8=E5=8C=BF=E8=AF=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 23 +++++++++- app/views/courses/_course_activity.html.erb | 2 +- .../alert_forbidden_anonymous_comment.js.erb | 6 +++ .../_alert_forbidden_anonymous.html.erb | 16 +++++++ .../_evaluation_un_title.html.erb | 14 +++--- .../student_work/_evaluation_un_work.html.erb | 5 ++- .../forbidden_anonymous_comment.js.erb | 7 +++ app/views/users/_course_homework.html.erb | 24 ++++++---- app/views/users/_user_activities.html.erb | 17 ++++--- .../users/_user_homework_detail.html.erb | 44 +++++++++++++------ config/routes.rb | 3 ++ ...dd_anonymous_comment_to_homework_common.rb | 5 +++ db/schema.rb | 11 ++--- lib/tasks/homework_evaluation.rake | 4 +- 14 files changed, 132 insertions(+), 49 deletions(-) create mode 100644 app/views/homework_common/alert_forbidden_anonymous_comment.js.erb create mode 100644 app/views/student_work/_alert_forbidden_anonymous.html.erb create mode 100644 app/views/student_work/forbidden_anonymous_comment.js.erb create mode 100644 db/migrate/20151102085318_add_anonymous_comment_to_homework_common.rb diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 25782ec4b..38b953732 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -3,11 +3,11 @@ class StudentWorkController < ApplicationController include StudentWorkHelper require 'bigdecimal' require "base64" - before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:set_score_rule] + before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:set_score_rule,:forbidden_anonymous_comment] before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work] before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work] before_filter :author_of_work, :only => [:edit, :update, :destroy] - before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :set_score_rule] + before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :set_score_rule, :forbidden_anonymous_comment] ### def program_test @@ -469,6 +469,25 @@ class StudentWorkController < ApplicationController end end + def forbidden_anonymous_comment + @homework.update_column('anonymous_comment', 1) + homework_detail_manual = @homework.homework_detail_manual + homework_detail_programing = @homework.homework_detail_programing + if homework_detail_programing + homework_detail_manual.update_column('ta_proportion', 0.4) + homework_detail_programing.update_column('ta_proportion', 0.6) + else + homework_detail_manual.update_column('ta_proportion', 1.0) + end + @homework.student_works.each do |student_work| + set_final_score @homework,student_work + student_work.save + end + @user_activity_id = params[:user_activity_id].to_i + @is_in_course = params[:is_in_course].to_i + @course_activity = params[:course_activity].to_i + end + private #获取作业 def find_homework diff --git a/app/views/courses/_course_activity.html.erb b/app/views/courses/_course_activity.html.erb index 4a7cb900d..a54e0667e 100644 --- a/app/views/courses/_course_activity.html.erb +++ b/app/views/courses/_course_activity.html.erb @@ -92,7 +92,7 @@ <% act = activity.course_act %> <% case activity.course_act_type.to_s %> <% when 'HomeworkCommon' %> - <%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id} %> + <%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id, :course_activity => 1} %> <% when 'News' %> <%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %> <% when 'Message' %> diff --git a/app/views/homework_common/alert_forbidden_anonymous_comment.js.erb b/app/views/homework_common/alert_forbidden_anonymous_comment.js.erb new file mode 100644 index 000000000..5177f4d92 --- /dev/null +++ b/app/views/homework_common/alert_forbidden_anonymous_comment.js.erb @@ -0,0 +1,6 @@ +$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/alert_forbidden_anonymous', :locals => {:user_activity_id => @user_activity_id,:is_in_course => @is_in_course,:course_activity => @course_activity}) %>'); +showModal('ajax-modal', '500px'); +$('#ajax-modal').siblings().remove(); +$('#ajax-modal').before("" + + ""); +$('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed"); \ No newline at end of file diff --git a/app/views/student_work/_alert_forbidden_anonymous.html.erb b/app/views/student_work/_alert_forbidden_anonymous.html.erb new file mode 100644 index 000000000..55f21048f --- /dev/null +++ b/app/views/student_work/_alert_forbidden_anonymous.html.erb @@ -0,0 +1,16 @@ +
    +
    +

    禁用匿评

    +

    + 禁用匿评后学生将不能对作品进行互评,且匿评不能再开启,是否确定禁用匿评? +

    + +
    +
    \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb index 9a21e109b..26c69d225 100644 --- a/app/views/student_work/_evaluation_un_title.html.erb +++ b/app/views/student_work/_evaluation_un_title.html.erb @@ -35,12 +35,14 @@ <% end%> -
  • - <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%> - <% if @show_all && @order == "student_score"%> - <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%> - <% end%> -
  • + <% if @homework.anonymous_comment == 0%> +
  • + <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%> + <% if @show_all && @order == "student_score"%> + <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%> + <% end%> +
  • + <% end %>
  • <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%> diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb index 832350e3e..6996ed6a6 100644 --- a/app/views/student_work/_evaluation_un_work.html.erb +++ b/app/views/student_work/_evaluation_un_work.html.erb @@ -47,7 +47,8 @@
  • <% end%> -
  • + <% if @homework.anonymous_comment == 0%> +
  • <%= student_work.student_score.nil? ? "--" : format("%.1f",student_work.student_score)%> <% unless student_work.student_score.nil?%> @@ -61,7 +62,7 @@
  • <% end%> - + <% end %> <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
  • diff --git a/app/views/student_work/forbidden_anonymous_comment.js.erb b/app/views/student_work/forbidden_anonymous_comment.js.erb new file mode 100644 index 000000000..a72c29509 --- /dev/null +++ b/app/views/student_work/forbidden_anonymous_comment.js.erb @@ -0,0 +1,7 @@ +<% if @user_activity_id == -1 %> +$("#homework_common_<%= @homework.id %>").replaceWith("<%= escape_javascript(render :partial => "users/user_homework_detail",:locals => {:homework_common => @homework, :is_in_course => @is_in_course})%>"); +init_activity_KindEditor_data(<%= @homework.id%>,"","87%"); +<% else %> +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_homework', :locals => {:activity => @homework,:user_activity_id =>@user_activity_id,:course_activity=>@course_activity}) %>"); +init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%"); +<% end %> \ No newline at end of file diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb index aa0344800..4dd6f1a0a 100644 --- a/app/views/users/_course_homework.html.erb +++ b/app/views/users/_course_homework.html.erb @@ -57,25 +57,33 @@
  • <% if is_teacher%> + <% comment_status = activity.homework_detail_manual.comment_status %>
      • - <%= link_to l(:button_edit),edit_homework_common_path(activity,:is_in_course => 0), :class => "postOptionLink"%> + <%= link_to l(:button_edit),edit_homework_common_path(activity,:is_in_course => -1,:course_activity=>course_activity), :class => "postOptionLink"%>
      • - <%= link_to(l(:label_bid_respond_delete), homework_common_path(activity,:is_in_course => 0),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %> + <%= link_to(l(:label_bid_respond_delete), homework_common_path(activity,:is_in_course => -1,:course_activity=>course_activity),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
      • <%= link_to("评分设置", score_rule_set_homework_common_path(activity,:user_activity_id => user_activity_id, :is_in_course => 0),:class => "postOptionLink", :remote => true) %>
      • -
      • - <%= link_to("匿评设置", start_evaluation_set_homework_common_path(activity),:class => "postOptionLink", :remote => true) if activity.homework_detail_manual.comment_status == 1%> -
      • -
      • - <%= homework_anonymous_comment activity %> -
      • + <% if activity.anonymous_comment == 0 %> +
      • + <%= link_to("匿评设置", start_evaluation_set_homework_common_path(activity),:class => "postOptionLink", :remote => true) if activity.homework_detail_manual.comment_status == 1%> +
      • +
      • + <%= homework_anonymous_comment activity %> +
      • + <% end %> + <% if activity.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%> +
      • + <%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(activity,:user_activity_id => user_activity_id,:course_activity=>course_activity),:class => "postOptionLink", :remote => true)%> +
      • + <% end %>
    diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb index f4ddcc050..669953afa 100644 --- a/app/views/users/_user_activities.html.erb +++ b/app/views/users/_user_activities.html.erb @@ -11,7 +11,6 @@ .ke-inline-block{display: none;} div.ke-container{float:left;} -<% first_user_activity = user_activities.first.id unless user_activities.first.nil? %> <% user_activities.each do |user_activity| if user_activities %>