From 3476731b83a418fa31153866e64245a6ecb16554 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 9 Dec 2015 09:59:13 +0800
Subject: [PATCH 01/42] =?UTF-8?q?=E5=B0=86at=20js=20data=E6=95=B4=E5=90=88?=
=?UTF-8?q?=E5=88=B0=E6=96=87=E4=BB=B6=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/at_controller.rb | 25 +++++++++++++++++++++++
app/controllers/issues_controller.rb | 29 ++++++++++-----------------
app/helpers/application_helper.rb | 10 +--------
app/views/at/show.js.erb | 8 ++++++++
app/views/issues/show.html.erb | 2 +-
config/routes.rb | 3 ++-
public/assets/kindeditor/at/config.js | 5 ++---
7 files changed, 50 insertions(+), 32 deletions(-)
create mode 100644 app/controllers/at_controller.rb
create mode 100644 app/views/at/show.js.erb
diff --git a/app/controllers/at_controller.rb b/app/controllers/at_controller.rb
new file mode 100644
index 000000000..92506d4e8
--- /dev/null
+++ b/app/controllers/at_controller.rb
@@ -0,0 +1,25 @@
+#coding=utf-8
+
+class AtController < ApplicationController
+ respond_to :js
+
+ def show
+ type = params[:type]
+ case type
+ when "Issue"
+ @users = find_issue(params)
+ else
+ end
+ end
+
+ private
+ def find_issue(params)
+ #1. issues list persons
+ #2. project persons
+ issue = Issue.find(params[:id])
+ journals = issue.journals
+ at_persons = journals.map(&:user) + issue.project.users
+ at_persons.uniq{|u| u.id}.delete_if{|u| u.id == User.current.id}
+ end
+
+end
\ No newline at end of file
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 7cdc838e2..6f441c29a 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -142,24 +142,17 @@ class IssuesController < ApplicationController
@project_base_tag = (params[:project_id] || @issue.project) ? 'base_projects':'base'#by young
@available_watchers = (@issue.project.users.sort + @issue.watcher_users).uniq
- #id name email
- #1. issues list persons
- #2. project persons
- @at_persons = @journals.map(&:user) + @issue.project.users
- @at_persons = @at_persons.uniq{|u| u.id}.delete_if{|u| u.id == User.current.id}
- @at_persons = nil
-
- respond_to do |format|``
- format.html {
- retrieve_previous_and_next_issue_ids
- render :template => 'issues/show', :layout => @project_base_tag#by young
- }
- format.api
- format.atom { render :template => 'journals/index', :layout => false, :content_type => 'application/atom+xml' }
- format.pdf {
- pdf = issue_to_pdf(@issue, :journals => @journals)
- send_data(pdf, :type => 'application/pdf', :filename => filename_for_content_disposition("#{@project.identifier}-#{@issue.id}.pdf") )
- }
+ respond_to do |format|
+ format.html {
+ retrieve_previous_and_next_issue_ids
+ render :template => 'issues/show', :layout => @project_base_tag#by young
+ }
+ format.api
+ format.atom { render :template => 'journals/index', :layout => false, :content_type => 'application/atom+xml' }
+ format.pdf {
+ pdf = issue_to_pdf(@issue, :journals => @journals)
+ send_data(pdf, :type => 'application/pdf', :filename => filename_for_content_disposition("#{@project.identifier}-#{@issue.id}.pdf") )
+ }
end
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index ba8fe4f53..227de930f 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2624,15 +2624,7 @@ int main(int argc, char** argv){
opt = {enable_at: true, prettify: false, init_activity: false}.merge default_opt
ss = ''
if opt[:enable_at]
- ss = '"
+ ss += %Q||
end
ss += javascript_include_tag("/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg')
diff --git a/app/views/at/show.js.erb b/app/views/at/show.js.erb
new file mode 100644
index 000000000..df253f237
--- /dev/null
+++ b/app/views/at/show.js.erb
@@ -0,0 +1,8 @@
+(function(){
+ window.atPersonLists = [];
+ <% @users && @users.each_with_index do |person,index| %>
+ var o = {id: <%=index%>, name: '<%=person.show_name%>', login: '<%=person.login%>', searchKey: '<%=person.get_at_show_name%>'};
+ atPersonLists.push(o);
+ <% end %>
+
+})();
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 80d3aaac1..67d1186c4 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -1,5 +1,5 @@
<%= content_for(:header_tags) do %>
-<%= import_ke(enable_at: true) %>
+<%= import_ke(enable_at: {id: @issue.id, type: 'Issue'}) %>
<% end %>
diff --git a/app/views/memos/show.html.erb b/app/views/memos/show.html.erb
index 44f3e5a64..b7cc1a0c2 100644
--- a/app/views/memos/show.html.erb
+++ b/app/views/memos/show.html.erb
@@ -34,7 +34,7 @@
}
}
$(function() {
- init_activity_KindEditor_data(<%= @memo.id%>,null,"87%");
+ init_activity_KindEditor_data(<%= @memo.id%>,null,"87%", "<%=@memo.class.to_s%>");
});
function del_confirm(){
diff --git a/app/views/messages/_course_show.html.erb b/app/views/messages/_course_show.html.erb
index 0f39b73d2..e06c04775 100644
--- a/app/views/messages/_course_show.html.erb
+++ b/app/views/messages/_course_show.html.erb
@@ -27,7 +27,7 @@
}
}
$(function() {
- init_activity_KindEditor_data(<%= @topic.id%>,null,"85%");
+ init_activity_KindEditor_data(<%= @topic.id%>,null,"85%", "<%=@topic.class.to_s%>");
showNormalImage('message_description_<%= @topic.id %>');
});
diff --git a/app/views/messages/quote.js.erb b/app/views/messages/quote.js.erb
index eee820c61..b0e8ecb85 100644
--- a/app/views/messages/quote.js.erb
+++ b/app/views/messages/quote.js.erb
@@ -11,7 +11,7 @@ if($("#reply_message_<%= @message.id%>").length > 0) {
$(function(){
$('#reply_subject').val("<%= raw escape_javascript(@subject) %>");
$('#quote_quote').val("<%= raw escape_javascript(@temp.content.html_safe) %>");
- init_activity_KindEditor_data(<%= @message.id%>,null,"85%");
+ init_activity_KindEditor_data(<%= @message.id%>,null,"85%", "<%=@message.class.to_s%>");
});
}else if($("#reply_to_message_<%= @message.id%>").length >0) {
$("#reply_to_message_<%= @message.id%>").replaceWith("
");
diff --git a/app/views/messages/reply.js.erb b/app/views/messages/reply.js.erb
index ac80de3b4..518479344 100644
--- a/app/views/messages/reply.js.erb
+++ b/app/views/messages/reply.js.erb
@@ -3,4 +3,4 @@
<%elsif @course%>
$("#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
+init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%", "UserActivity");
\ No newline at end of file
diff --git a/app/views/org_document_comments/_reply_form.html.erb b/app/views/org_document_comments/_reply_form.html.erb
index 7871b910d..8808ff8b7 100644
--- a/app/views/org_document_comments/_reply_form.html.erb
+++ b/app/views/org_document_comments/_reply_form.html.erb
@@ -1,2 +1,2 @@
$("#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%");
+init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%", "UserActivity");
diff --git a/app/views/org_document_comments/add_reply.js.erb b/app/views/org_document_comments/add_reply.js.erb
index 40ed2eeb2..84f8c1f83 100644
--- a/app/views/org_document_comments/add_reply.js.erb
+++ b/app/views/org_document_comments/add_reply.js.erb
@@ -1,3 +1,3 @@
$("#organization_document_<%= @act.id %>").replaceWith("<%= escape_javascript(render :partial => 'organizations/show_org_document', :locals => {:document => @document, :act => @act}) %>");
-init_activity_KindEditor_data(<%= @act.id %>,"","87%");
\ No newline at end of file
+init_activity_KindEditor_data(<%= @act.id %>,"","87%", "<%=@act.class.to_s%>");
\ No newline at end of file
diff --git a/app/views/org_document_comments/index.html.erb b/app/views/org_document_comments/index.html.erb
index 331e61bfd..ddbb6bf9c 100644
--- a/app/views/org_document_comments/index.html.erb
+++ b/app/views/org_document_comments/index.html.erb
@@ -19,7 +19,7 @@
<% @documents.each do |document| %>
<%= render :partial => 'organizations/show_org_document', :locals => {:document => document, :act => OrgActivity.where("org_act_type='OrgDocumentComment'and org_act_id=?", document.id).first} %>
diff --git a/app/views/org_document_comments/quote.js.erb b/app/views/org_document_comments/quote.js.erb
index a71b23f0e..7ea5daf7b 100644
--- a/app/views/org_document_comments/quote.js.erb
+++ b/app/views/org_document_comments/quote.js.erb
@@ -3,7 +3,7 @@ if($("#reply_message_<%= @org_comment.id%>").length > 0) {
$(function(){
$('#reply_subject').val("<%= raw escape_javascript(@subject) %>");
$('#quote_quote').val("<%= raw escape_javascript(@temp.content.html_safe) %>");
- init_activity_KindEditor_data(<%= @org_comment.id%>,null,"85%");
+ init_activity_KindEditor_data(<%= @org_comment.id%>,null,"85%", "<%=@org_comment.class.to_s%>");
});
}else if($("#reply_to_message_<%= @org_comment.id %>").length >0) {
$("#reply_to_message_<%= @org_comment.id%>").replaceWith("");
diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb
index 1b1eca418..3a50e5faa 100644
--- a/app/views/org_document_comments/show.html.erb
+++ b/app/views/org_document_comments/show.html.erb
@@ -5,7 +5,7 @@
diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb
index 33ac13e76..8f9acbc7b 100644
--- a/app/views/organizations/_org_activities.html.erb
+++ b/app/views/organizations/_org_activities.html.erb
@@ -2,7 +2,7 @@
<% org_activities.each do |act| %>
<% if act.container_type == 'Organization' %>
diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb
index 7200761a3..9d62dd1f9 100644
--- a/app/views/organizations/show.html.erb
+++ b/app/views/organizations/show.html.erb
@@ -59,7 +59,7 @@
<% if !@organization.home_id.nil? and OrgDocumentComment.where("id = ?", @organization.home_id).count > 0 %>
<% act = OrgActivity.where("org_act_type = 'OrgDocumentComment' and org_act_id =?", @organization.home_id).first %>
diff --git a/app/views/student_work/forbidden_anonymous_comment.js.erb b/app/views/student_work/forbidden_anonymous_comment.js.erb
index a72c29509..47dfb4b51 100644
--- a/app/views/student_work/forbidden_anonymous_comment.js.erb
+++ b/app/views/student_work/forbidden_anonymous_comment.js.erb
@@ -1,7 +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%");
+init_activity_KindEditor_data(<%= @homework.id%>,"","87%", "<%=@homework.class.to_s%>");
<% 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%");
+init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%", "UserActivity");
<% end %>
\ No newline at end of file
diff --git a/app/views/student_work/set_score_rule.js.erb b/app/views/student_work/set_score_rule.js.erb
index ff3a0e7ed..180f04faa 100644
--- a/app/views/student_work/set_score_rule.js.erb
+++ b/app/views/student_work/set_score_rule.js.erb
@@ -1,8 +1,8 @@
clickCanel();
<% if @user_activity_id %>
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_homework', :locals => {:activity => @homework,:user_activity_id =>@user_activity_id}) %>");
- init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
+ init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%", "UserActivity");
<% else %>
$("#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%");
+ init_activity_KindEditor_data(<%= @homework.id%>,"","87%", "<%=@homework.class.to_s%>");
<% end %>
\ No newline at end of file
diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb
index 4f1d3a5d8..557b9e9ee 100644
--- a/app/views/users/_user_activities.html.erb
+++ b/app/views/users/_user_activities.html.erb
@@ -1,12 +1,12 @@
<%= content_for(:header_tags) do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
+ <%= import_ke(enable_at: true, prettify: false, init_activity: true) %>
<% end %>
-<%= content_for(:header_tags) do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
-<% end %>
-
-
+<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_KindEditor" %>
@@ -24,11 +20,11 @@
<%= l(:label_leave_message) %>
<% if !User.current.logged?%>
-
- <%= l(:label_user_login_tips) %>
- <%= link_to l(:label_user_login_new), signin_path %>
-
-
+
+ <%= l(:label_user_login_tips) %>
+ <%= link_to l(:label_user_login_new), signin_path %>
+
+
<% else %>
<%= form_for('new_form',:url => {:controller => 'words', :action => 'leave_course_message'}, :html=>{:id => "course_feedback_new"},:method => "post") do |f|%>
@@ -59,37 +55,37 @@
$("#submit_feedback_course").one('click',function() {
$("#course_feedback_new").submit();
});
- KindEditor.ready(function(K){
- $("a[nhname='reply_btn']").live('click',function(){
- var params = {};
- params.kindutil = K;
- params.container = $(this).parent('div').parent('div');
- params.div_form = $(">.respond-form",params.container);
- params.form = $("form",params.div_form);
- params.textarea = $("textarea[name='user_notes']",params.div_form);
- params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
- params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
- params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
- params.height = 55;
- if(params.textarea.data('init') == undefined){
- params.editor = init_editor(params);
- init_form(params);
- params.cancel_btn.click(function(){
- nh_reset_form(params);
- });
- }
- params.cancel_btn.click();
- toggleAndSettingWordsVal(params.div_form, params.textarea);
- setTimeout(function(){
- if(!params.div_form.is(':hidden')){
- params.textarea.show();
- params.textarea.focus();
- params.textarea.hide();
- }
- },300);
- params.textarea.data('init',1);
- });
+ KindEditor.ready(function(K){
+ $("a[nhname='reply_btn']").live('click',function(){
+ var params = {};
+ params.kindutil = K;
+ params.container = $(this).parent('div').parent('div');
+ params.div_form = $(">.respond-form",params.container);
+ params.form = $("form",params.div_form);
+ params.textarea = $("textarea[name='user_notes']",params.div_form);
+ params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
+ params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
+ params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
+ params.height = 55;
+ if(params.textarea.data('init') == undefined){
+ params.editor = init_editor(params);
+ init_form(params);
+ params.cancel_btn.click(function(){
+ nh_reset_form(params);
+ });
+ }
+ params.cancel_btn.click();
+ toggleAndSettingWordsVal(params.div_form, params.textarea);
+ setTimeout(function(){
+ if(!params.div_form.is(':hidden')){
+ params.textarea.show();
+ params.textarea.focus();
+ params.textarea.hide();
+ }
+ },300);
+ params.textarea.data('init',1);
+ });
+ });
});
- });
From dc4532145487e903367e0bbddf0ea1eedea89c7b Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Tue, 15 Dec 2015 17:34:40 +0800
Subject: [PATCH 12/42] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=96=87=E7=AB=A0?=
=?UTF-8?q?=E4=BA=8C=E7=BA=A7=E5=9B=9E=E5=A4=8D=E4=BB=A3=E7=A0=81=E8=A2=AB?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=EF=BC=8C=E6=81=A2=E5=A4=8D=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/org_document_comments/show.html.erb | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb
index dfe27cde3..7a64e4514 100644
--- a/app/views/org_document_comments/show.html.erb
+++ b/app/views/org_document_comments/show.html.erb
@@ -1,8 +1,4 @@
-<%= content_for(:header_tags) do %>
- <%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
-<%= javascript_include_tag 'blog' %>
-<% end %>
-
+<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_activity_KindEditor",'blog' %>
+
+ <% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
+ <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s,:alt =>"项目头像" %>
<% else %>
- <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius") %>
+ <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s,:alt =>"项目头像") %>
<% end %>
-
<%=project.project_score.score.to_i %>
+
+ 项目名称:<%=project.name %>
+ 创建者:<%=(User.find project.user_id).show_name %>
+ <% time=project.updated_on %>
+ <% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
+ 更新时间:<%=time_from_now time %>
+
<% end %>
diff --git a/app/views/users/_user_homework_detail.html.erb b/app/views/users/_user_homework_detail.html.erb
index 4217cf1a9..536a9deb6 100644
--- a/app/views/users/_user_homework_detail.html.erb
+++ b/app/views/users/_user_homework_detail.html.erb
@@ -102,18 +102,32 @@
<% if homework_common.homework_type == 3 && !homework_common.student_work_projects.empty? && homework_common.homework_detail_group.base_on_project == 1 %>
-
已关联项目:
<% homework_common.student_work_projects.where("is_leader = 1").each do |pro| %>
-
- <% project = Project.find pro.project_id %>
+ <% project = Project.find pro.project_id %>
+
+
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
- <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:alt =>"项目头像" %>
+ <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s,:alt =>"项目头像" %>
<% else %>
- <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius") %>
+ <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s,:alt =>"项目头像") %>
<% end %>
-
<%=project.project_score.score.to_i %>
+
+ 项目名称:<%=project.name %>
+ 创建者:<%=(User.find project.user_id).show_name %>
+ <% time=project.updated_on %>
+ <% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
+ 更新时间:<%=time_from_now time %>
+
<% end %>
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index 77c839f8d..6a6c3a7e7 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -1209,6 +1209,7 @@ a:hover.blueCir{ background:#3598db; color:#fff;}
.proHelp {background:url(/images/course/hwork_icon.png) -5px -124px no-repeat; display:inline-block; width:15px; height:15px; display:inline-block;}
.hworkPrName {width:110px; max-width:110px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:18px; line-height:18px; font-size:12px; color:#888888; text-align:center;}
.mr150 {margin-right:150px;}
+.relatePInfo {position:absolute; background-color:#ffffff; padding:3px 8px; white-space:nowrap; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5); z-index:999; color:#585858; cursor:pointer; display:none;}
/*上传资源弹窗*/
.resourceUploadPopup {width:400px; height:auto; border:3px solid #269ac9 !important; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-200px; z-index:1000;}
diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css
index 0ed4df627..5a98211ab 100644
--- a/public/stylesheets/new_user.css
+++ b/public/stylesheets/new_user.css
@@ -1381,3 +1381,5 @@ a:hover.blueCir{ background:#3598db; color:#fff;}
.proHelp {background:url(/images/course/hwork_icon.png) -5px -124px no-repeat; display:inline-block; width:15px; height:15px; display:inline-block;}
.hworkPrName {width:110px; max-width:110px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:18px; line-height:18px; font-size:12px; color:#888888; text-align:center;}
.mr150 {margin-right:150px;}
+.relatePInfo {position:absolute; background-color:#ffffff; padding:3px 8px; white-space:nowrap; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5); z-index:999; color:#585858; cursor:pointer; display:none;}
+
From ab96bf8e5e2d06b756fd1f42589ffeda10b57f95 Mon Sep 17 00:00:00 2001
From: cxt
Date: Wed, 16 Dec 2015 16:00:25 +0800
Subject: [PATCH 23/42] =?UTF-8?q?=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E4=B8=AD=E6=9C=AA=E5=8F=82=E4=B8=8E=E5=8C=BF=E8=AF=84=E7=9A=84?=
=?UTF-8?q?=E4=BD=9C=E5=93=81=E6=98=BE=E7=A4=BA=E2=80=9C=E6=9C=AA=E5=8F=82?=
=?UTF-8?q?=E4=B8=8E=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/student_work/_evaluation_un_work.html.erb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb
index 641405fe4..0a4ab044a 100644
--- a/app/views/student_work/_evaluation_un_work.html.erb
+++ b/app/views/student_work/_evaluation_un_work.html.erb
@@ -57,7 +57,7 @@
<% if @homework.anonymous_comment == 0%>
- <%= student_work.student_score.nil? ? "--" : format("%.1f",student_work.student_score)%>
+ <%= student_work.student_score.nil? ? "未参与" : format("%.1f",student_work.student_score)%>
<% unless student_work.student_score.nil?%>
(<%= student_work.student_works_scores.where(:reviewer_role => 3).count%>)
@@ -84,7 +84,7 @@
缺评扣分
<%= student_work.absence_penalty%> 分,
最终成绩为
- <%= format("%.1f",score)%> 分。
+ <%= format("%.1f",score<0 ? 0 : score)%> 分。
<% end%>
From c0de5d55de11e13e89386595733639dd08df3eac Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 16 Dec 2015 16:37:00 +0800
Subject: [PATCH 24/42] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E4=BA=86issue=E7=9A=84?=
=?UTF-8?q?at=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/issue.rb | 8 +++++---
app/views/users/_user_at_message.html.erb | 21 +++++++++++++++++++++
app/views/users/user_messages.html.erb | 2 ++
db/schema.rb | 16 +++++++++++++++-
4 files changed, 43 insertions(+), 4 deletions(-)
create mode 100644 app/views/users/_user_at_message.html.erb
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 11daf670f..5ecb3e36f 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -52,6 +52,7 @@ class Issue < ActiveRecord::Base
# ForgeMessage虚拟关联(多态)
has_many :forge_messages, :class_name => 'ForgeMessage',:as =>:forge_message ,:dependent => :destroy
+ has_many :at_messages, class_name: 'AtMessage', as: :at_message ,:dependent => :destroy
acts_as_nested_set :scope => 'root_id', :dependent => :destroy
acts_as_attachable :before_add => :attachment_added, :after_remove => :attachment_removed
@@ -82,7 +83,7 @@ class Issue < ActiveRecord::Base
attr_reader :current_journal
# fq
- after_create :act_as_activity,:be_user_score_new_issue,:act_as_forge_activity, :act_as_forge_message
+ after_create :act_as_activity,:be_user_score_new_issue,:act_as_forge_activity, :act_as_forge_message, :act_as_at_message
after_update :be_user_score
after_destroy :down_user_score
# after_create :be_user_score
@@ -159,8 +160,9 @@ class Issue < ActiveRecord::Base
# at 功能添加消息提醒
def act_as_at_message
users = self.description.scan /
/m
- ### xxx 在 xxx 中at了你
-
+ users && users.flatten.uniq.each do |uid|
+ self.at_messages << AtMessage.new(user_id: uid, sender_id: self.author_id)
+ end
end
# 更新缺陷
diff --git a/app/views/users/_user_at_message.html.erb b/app/views/users/_user_at_message.html.erb
new file mode 100644
index 000000000..0b706c4ce
--- /dev/null
+++ b/app/views/users/_user_at_message.html.erb
@@ -0,0 +1,21 @@
+<% if AtMessage === ma %>
+
+ <%=link_to image_tag(url_to_avatar(ma.at_message.author), :width => "30", :height => "30"),user_path(ma.at_message.author) %>
+
+ <%= ma.at_message.author.login %> 提到了你:
+
+
+ <%= link_to ma.at_message.subject, {:controller => :issues, :action => 'show', :id => ma.at_message.id },
+ :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}",
+ :onmouseover =>"message_titile_show($(this),event)",
+ :onmouseout => "message_titile_hide($(this))" %>
+
+
标题: <%= ma.at_message.subject %>
+ <% unless ma.at_message.description.nil? %>
+
内容:
+
<%= ma.at_message.description.html_safe %>
+ <% end %>
+
+ <%= time_tag(ma.created_at).html_safe %>
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb
index f83e5617c..d690f7e43 100644
--- a/app/views/users/user_messages.html.erb
+++ b/app/views/users/user_messages.html.erb
@@ -17,6 +17,8 @@
<%# 系统消息 %>
<%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %>
+ <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %>
+
<%# 课程消息 %>
<%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %>
diff --git a/db/schema.rb b/db/schema.rb
index 17e613acb..2bf172198 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20151209085942) do
+ActiveRecord::Schema.define(:version => 20151216030610) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -66,6 +66,20 @@ ActiveRecord::Schema.define(:version => 20151209085942) do
t.datetime "updated_at", :null => false
end
+ create_table "at_messages", :force => true do |t|
+ t.integer "user_id"
+ t.integer "at_message_id"
+ t.string "at_message_type"
+ t.boolean "viewed"
+ t.string "container_type"
+ t.integer "container_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ t.integer "sender_id"
+ end
+
+ add_index "at_messages", ["user_id"], :name => "index_at_messages_on_user_id"
+
create_table "attachments", :force => true do |t|
t.integer "container_id"
t.string "container_type", :limit => 30
From bb23049f5555dcc5455aacf9e664c30c83aaae9a Mon Sep 17 00:00:00 2001
From: huang
Date: Wed, 16 Dec 2015 17:04:17 +0800
Subject: [PATCH 25/42] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=BA=93=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4=E6=AC=A1=E6=95=B0=E5=B0=81=E8=A3=85=20=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/repositories_controller.rb | 37 ++-----------------
app/helpers/application_helper.rb | 36 +++++++++++++++++++
app/helpers/project_score_helper.rb | 1 +
app/views/repositories/_revisions.html.erb | 42 ++++++++--------------
4 files changed, 54 insertions(+), 62 deletions(-)
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index f0b15e8f8..8eb6a6860 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -348,10 +348,6 @@ update
# end
# end
-
-
-
-
@changesets = g.commits(@project.gpid, :ref_name => @rev)
# @changesets = @repository.latest_changesets(@path, @rev)
# @changesets_count = @repository.latest_changesets(@path, @rev).count
@@ -378,19 +374,6 @@ update
alias_method :browse, :show
- #add by hx
- def count_commits(project_id , left , right)
- count = 0
- (left..right).each do |page|
- if $g.commits(project_id,:page => page).count == 0
- break
- else
- count = count + $g.commits(project_id,:page => page).count
- end
- end
- return count
- end
-
def changes
@entry = @repository.entry(@path, @rev)
(show_error_not_found; return) unless @entry
@@ -400,26 +383,10 @@ update
@commits = g.commits(@project.gpid, page:(params[:page].to_i - 1).to_s)
#add by hx
- if g.commits(@project.gpid , :page=>200).count > 0
- count = 4020
- elsif g.commits(@project.gpid , :page=>25).count==0
- count = count_commits(@project.gpid , 0 , 25)
- elsif g.commits(@project.gpid , :page=>50).count ==0
- count = count_commits(@project.gpid , 25 , 50)+ 25 * 20
- elsif g.commits(@project.gpid , :page=>75).count ==0
- count = count_commits(@project.gpid , 50 , 75)+ 50 * 20
- elsif g.commits(@project.gpid , :page=>100).count== 0
- count = count_commits(@project.gpid , 75 , 100) + 75 * 20
- elsif g.commits(@project.gpid , :page=>125).count==0
- count = count_commits(@project.gpid , 100 , 125) + 100 * 20
- elsif g.commits(@project.gpid , :page=>150).count==0
- count = count_commits(@project.gpid , 125 , 150) + 125 * 20
- else
- count = count_commits(@project.gpid , 150 ,200) + 150 * 20
- end
+ rep_count = commit_count(@project)
#页面传递必须要str类型,但是Paginator的初始化必须要num类型,需要类型转化
- @commits_count = count
+ @commits_count = rep_count
@commits_pages = Redmine::Pagination::Paginator.new @commits_count,limit,params[:page]
@commit = g.commit(@project.gpid,@rev)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 5a9563b73..667314531 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -668,6 +668,42 @@ module ApplicationHelper
return rep.blank? ? true :false
end
+ # 获取Gitlab版本库提交总数
+ def commit_count(project)
+ g = Gitlab.client
+ #add by hx
+ if g.commits(project.gpid , :page=>200).count > 0
+ count = 4020
+ elsif g.commits(project.gpid , :page=>25).count==0
+ count = count_commits(project.gpid , 0 , 25)
+ elsif g.commits(project.gpid , :page=>50).count ==0
+ count = count_commits(project.gpid , 25 , 50)+ 25 * 20
+ elsif g.commits(project.gpid , :page=>75).count ==0
+ count = count_commits(project.gpid , 50 , 75)+ 50 * 20
+ elsif g.commits(project.gpid , :page=>100).count== 0
+ count = count_commits(project.gpid , 75 , 100) + 75 * 20
+ elsif g.commits(project.gpid , :page=>125).count==0
+ count = count_commits(project.gpid , 100 , 125) + 100 * 20
+ elsif g.commits(project.gpid , :page=>150).count==0
+ count = count_commits(project.gpid , 125 , 150) + 125 * 20
+ else
+ count = count_commits(project.gpid , 150 ,200) + 150 * 20
+ end
+ end
+
+ #add by hx
+ def count_commits(project_id , left , right)
+ count = 0
+ (left..right).each do |page|
+ if $g.commits(project_id,:page => page).count == 0
+ break
+ else
+ count = count + $g.commits(project_id,:page => page).count
+ end
+ end
+ return count
+ end
+
# 获取单一gitlab项目
def gitlab_repository(project)
rep = Repository.where("project_id =? and type =?", project.id,"Repository::Gitlab" ).first
diff --git a/app/helpers/project_score_helper.rb b/app/helpers/project_score_helper.rb
index 104cd16cb..256e35a7a 100644
--- a/app/helpers/project_score_helper.rb
+++ b/app/helpers/project_score_helper.rb
@@ -22,6 +22,7 @@ module ProjectScoreHelper
#代码提交数量
def changesets_num project
+ # commit_count(project)
project.changesets.count
end
diff --git a/app/views/repositories/_revisions.html.erb b/app/views/repositories/_revisions.html.erb
index b72a05876..4d6e39f88 100644
--- a/app/views/repositories/_revisions.html.erb
+++ b/app/views/repositories/_revisions.html.erb
@@ -20,42 +20,31 @@
-
<% if !user_commit_rep(changeset.author_email).nil? %>
- <%= image_tag(url_to_avatar(user_commit_rep(changeset.author_email)), :width => "20", :height => "20", :class => "fl portraitRadius mt2 ml4 mr5") %>
- <%= link_to user_commit_rep(changeset.author_email), user_path(user_commit_rep(changeset.author_email)), :length => 30 %>
- 提交于
+ <%= image_tag(url_to_avatar(user_commit_rep(changeset.author_email)), :width => "20", :height => "20", :class => "fl portraitRadius mt2 ml4 mr5") %>
+ <%= link_to user_commit_rep(changeset.author_email), user_path(user_commit_rep(changeset.author_email)), :length => 30 %>提交于
- <%= time_tag(changeset.created_at) %>
- 前
-
-
+ <%= time_tag(changeset.created_at) %>前
<% else %>
-
<%= changeset.author_email %>
- 提交于
+
<%= changeset.author_email %> 提交于
- <%= time_tag(changeset.created_at) %>
- 前
-
-
+ <%= time_tag(changeset.created_at) %> 前
<% end %>
-
-
+
@@ -65,7 +54,6 @@
<%#= submit_tag(l(:label_view_diff), :name => nil, :class=>"c_blue") if show_diff %>
-
<%= pagination_links_full commits_pages, commits_count, :per_page_links => false, :remote => false, :flag => true %>
From a8c8dc3cc6a913967f0b2dc29997afc08430b89a Mon Sep 17 00:00:00 2001
From: cxt
Date: Wed, 16 Dec 2015 17:38:28 +0800
Subject: [PATCH 26/42] =?UTF-8?q?=E5=85=B3=E8=81=94=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E7=9A=84=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../student_work/_relate_project.html.erb | 2 +-
app/views/users/_course_homework.html.erb | 24 +++++++++++------
.../users/_user_homework_detail.html.erb | 26 ++++++++++++++-----
3 files changed, 36 insertions(+), 16 deletions(-)
diff --git a/app/views/student_work/_relate_project.html.erb b/app/views/student_work/_relate_project.html.erb
index 43f59c9c9..9a1fcead5 100644
--- a/app/views/student_work/_relate_project.html.erb
+++ b/app/views/student_work/_relate_project.html.erb
@@ -4,7 +4,7 @@
<%=form_tag url_for(:controller=>'student_work',:action=>'student_work_project',:homework=>@homework.id,:user_activity_id=>@user_activity_id,:is_in_course=>@is_in_course,:course_activity =>@course_activity),:id =>'student_work_relate_project',:class=>'resourcesSearchBox',:remote => true do %>
- 您当前尚未参与任何项目,请先加入项目再关联。
+ 您当前尚未创建任何项目,请先创建项目再关联。
diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb
index fe02d9882..8112bc521 100644
--- a/app/views/users/_course_homework.html.erb
+++ b/app/views/users/_course_homework.html.erb
@@ -13,7 +13,7 @@
<% end %> TO
<%= link_to activity.course.name.to_s+" | 课程作业", homework_common_index_path(:course => activity.course.id, :host=> Setting.host_course), :class => "newsBlue ml15"%>
-
+
<%= link_to activity.name.to_s, student_work_index_path(:homework => activity.id,:host=> Setting.host_course), :class => "postGrey"%>
<% if activity.homework_detail_manual%>
@@ -56,7 +56,7 @@
<% works = cur_user_works_for_homework activity %>
<% if works.nil? && projects.nil? %>
- <%=link_to "关联项目",new_student_work_project_student_work_index_path(:homework => activity.id,:is_in_course=>-1,:user_activity_id=>user_activity_id,:course_activity=>course_activity),remote: true,:class=> 'c_blue', :title=> '请选择分组作业关联的项目' %>
+ <%=link_to "关联项目",new_student_work_project_student_work_index_path(:homework => activity.id,:is_in_course=>-1,:user_activity_id=>user_activity_id,:course_activity=>course_activity),remote: true,:class=> 'c_blue', :title=> '请各组长关联作业项目' %>
<%#= relate_project(activity,is_teacher,-1,user_activity_id,course_activity) %>
<% elsif works.nil? %>
@@ -81,7 +81,6 @@
<%= activity.language_name%>
<% end %>
-
@@ -93,17 +92,26 @@
+
+
+ 匿评开启时间:<%= activity.homework_detail_manual.evaluation_start%> 00:00
+
+
+ 匿评关闭时间:<%= activity.homework_detail_manual.evaluation_end%> 23:59
+
+
+
<%= render :partial => 'student_work/work_attachments', :locals => {:attachments => activity.attachments} %>
- <% if activity.homework_type == 3 && !activity.student_work_projects.empty? && activity.homework_detail_group.base_on_project == 1 %>
+ <% if activity.homework_type == 3 && activity.homework_detail_group.base_on_project == 1 %>
+ <% projects = activity.student_work_projects.where("is_leader = 1") %>
-
- 已关联项目:
+ 已关联项目:<%='各小组尚未将小组项目关联到本次作业。' if projects.empty? %>
- <% activity.student_work_projects.where("is_leader = 1").each do |pro| %>
+ <% projects.each do |pro| %>
<% project = Project.find pro.project_id %>
<%= content_for(:header_tags) do %>
- <%= import_ke(enable_at: false, prettify: false) %>
+ <%= import_ke(enable_at: true, prettify: false) %>
<% end %>
@@ -102,6 +102,10 @@ function nh_init_board(params){
if(/trident/.test(userAgent)){
$("div.talk_new .ke-container").css({'margin-left':'0px'});
}
+
+ if(typeof enableAt === 'function'){
+ enableAt(this,params.about_talk.attr('data-at-id'), params.about_talk.attr('data-at-type'));
+ }
// var toolbar = $("div[class='ke-toolbar']",params.about_talk);
// $(".ke-outline>.ke-toolbar-icon",toolbar).append('表情');
// params.toolbar_container.append(toolbar);
diff --git a/app/views/users/_user_at_message.html.erb b/app/views/users/_user_at_message.html.erb
index 0b706c4ce..f174e8513 100644
--- a/app/views/users/_user_at_message.html.erb
+++ b/app/views/users/_user_at_message.html.erb
@@ -1,19 +1,19 @@
-<% if AtMessage === ma %>
+<% if AtMessage === ma && ma.at_valid? %>
- <%=link_to image_tag(url_to_avatar(ma.at_message.author), :width => "30", :height => "30"),user_path(ma.at_message.author) %>
+ <%=link_to image_tag(url_to_avatar(ma.author), :width => "30", :height => "30"),user_path(ma.author) %>
- <%= ma.at_message.author.login %> 提到了你:
+ <%= ma.author.login %> 提到了你:
- <%= link_to ma.at_message.subject, {:controller => :issues, :action => 'show', :id => ma.at_message.id },
- :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}",
+ <%= link_to ma.subject.html_safe, ma.url,
+ :class =>"#{ma.viewed? ? "newsGrey" : "newsBlack"}",
:onmouseover =>"message_titile_show($(this),event)",
:onmouseout => "message_titile_hide($(this))" %>
-
标题: <%= ma.at_message.subject %>
- <% unless ma.at_message.description.nil? %>
+
标题: <%= ma.subject %>
+ <% unless ma.description.nil? %>
内容:
-
<%= ma.at_message.description.html_safe %>
+
<%= ma.description.html_safe %>
<% end %>
<%= time_tag(ma.created_at).html_safe %>
diff --git a/db/migrate/20151216025539_create_at_messages.rb b/db/migrate/20151216025539_create_at_messages.rb
new file mode 100644
index 000000000..cbb416915
--- /dev/null
+++ b/db/migrate/20151216025539_create_at_messages.rb
@@ -0,0 +1,15 @@
+class CreateAtMessages < ActiveRecord::Migration
+ def change
+ create_table :at_messages do |t|
+ t.references :user
+ t.integer :at_message_id
+ t.string :at_message_type
+ t.boolean :viewed, :default => false
+ t.string :container_type
+ t.integer :container_id
+
+ t.timestamps
+ end
+ add_index :at_messages, :user_id
+ end
+end
diff --git a/db/migrate/20151216030610_add_sender_to_at_message.rb b/db/migrate/20151216030610_add_sender_to_at_message.rb
new file mode 100644
index 000000000..8226484ea
--- /dev/null
+++ b/db/migrate/20151216030610_add_sender_to_at_message.rb
@@ -0,0 +1,5 @@
+class AddSenderToAtMessage < ActiveRecord::Migration
+ def change
+ add_column :at_messages, :sender_id, :integer
+ end
+end
diff --git a/spec/factories/at_messages.rb b/spec/factories/at_messages.rb
new file mode 100644
index 000000000..854c59bfb
--- /dev/null
+++ b/spec/factories/at_messages.rb
@@ -0,0 +1,12 @@
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :at_message do
+ user nil
+ at_message_id 1
+ at_message_type "MyString"
+ viewed false
+ container_type "MyString"
+ container_id 1
+ end
+end
diff --git a/spec/models/at_message_spec.rb b/spec/models/at_message_spec.rb
new file mode 100644
index 000000000..80be12c8f
--- /dev/null
+++ b/spec/models/at_message_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe AtMessage, :type => :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end
From a2ebaa072969bdb27f4f2b805f7f51820ea05396 Mon Sep 17 00:00:00 2001
From: cxt
Date: Thu, 17 Dec 2015 15:28:28 +0800
Subject: [PATCH 35/42] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BD=9C=E5=93=81=E6=97=B6=E5=A6=82=E6=9E=9C?=
=?UTF-8?q?=E5=85=B3=E8=81=94=E4=BA=86=E9=A1=B9=E7=9B=AE=E5=88=99=E4=BB=8E?=
=?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=88=90=E5=91=98=E4=B8=AD=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E5=88=86=E7=BB=84=E6=88=90=E5=91=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/student_work_controller.rb | 7 ++++++-
app/views/student_work/_choose_group_member.html.erb | 2 +-
app/views/student_work/new.html.erb | 5 +++++
app/views/student_work/search_course_students.js.erb | 6 +++++-
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index b79adda2d..650d97555 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -689,7 +689,12 @@ class StudentWorkController < ApplicationController
unless params[:name].nil?
name = params[:name]
end
- all_student_ids = "(" + @homework.course.student.map{|student| student.student_id}.join(",") + ")"
+ if @homework.homework_detail_group.base_on_project == 0
+ all_student_ids = "(" + @homework.course.student.map{|student| student.student_id}.join(",") + ")"
+ else
+ pro = Project.find @homework.student_work_projects.where("user_id=?",User.current.id).first.project_id
+ all_student_ids = "(" + pro.members.map{|member| member.user_id}.join(",") + ")"
+ end
all_students = User.where("id in #{all_student_ids}")
@commit_student_ids = @homework.student_work_projects.map{|student| student.user_id}
@users = searchstudent_by_name all_students,name
diff --git a/app/views/student_work/_choose_group_member.html.erb b/app/views/student_work/_choose_group_member.html.erb
index 1ec8ed0fa..f94250d23 100644
--- a/app/views/student_work/_choose_group_member.html.erb
+++ b/app/views/student_work/_choose_group_member.html.erb
@@ -1,6 +1,6 @@
-
请添加小组成员
+
请从<%= @homework.homework_detail_group.base_on_project == 1 ? '项目成员':'课程成员' %>中添加小组成员
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index a71120d55..bd13fb7c1 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -11,6 +11,11 @@
$('#ajax-modal').parent().addClass("anonymos_work");
});
<% end%>
+ <% if @homework.homework_detail_group %>
+ $(function(){
+ $('span.group_detail_info').text('分组人数:<%=@homework.homework_detail_group.min_num %>-<%=@homework.homework_detail_group.max_num %> 人');
+ });
+ <% end %>
//快速创建项目的弹框
function new_project(){
diff --git a/app/views/student_work/search_course_students.js.erb b/app/views/student_work/search_course_students.js.erb
index 1cea9f27e..c7aa982b9 100644
--- a/app/views/student_work/search_course_students.js.erb
+++ b/app/views/student_work/search_course_students.js.erb
@@ -18,7 +18,7 @@ $("#all_students_list").empty();
}
}
}
- <% if user.id.to_i != User.current.id.to_i && (@commit_student_ids.find{|e| e.to_i == user.id.to_i}).nil? %>
+ <% if user.id.to_i != User.current.id.to_i && (@commit_student_ids.find{|e| e.to_i == user.id.to_i}).nil? && user.member_of_course?(@course) %>
if (str.indexOf(<%=user.id.to_s %>) < 0) {
$("#student_<%=user.id %>").one("click",function choose_student() {
var li = "
+ if (str.indexOf(<%=user.id.to_s %>) < 0) {
+ $("#student_<%=user.id %>").attr("title","该项目成员不是本课程的学生");
+ }
<% else %>
if (str.indexOf(<%=user.id.to_s %>) < 0) {
$("#student_<%=user.id %>").attr("title","该学生已加入其它分组");
From 923cb3c84faf80c6ed5a27d70b1e734cc6a9f23b Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Thu, 17 Dec 2015 15:44:17 +0800
Subject: [PATCH 36/42] =?UTF-8?q?=E4=B8=AD=E6=96=87=E6=8A=A5=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/at_message.rb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/models/at_message.rb b/app/models/at_message.rb
index 1a75c4aae..7b65edead 100644
--- a/app/models/at_message.rb
+++ b/app/models/at_message.rb
@@ -1,3 +1,5 @@
+#coding=utf-8
+
class AtMessage < ActiveRecord::Base
belongs_to :user
belongs_to :sender, class_name: "User", foreign_key: "sender_id"
From ed649e07248e6c76ba30a0abc2123d63f4305ab7 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Thu, 17 Dec 2015 15:54:29 +0800
Subject: [PATCH 37/42] =?UTF-8?q?@=E9=A2=9C=E8=89=B2=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/assets/kindeditor/at/jquery.atwho.css | 4 +++-
public/stylesheets/new_user.css | 3 +++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/public/assets/kindeditor/at/jquery.atwho.css b/public/assets/kindeditor/at/jquery.atwho.css
index 4ad9fffd4..9a4c21d9b 100644
--- a/public/assets/kindeditor/at/jquery.atwho.css
+++ b/public/assets/kindeditor/at/jquery.atwho.css
@@ -16,7 +16,7 @@
}
.atwho-view .cur {
- background: #3366FF;
+ background: #269ac9;
color: white;
}
.atwho-view .cur small {
@@ -48,3 +48,5 @@
font-weight: normal;
}
+/* @功能 定义 */
+span.at {color:#269ac9;}
\ No newline at end of file
diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css
index 0ed4df627..b29db0c36 100644
--- a/public/stylesheets/new_user.css
+++ b/public/stylesheets/new_user.css
@@ -1381,3 +1381,6 @@ a:hover.blueCir{ background:#3598db; color:#fff;}
.proHelp {background:url(/images/course/hwork_icon.png) -5px -124px no-repeat; display:inline-block; width:15px; height:15px; display:inline-block;}
.hworkPrName {width:110px; max-width:110px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:18px; line-height:18px; font-size:12px; color:#888888; text-align:center;}
.mr150 {margin-right:150px;}
+
+/* @功能 定义 */
+span.at {color:#269ac9;}
\ No newline at end of file
From 716604903b8550484b5d20581efc0f7cb20d7cf5 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Thu, 17 Dec 2015 18:07:19 +0800
Subject: [PATCH 38/42] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=A8=E8=AE=BA?=
=?UTF-8?q?=E5=8C=BAat=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/boards_controller.rb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb
index 22c0d5317..3545a8a22 100644
--- a/app/controllers/boards_controller.rb
+++ b/app/controllers/boards_controller.rb
@@ -80,8 +80,10 @@ class BoardsController < ApplicationController
end
end
- @project.boards.messages.each do |m|
- User.current.at_messages.unviewed('Message', m.id).each {|x| x.viewed!}
+ @project.boards.each do |board|
+ board.messages.each do |m|
+ User.current.at_messages.unviewed('Message', m.id).each {|x| x.viewed!}
+ end
end
elsif @course
From 1dae37f613838b2ada8b8f872abec71b256cb1ad Mon Sep 17 00:00:00 2001
From: huang
Date: Thu, 17 Dec 2015 18:28:12 +0800
Subject: [PATCH 39/42] =?UTF-8?q?=E6=B7=BB=E5=8A=A0commit=E6=80=BB?=
=?UTF-8?q?=E6=95=B0=20api?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lib/gitlab/client/repositories.rb | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/lib/gitlab-cli/lib/gitlab/client/repositories.rb b/lib/gitlab-cli/lib/gitlab/client/repositories.rb
index f489e5009..4946304b9 100644
--- a/lib/gitlab-cli/lib/gitlab/client/repositories.rb
+++ b/lib/gitlab-cli/lib/gitlab/client/repositories.rb
@@ -58,6 +58,23 @@ class Gitlab::Client
end
alias_method :repo_commits, :commits
+ # Gets a list of project commits.
+ #
+ # @example
+ # Gitlab.commits('viking')
+ # Gitlab.repo_commits('gitlab', :ref_name => 'api')
+ #
+ # @param [Integer] project The ID of a project.
+ # @param [Hash] options A customizable set of options.
+ # @option options [String] :ref_name The branch or tag name of a project repository.
+ # @option options [Integer] :page The page number.
+ # @option options [Integer] :per_page The number of results per page.
+ # @return [Array]
+ def commits_total_count(project, options={})
+ get("/projects/#{project}/repository/commits_total_count", :query => options)
+ end
+ alias_method :repo_commits, :commits_total_count
+
# Gets a specific commit identified by the commit hash or name of a branch or tag.
#
# @example
From c7f321475a0b4f8d546eff718034ea9b7b03f987 Mon Sep 17 00:00:00 2001
From: cxt
Date: Thu, 17 Dec 2015 19:05:22 +0800
Subject: [PATCH 40/42] =?UTF-8?q?=E5=A4=9A=E9=80=89=E9=A2=98=E9=94=99?=
=?UTF-8?q?=E5=88=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/exercise_helper.rb | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app/helpers/exercise_helper.rb b/app/helpers/exercise_helper.rb
index b0d0118e5..aba2fb58e 100644
--- a/app/helpers/exercise_helper.rb
+++ b/app/helpers/exercise_helper.rb
@@ -43,8 +43,9 @@ module ExerciseHelper
ecs.each do |ec|
arr << ec.exercise_choice.choice_position
end
- arr.sort
- arr = arr.join("")
+ #arr = arr.sort
+ str = arr.sort.join("")
+ return str
end
# 判断用户是否已经提交了问卷
From 3b25616f0c05fde0bb1d5243bb006a060c22b560 Mon Sep 17 00:00:00 2001
From: cxt
Date: Thu, 17 Dec 2015 19:06:10 +0800
Subject: [PATCH 41/42] =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=BD=9C=E5=93=81?=
=?UTF-8?q?=E6=97=B6=E5=8F=AF=E7=BC=96=E8=BE=91=E5=88=86=E7=BB=84=E6=88=90?=
=?UTF-8?q?=E5=91=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/student_work_controller.rb | 28 +++++++---
.../_choose_group_member.html.erb | 12 +++++
app/views/student_work/edit.html.erb | 52 ++++++++++++++++---
public/javascripts/new_user.js | 11 +++-
4 files changed, 87 insertions(+), 16 deletions(-)
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 650d97555..5cb646c8e 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -215,7 +215,6 @@ class StudentWorkController < ApplicationController
student_work ||= StudentWork.new
student_work.name = params[:student_work][:name]
student_work.description = params[:student_work][:description]
- student_work.project_id = params[:student_work][:project_id]
student_work.homework_common_id = @homework.id
student_work.user_id = User.current.id
student_work.save_attachments(params[:attachments])
@@ -305,15 +304,28 @@ class StudentWorkController < ApplicationController
@work.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@work)
if @work.save
+ if @homework.homework_type == 3
+ @student_work_project = @homework.student_work_projects.where("user_id=?",User.current.id).first
+ student_work_projects = @homework.student_work_projects.where("student_work_id=? and is_leader =?",@work.id,0)
+ student_work_projects.delete_all
+ members = params[:group_member_ids].split(',')
+ for i in 1 .. members.count-1
+ stu_project = StudentWorkProject.new
+ stu_project.homework_common_id = @homework.id
+ stu_project.student_work_id = @work.id
+ if @homework.homework_detail_group.base_on_project == 1
+ stu_project.project_id = @student_work_project.project_id
+ else @homework.homework_detail_group.base_on_project == 0
+ stu_project.project_id = -1
+ end
+ stu_project.user_id = members[i].to_i
+ stu_project.is_leader = 0
+ stu_project.save
+ end
+ end
+
course_message = CourseMessage.new(:user_id =>User.current.id,:content=>"edit",:course_message_id=>@work.id,:course_id => @course.id,:course_message_type=>"StudentWork", :status => 9) #作品提交记录
course_message.save
-=begin
- respond_to do |format|
- format.html {
- flash[:notice] = l(:notice_successful_edit)
- redirect_to student_work_index_url(:homework => @homework.id)
- }
-=end
@student_work = @work
respond_to do |format|
format.js
diff --git a/app/views/student_work/_choose_group_member.html.erb b/app/views/student_work/_choose_group_member.html.erb
index f94250d23..dc650cfa8 100644
--- a/app/views/student_work/_choose_group_member.html.erb
+++ b/app/views/student_work/_choose_group_member.html.erb
@@ -92,5 +92,17 @@
url: '<%= url_for(:controller => 'student_work', :action => 'search_course_students') %>'+'?homework='+<%=@homework.id %>,
type:'get'
});
+ <% if defined?(edit_mode) && edit_mode %>
+ <% pro = @homework.student_work_projects.where("user_id = ?",User.current.id).first.project_id.to_i %>
+ <% members = @homework.student_work_projects.where("project_id = ? and is_leader =?",pro,0) %>
+ <% members.each do |member| %>
+ var link = "<%=member.user.show_name %>";
+ <% unless member.user.user_extensions.student_id == "" %>
+ link += "(<%=member.user.user_extensions.student_id %>)";
+ <% end %>
+ link += " ";
+ $("#choose_students_list").append(link);
+ <% end %>
+ <% end %>
});
\ No newline at end of file
diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb
index 6ca609502..c7c572cff 100644
--- a/app/views/student_work/edit.html.erb
+++ b/app/views/student_work/edit.html.erb
@@ -31,7 +31,11 @@
提示:作品名称和描述中不要出现真实的姓名信息
-
+ <% if @homework.homework_type == 3 %>
+ <%=@homework.homework_detail_group.min_num %>
+ <%=@homework.homework_detail_group.max_num %>
+ <%=hidden_field_tag 'group_member_ids', params[:group_member_ids], :value=>User.current.id %>
+ <% end %>
+ <% if @homework.homework_type == 3 %>
+
+ <% end %>
+
\ No newline at end of file
diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js
index 67892fe0f..65741adc8 100644
--- a/public/javascripts/new_user.js
+++ b/public/javascripts/new_user.js
@@ -267,8 +267,15 @@ function edit_student_work(id)
{
if(regexStudentWorkName()&®exStudentWorkDescription())
{
- $("#edit_student_work_" + id).submit();
- $("#ajax-indicator").hide();
+ if($("#group_member_ids").length > 0) {
+ if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) {
+ $("#edit_student_work_" + id).submit();
+ $("#ajax-indicator").hide();
+ }
+ } else {
+ $("#edit_student_work_" + id).submit();
+ $("#ajax-indicator").hide();
+ }
}
}
From c98e9fc63950d326d7ab52583bf7ce53a8019ef6 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Thu, 17 Dec 2015 22:36:18 +0800
Subject: [PATCH 42/42] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=9D=80=E8=89=B2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../_programing_work_show.html.erb | 4 +--
app/views/student_work/index.html.erb | 5 ++++
app/views/student_work/show.js.erb | 25 +++++++++++++++++++
3 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/app/views/student_work/_programing_work_show.html.erb b/app/views/student_work/_programing_work_show.html.erb
index 724163cf4..880be0ffa 100644
--- a/app/views/student_work/_programing_work_show.html.erb
+++ b/app/views/student_work/_programing_work_show.html.erb
@@ -25,8 +25,8 @@
编程代码:
- <%= text_format(work.description) if work.description%>
-
+
<%= work.description if work.description%>
+
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index b0e70c9b0..02a2b1707 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -1,3 +1,8 @@
+<% content_for :header_tags do %>
+<%= javascript_include_tag "/assets/codemirror/codemirror_python_ruby_c" %>
+<%= stylesheet_link_tag "/assets/codemirror/codemirror" %>
+<% end %>
+