From b6d785bda00eab0e786a26278de19c8cc4fee739 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Fri, 13 Nov 2015 19:10:44 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=96=87=E7=AB=A0=E6=A0=B7=E5=BC=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/org_document_comments/edit.html.erb | 14 +++++++++----- app/views/organizations/new.html.erb | 2 +- public/images/org_default.jpg | Bin 1897 -> 0 bytes public/images/org_default.png | Bin 0 -> 4471 bytes 4 files changed, 10 insertions(+), 6 deletions(-) delete mode 100644 public/images/org_default.jpg create mode 100644 public/images/org_default.png diff --git a/app/views/org_document_comments/edit.html.erb b/app/views/org_document_comments/edit.html.erb index ffb04a4f9..498ac46a6 100644 --- a/app/views/org_document_comments/edit.html.erb +++ b/app/views/org_document_comments/edit.html.erb @@ -12,18 +12,21 @@ } } -
+
编辑文章
+
+
<%= form_tag url_for(:controller => 'org_document_comments',:action => 'update', :id => @org_document.id),:method => 'put', :id => 'new_org_document_form' do |f| %>
- +
-
+
+
- <%= kindeditor_tag 'org_document_comment[content]',@org_document.content, :editor_id => 'org_document_description_editor', :height => "150px" %> + <%= kindeditor_tag 'org_document_comment[content]',@org_document.content, :editor_id => 'org1_document_description_editor', :height => "150px" %>
@@ -40,4 +43,5 @@
-<% end %> \ No newline at end of file +<% end %> +
\ No newline at end of file diff --git a/app/views/organizations/new.html.erb b/app/views/organizations/new.html.erb index 08311d51b..1ab3ad933 100644 --- a/app/views/organizations/new.html.erb +++ b/app/views/organizations/new.html.erb @@ -31,7 +31,7 @@
  • - (打钩为公开,不打钩则不公开,若不公开,仅项目成员可见该项目。) + (打钩为公开,不打钩则不公开,若不公开,仅组织成员可见该组织。)
  • diff --git a/public/images/org_default.jpg b/public/images/org_default.jpg deleted file mode 100644 index ad1b4f007d0c6141a10715ce46f447630e3ce376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1897 zcmbVMdr%W+5WmYoMM0Bb02^w&UPJ^Xm&=PJ8X+Wsq6GvLL9G~)10p6DFNY-9VzFw` zYN=8jTkErfD5%6LP{vk}D)_)^3yRP2i8ETo(V|wdq?ZUjW*q8M%0Kjz(B62CpszgzXO`tatS-8MJ zm{GgliedsG3QUZ$TlI!KoPx9P9Fs+b+&|EWz$T*#nITOOCRjCiuIZyf5>G8moMtG@ zGboHm)FgPKU1>L4%{Zlp?dJIwo6@dAJm5-t?N*}*>@lJ8REXNm3a2Mbg*60;!%~4b z!XU&jSSAx-5~)mvjfX`-OoR&QR~CUulv0^e6bbhWLbH*^Y-Nfzwx5gsQz89H6%-T* z3d90}%t0}QLgB^`i6Ur=2%Ez~>Fp5~8-D;ni`xvO$x4|B3+zVJXA$|73ZWx?k%HNp zknj@tt<^G{-FbPeZBz>WDvY;U+on0JIGTdnhGpR#=lNgU8M=S&T%1EzEs9FS6C*q-h~;j3o&(?5VHP^cH@NRES9> zLa|QxB5%1gMjIm$V;ZqGRv{EikbYm||EU>D2ZOqs>r9%I)9zz+gxVu%ey0ln!Z zpO=)dGiz&hfep<$&O7nXmnQFvZC+RLTk)0CrALpCd%%n!degg(6frLE?P)^~f7-lp z_JXTLWFt{iUz5vSzy{eYw)+$AP|n+z(vt7JCO-9!pZ$1sO=6u6+^Ei)P^NmAxT1nU z28F;m9qS+Lsi~OZKP+evZ)tRGzpsD9>Xo%svJ2K9>l-FDs~4BIZ~gB5r^+Wo#GMyK zBWGq79y(C_MY;4sP>a{n^U8@W2kT^3kAk$HrLBpj-8q&$hNK zKAAMPXj?*DdHb);;{vkpjxf~J&7ECRGWf{WlZnIchuiz)wQn9e+i|}k z&Z8#oLcfssGt%O^RN&ljyIgs1+ry3E-Y&=8!wwp+8Z;}=IIFXOM}J&)Q- zuNJ1QYnTED2B+Qx9**Xa86B+Z&2u)Yw*PSb)K^f~ja5Bet8)G>W`5n(x4d!UL+MV% OokfMWGD?bF=l=tIZIm|v diff --git a/public/images/org_default.png b/public/images/org_default.png new file mode 100644 index 0000000000000000000000000000000000000000..3f3cfc575550c44e2261bc7aa9affdd3f5bb6506 GIT binary patch literal 4471 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 Lhs6}@I9~ZbFKHr^ literal 0 HcmV?d00001 From a50ec626cd3e1c19645fac923a59cfa258e26d27 Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 16 Nov 2015 08:52:32 +0800 Subject: [PATCH 02/33] =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/schema.rb | 100 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 74 insertions(+), 26 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index 1f48eaf02..272db1944 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 => 20151110011003) do +ActiveRecord::Schema.define(:version => 20151113025751) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -528,23 +528,26 @@ ActiveRecord::Schema.define(:version => 20151110011003) do add_index "documents", ["created_on"], :name => "index_documents_on_created_on" add_index "documents", ["project_id"], :name => "documents_project_id" - create_table "dts", :force => true do |t| - t.string "IPLineCode" - t.string "Description" - t.string "Num" - t.string "Variable" - t.string "TraceInfo" - t.string "Method" + create_table "dts", :primary_key => "Num", :force => true do |t| + t.string "Defect", :limit => 50 + t.string "Category", :limit => 50 t.string "File" - t.string "IPLine" - t.string "Review" - t.string "Category" - t.string "Defect" - t.string "PreConditions" - t.string "StartLine" + t.string "Method" + t.string "Module", :limit => 20 + t.string "Variable", :limit => 50 + t.integer "StartLine" + t.integer "IPLine" + t.string "IPLineCode", :limit => 200 + t.string "Judge", :limit => 15 + t.integer "Review", :limit => 1 + t.string "Description" + t.text "PreConditions", :limit => 2147483647 + t.text "TraceInfo", :limit => 2147483647 + t.text "Code", :limit => 2147483647 t.integer "project_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" + t.integer "id", :null => false end create_table "enabled_modules", :force => true do |t| @@ -569,6 +572,60 @@ ActiveRecord::Schema.define(:version => 20151110011003) do add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type" add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id" + create_table "exercise_answers", :force => true do |t| + t.integer "user_id" + t.integer "exercise_question_id" + t.integer "exercise_choice_id" + t.text "answer_text" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "exercise_choices", :force => true do |t| + t.integer "exercise_question_id" + t.text "choice_text" + t.integer "choice_position" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "exercise_questions", :force => true do |t| + t.string "question_title" + t.integer "question_type" + t.integer "question_number" + t.integer "exercise_id" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "exercise_standard_answers", :force => true do |t| + t.integer "exercise_question_id" + t.integer "exercise_choice_id" + t.text "answer_text" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "exercise_users", :force => true do |t| + t.integer "user_id" + t.integer "exercise_id" + t.integer "score" + t.datetime "start_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "exercises", :force => true do |t| + t.string "exercise_name" + t.text "exercise_description" + t.integer "course_id" + t.integer "exercise_status" + t.integer "user_id" + t.integer "time" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "first_pages", :force => true do |t| t.string "web_title" t.string "title" @@ -814,16 +871,6 @@ ActiveRecord::Schema.define(:version => 20151110011003) do add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id" - create_table "journal_details_copy", :force => true do |t| - t.integer "journal_id", :default => 0, :null => false - t.string "property", :limit => 30, :default => "", :null => false - t.string "prop_key", :limit => 30, :default => "", :null => false - t.text "old_value" - t.text "value" - end - - add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id" - create_table "journal_replies", :id => false, :force => true do |t| t.integer "journal_id" t.integer "user_id" @@ -960,6 +1007,7 @@ ActiveRecord::Schema.define(:version => 20151110011003) do t.datetime "created_on" t.integer "comments_count", :default => 0, :null => false t.integer "course_id" + t.integer "sticky", :default => 0 end add_index "news", ["author_id"], :name => "index_news_on_author_id" From e22b4cbdebaa54aca9e4ab9d276261b0425c8f0c Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 16 Nov 2015 10:44:27 +0800 Subject: [PATCH 03/33] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=88=AA=E6=AD=A2=E5=90=8E=EF=BC=8C=E6=9C=AA=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E4=BD=9C=E5=93=81=E7=9A=84=E5=AD=A6=E7=94=9F=E7=9C=8B=E5=88=B0?= =?UTF-8?q?=E7=9A=84=E4=BD=9C=E4=B8=9A=E5=8A=A8=E6=80=81=E5=B0=86=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E2=80=9C=E8=A1=A5=E4=BA=A4=E4=BD=9C=E5=93=81=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e08259b11..f4e0f88ff 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2374,8 +2374,10 @@ module ApplicationHelper link_to "作品(#{homework.student_works.count})",student_work_index_path(:homework => homework.id),:class => "c_blue" else #学生显示提交作品、修改作品等按钮 work = cur_user_works_for_homework homework - if work.nil? + if work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") link_to "提交作品(#{homework.student_works.count})", new_student_work_path(:homework => homework.id),:class => 'c_blue' + elsif work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") + link_to "补交作品(#{homework.student_works.count})", new_student_work_path(:homework => homework.id),:class => 'c_red' else if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 #匿评作业,且作业状态不是在开启匿评之前 link_to "作品匿评", student_work_index_path(:homework => homework.id), :class => 'c_blue', :title => "开启匿评后不可修改作品" From c50bcf93314617ef7163cd1b9e53cb34f9674033 Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 16 Nov 2015 10:56:00 +0800 Subject: [PATCH 04/33] =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=B7=B2=E6=88=AA=E6=AD=A2=E7=9A=84=E4=BD=9C=E4=B8=9A=EF=BC=8C?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=E7=94=B1=E2=80=9C=E4=BD=9C?= =?UTF-8?q?=E5=93=81=E6=8F=90=E4=BA=A4=E4=B8=AD=E2=80=9D=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E2=80=9C=E4=BD=9C=E5=93=81=E8=A1=A5=E4=BA=A4=E4=B8=AD=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_course_homework.html.erb | 6 +++++- app/views/users/_user_homework_detail.html.erb | 6 +++++- public/stylesheets/courses.css | 1 + public/stylesheets/new_user.css | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb index 38a4d6edd..d02cea104 100644 --- a/app/views/users/_course_homework.html.erb +++ b/app/views/users/_course_homework.html.erb @@ -23,7 +23,11 @@ <% else %> 匿评已禁用 <% end %> - 作品提交中 + <% if Time.parse(activity.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")%> + 作品提交中 + <% elsif Time.parse(activity.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") %> + 作品补交中 + <% end %> <% elsif activity.homework_detail_manual.comment_status == 2%> <% if activity.anonymous_comment == 0%> 匿评中 diff --git a/app/views/users/_user_homework_detail.html.erb b/app/views/users/_user_homework_detail.html.erb index 0c2a28e5c..539b8b603 100644 --- a/app/views/users/_user_homework_detail.html.erb +++ b/app/views/users/_user_homework_detail.html.erb @@ -23,7 +23,11 @@ <% else %> 匿评已禁用 <% end %> - 作品提交中 + <% if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")%> + 作品提交中 + <% elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") %> + 作品补交中 + <% end %> <% elsif homework_common.homework_detail_manual.comment_status == 2%> <% if homework_common.anonymous_comment == 0%> 匿评中 diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 05bba54f6..5469078a5 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -182,6 +182,7 @@ a.f_grey:hover {color:#000000;} /*.upbtn{ margin:42px 0 0 10px; border:none; color:#999; width:150px;}*/ .red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} +.red_homework_btn_cir{ background:#e74c3c; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .green_homework_btn_cir{ background:#28be6c; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .grey_btn_cir{ background:#b2b2b2; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;} .grey_homework_btn_cir{ background:#b2b2b2; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;} diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index 368964f3b..6ccfc47f6 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -299,6 +299,7 @@ a:hover.bgreen_n_btn{background:#08a384;} .green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .green_homework_btn_cir{ background:#28be6c; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .grey_btn_cir{ background:#b2b2b2; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;} +.red_homework_btn_cir{ background:#e74c3c; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .grey_homework_btn_cir{ background:#b2b2b2; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;} .blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;} .orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;} From de32745eefcfdfd9979a0fef1d5618867876075f Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Mon, 16 Nov 2015 15:02:57 +0800 Subject: [PATCH 05/33] =?UTF-8?q?1.=E5=B0=86=E9=A1=B9=E7=9B=AE=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E6=95=B0=E6=8D=AE=E8=BF=81=E7=A7=BB=E8=87=B3=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=8A=A8=E6=80=81=EF=BC=9B=202.=E5=9C=A8=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=8A=A8=E6=80=81=E4=B8=AD=EF=BC=8C=E6=8C=89=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=80=92=E6=8E=92=E6=98=BE=E7=A4=BA=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=8A=A8=E6=80=81=EF=BC=9B=203.=E5=A2=9E=E5=8A=A0=E6=88=91?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E7=BB=87=E4=B8=AD=E6=90=9C=E7=B4=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 20 +++---- app/controllers/users_controller.rb | 14 +++++ app/models/forge_activity.rb | 12 +++- .../organizations/_org_activities.html.erb | 56 +++++++++++++++++++ app/views/organizations/show.html.erb | 44 ++------------- app/views/organizations/show.js.erb | 7 +-- app/views/users/_show_user_org.html.erb | 39 +++++++++++++ app/views/users/search_user_orgs.html.erb | 1 + app/views/users/search_user_orgs.js.erb | 2 + app/views/users/user_organizations.html.erb | 46 ++++++++------- config/routes.rb | 1 + ...copy_forge_activities_to_org_activities.rb | 16 ++++++ 12 files changed, 183 insertions(+), 75 deletions(-) create mode 100644 app/views/organizations/_org_activities.html.erb create mode 100644 app/views/users/_show_user_org.html.erb create mode 100644 app/views/users/search_user_orgs.html.erb create mode 100644 app/views/users/search_user_orgs.js.erb create mode 100644 db/migrate/20151116020842_copy_forge_activities_to_org_activities.rb diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index b75742164..6a1030adc 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -55,22 +55,22 @@ class OrganizationsController < ApplicationController def show if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) - @org_activities = OrgActivity.where('container_id =? and container_type =? ', - @organization.id, 'Organization ').order('updated_at desc').page(params[:page]).per(10) - @org_activities_count = OrgActivity.where('container_id =? and container_type =? ', - @organization.id, 'Organization ').order('updated_at desc').count project_ids = @organization.projects.map(&:id) << 0 - @org_project_activties = ForgeActivity.where("project_id in (#{project_ids.join(',')}) and forge_act_type in('Issue','Message','ProjectCreateInfo')").order("updated_at desc").page(params[:page] || 1).per(10) - @org_project_activties_count = ForgeActivity.where('project_id in (?)',project_ids.join(',')).count + @org_activities = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))", + @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) + @org_activities_count = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))" , + @organization.id, 'Organization ').count + # @org_project_activties = ForgeActivity.where("project_id in (#{project_ids.join(',')}) and forge_act_type in('Issue','Message','ProjectCreateInfo')").order("updated_at desc").page(params[:page] || 1).per(10) + # @org_project_activties_count = ForgeActivity.where('project_id in (?)',project_ids.join(',')).count #@org_activities = paginateHelper @org_activities, 10 @page = params[:page] + respond_to do |format| + format.html + format.js + end else render_403 end - respond_to do |format| - format.html - format.js - end end def update diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 273d48ccf..776e6b7d5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1918,6 +1918,20 @@ class UsersController < ApplicationController end end + def search_user_orgs + name="" + if !params[:search_orgs].nil? + name = params[:search_orgs].strip + end + name = "%"+name+"%" + @orgs = User.current.organizations.where("name like ?", name) + @user = User.current + respond_to do |format| + format.html {render :layout => 'static_base'} + format.js + end + end + private def find_user diff --git a/app/models/forge_activity.rb b/app/models/forge_activity.rb index c4f13c6d0..8a94f1019 100644 --- a/app/models/forge_activity.rb +++ b/app/models/forge_activity.rb @@ -20,7 +20,7 @@ class ForgeActivity < ActiveRecord::Base validates :forge_act_id,presence: true validates :forge_act_type, presence: true has_many :user_acts, :class_name => 'UserAcivity',:as =>:act - after_save :add_user_activity + after_save :add_user_activity, :add_org_activity before_destroy :destroy_user_activity #在个人动态里面增加当前动态 @@ -45,6 +45,16 @@ class ForgeActivity < ActiveRecord::Base end end + def add_org_activity + OrgActivity.create(:user_id => self.user_id, + :org_act_id => self.forge_act_id, + :org_act_type => self.forge_act_type, + :container_id => self.project_id, + :container_type => 'Project', + :created_at => self.created_at, + :updated_at => self.updated_at) + end + def destroy_user_activity user_activity = UserActivity.where("act_type = '#{self.forge_act_type.to_s}' and act_id = '#{self.forge_act_id}'") user_activity.destroy_all diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb new file mode 100644 index 000000000..cb69738b6 --- /dev/null +++ b/app/views/organizations/_org_activities.html.erb @@ -0,0 +1,56 @@ +<% unless org_activities.nil? %> + <% org_activities.each do |act| %> + <% if act.container_type == 'Organization' %> + <% if act.org_act_type == 'CreateOrganization' %> +
    +
    + +
    +
    <%= link_to User.find(act.user_id), user_path(act.user_id) %>  创建了 <%= Organization.find(act.org_act_id).name %> + | 组织
    +
    创建时间:<%= format_activity_day(act.created_at) %> <%= format_time(act.created_at, false) %>
    +
    +
    +
    +
    + <% end %> + <% if act.org_act_type == 'OrgDocumentComment' && act.org_act_id != @organization.home_id %> + + <%= render :partial => 'show_org_document', :locals => {:document => act.org_act} %> + <% end %> + <% end %> + <% if act.container_type == 'Project' %> + <% case act.org_act_type.to_s %> + <% when 'Issue' %> + <%= render :partial => 'organizations/org_project_issue', :locals => {:activity => Issue.find(act.org_act_id),:user_activity_id =>act.id} %> + <% when 'Message' %> + <%= render :partial => 'organizations/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> + <%# when 'ProjectCreateInfo'%> + <%#= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %> + <% end %> + <% end %> + <% end %> + + <%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> + +<% end %> + +<% if org_act_count == 10 %> +
    展开更多<%=link_to "", organization_path(org,:page => page.to_i + 1),:id => "more_org_activities_link",:remote => "true",:class => "none" %>
    + <%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%> +<% end%> + + \ No newline at end of file diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index 0b624d479..a85ffa687 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -30,49 +30,15 @@ init_activity_KindEditor_data(<%= @organization.home_id%>, null, "87%"); }); - <%= render :partial => 'show_org_document', :locals => {:document => OrgDocumentComment.find(@organization.home_id), :home_id => @organization.home_id} %> <% end %> - <% unless @org_activities.nil? %> - <% @org_activities.each do |act| %> - <% if act.org_act_type == 'CreateOrganization' %> -
    -
    - -
    -
    <%= link_to User.find(act.user_id), user_path(act.user_id) %>  创建了 <%= Organization.find(act.org_act_id).name %> - | 组织
    -
    创建时间:<%= format_activity_day(act.created_at) %> <%= format_time(act.created_at, false) %>
    -
    -
    -
    -
    - <% end %> - <% if act.org_act_type == 'OrgDocumentComment' && act.org_act_id != @organization.home_id %> - - <%= render :partial => 'show_org_document', :locals => {:document => act.org_act} %> - <% end %> - <% end %> - - <%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> - - <% end %> +<%= render :partial => 'organizations/org_activities', + :locals => {:org_activities =>@org_activities, + :page=>@page, + :org => @organization, + :org_act_count=>@org_activities.count}%> - <%# @org_project_activties.each do |org_act|%> - <%= render :partial => 'organizations/org_project_activities', - :locals => {:org_project_activties =>@org_project_activties, - :page=>@page, - :org => @organization, - :org_act_count=>@org_activities.count, - :pro_act_count=>@org_project_activties.count}%> - <%# end %> diff --git a/app/views/organizations/show.js.erb b/app/views/organizations/show.js.erb index b0a447910..ee405d73c 100644 --- a/app/views/organizations/show.js.erb +++ b/app/views/organizations/show.js.erb @@ -1,7 +1,6 @@ -$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'organizations/org_project_activities', - :locals => {:org_project_activties =>@org_project_activties, +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'organizations/org_activities', + :locals => {:org_activities =>@org_activities, :page=>@page, :org => @organization, - :org_act_count=>@org_activities.count, - :pro_act_count=>@org_project_activties.count} )%>"); + :org_act_count=>@org_activities.count} )%>"); diff --git a/app/views/users/_show_user_org.html.erb b/app/views/users/_show_user_org.html.erb new file mode 100644 index 000000000..e753092fa --- /dev/null +++ b/app/views/users/_show_user_org.html.erb @@ -0,0 +1,39 @@ +<%= stylesheet_link_tag 'pleft','header','new_user','repository','org', 'project' %> +<%#= stylesheet_link_tag 'pleft','prettify','jquery/jquery-ui-1.9.2','header','new_user','repository','org' %> +
    +
    +
    +
    + 组织列表 + + <%= form_tag url_for(:controller => 'users', :action => 'search_user_orgs', :id => User.current.id), :method => 'get', :id => "search_org_form", :class=>"resourcesSearchloadBox", :style=>"float:right; margin-top:-5px;" do %> + + + + 搜索 + <% end %> +
    +
    +
    + <% orgs.each do |org| %> +
    +
    + <%= link_to image_tag(url_to_avatar(org), :width => '78', :height => '78', :alt => '组织logo'), organization_path(org), :class => "linkGrey2" %> +
    +
    +
    + <%= link_to org.name, organization_path(org), :class => 'f16 linkBlue' %> +
    +
    <%= org.description %>
    +
    创建者:<%= link_to User.find(org.creator_id), user_path(org.creator_id), :class => 'linkGrey2', :target => '_blank' %>
    + +
    您的身份:<%= User.current.admin_of_org?(org) ? "组织管理员" : "组织成员" %>
    +
    + +
    +
    + <% end %> +
    +
    +
    +
    \ No newline at end of file diff --git a/app/views/users/search_user_orgs.html.erb b/app/views/users/search_user_orgs.html.erb new file mode 100644 index 000000000..1a921d38e --- /dev/null +++ b/app/views/users/search_user_orgs.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'show_user_org', :locals => {:orgs => @orgs} %> \ No newline at end of file diff --git a/app/views/users/search_user_orgs.js.erb b/app/views/users/search_user_orgs.js.erb new file mode 100644 index 000000000..7184a29c5 --- /dev/null +++ b/app/views/users/search_user_orgs.js.erb @@ -0,0 +1,2 @@ + +//$("#org_list").replaceWith("<%#= escape_javascript(render :partial => 'show_user_org', :locals => {:orgs => @orgs}) %>") \ No newline at end of file diff --git a/app/views/users/user_organizations.html.erb b/app/views/users/user_organizations.html.erb index 50fa03bbe..e2a24b2aa 100644 --- a/app/views/users/user_organizations.html.erb +++ b/app/views/users/user_organizations.html.erb @@ -1,4 +1,4 @@ -<%= stylesheet_link_tag 'pleft','header','new_user','repository','org' %> +<%= stylesheet_link_tag 'pleft','header','new_user','repository','org', 'project' %> <%#= stylesheet_link_tag 'pleft','prettify','jquery/jquery-ui-1.9.2','header','new_user','repository','org' %>
    @@ -6,30 +6,34 @@
    组织列表 - - - - + <%= form_tag url_for(:controller => 'users', :action => 'search_user_orgs', :id => User.current.id), :method => 'get', :id => "search_org_form", :class=>"resourcesSearchloadBox", :style=>"float:right; margin-top:-5px;" do %> + + + + 搜索 + <% end %>
    - <% @orgs.each do |org| %> -
    -
    - <%= link_to image_tag(url_to_avatar(org), :width => '78', :height => '78', :alt => '组织logo'), organization_path(org), :class => "linkGrey2" %> -
    -
    -
    - <%= link_to org.name, organization_path(org), :class => 'f16 linkBlue' %> +
    + <% @orgs.each do |org| %> +
    +
    + <%= link_to image_tag(url_to_avatar(org), :width => '78', :height => '78', :alt => '组织logo'), organization_path(org), :class => "linkGrey2" %>
    -
    <%= org.description %>
    -
    创建者:<%= link_to User.find(org.creator_id), user_path(org.creator_id), :class => 'linkGrey2', :target => '_blank' %>
    - -
    您的身份:<%= User.current.admin_of_org?(org) ? "组织管理员" : "组织成员" %>
    +
    +
    + <%= link_to org.name, organization_path(org), :class => 'f16 linkBlue' %> +
    +
    <%= org.description %>
    +
    创建者:<%= link_to User.find(org.creator_id), user_path(org.creator_id), :class => 'linkGrey2', :target => '_blank' %>
    + +
    您的身份:<%= User.current.admin_of_org?(org) ? "组织管理员" : "组织成员" %>
    +
    + +
    - -
    -
    - <% end %> + <% end %> +
    \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 0f05c3521..69134e666 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -444,6 +444,7 @@ RedmineApp::Application.routes.draw do get 'dealwith_apply_request' get 'store_selected_resource' get 'user_organizations' + get 'search_user_orgs' # end end #resources :blogs diff --git a/db/migrate/20151116020842_copy_forge_activities_to_org_activities.rb b/db/migrate/20151116020842_copy_forge_activities_to_org_activities.rb new file mode 100644 index 000000000..95c4ed5bf --- /dev/null +++ b/db/migrate/20151116020842_copy_forge_activities_to_org_activities.rb @@ -0,0 +1,16 @@ +class CopyForgeActivitiesToOrgActivities < ActiveRecord::Migration + def up + ForgeActivity.all.each do |forge_act| + OrgActivity.create(:user_id => forge_act.user_id, + :org_act_id => forge_act.forge_act_id, + :org_act_type => forge_act.forge_act_type, + :container_id => forge_act.project_id, + :container_type => 'Project', + :created_at => forge_act.created_at, + :updated_at => forge_act.updated_at) + end + end + + def down + end +end From 10dedcb7be406c5864d29457e5a10499477516d8 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Mon, 16 Nov 2015 15:39:59 +0800 Subject: [PATCH 06/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=8A=A0=E5=85=A5=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/org_member_controller.rb | 2 +- app/views/organizations/_org_members.html.erb | 5 ++++- .../20151116070906_add_created_at_to_org_members.rb | 5 +++++ .../20151116071721_set_time_for_org_member.rb | 13 +++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20151116070906_add_created_at_to_org_members.rb create mode 100644 db/migrate/20151116071721_set_time_for_org_member.rb diff --git a/app/controllers/org_member_controller.rb b/app/controllers/org_member_controller.rb index 4b842f9dc..642a100c3 100644 --- a/app/controllers/org_member_controller.rb +++ b/app/controllers/org_member_controller.rb @@ -16,7 +16,7 @@ class OrgMemberController < ApplicationController member_ids = params[:membership][:user_ids] role_id = params[:orgRole] member_ids.each do |user_id| - member = OrgMember.create(:user_id=>user_id) + member = OrgMember.create(:user_id=>user_id, :created_at => Time.now) @org.org_members << member OrgMemberRole.create(:org_member_id => member.id, :role_id => role_id) end diff --git a/app/views/organizations/_org_members.html.erb b/app/views/organizations/_org_members.html.erb index 3940a6576..ee15e19d7 100644 --- a/app/views/organizations/_org_members.html.erb +++ b/app/views/organizations/_org_members.html.erb @@ -5,7 +5,7 @@
    - + 加入时间
    <% members.each do |member| %> @@ -16,6 +16,9 @@ <%= l(:label_username)%> <%= link_to(member.user.show_name, user_path(member.user),:class => "ml5 c_blue02") %>
    身份:<%= member.user.admin_of_org?(organization)?"组织管理员":"组织成员" %> + <% if member.created_at %> + <%= format_time(member.created_at) %> + <% end %>
    <% end%> diff --git a/db/migrate/20151116070906_add_created_at_to_org_members.rb b/db/migrate/20151116070906_add_created_at_to_org_members.rb new file mode 100644 index 000000000..33d3a2817 --- /dev/null +++ b/db/migrate/20151116070906_add_created_at_to_org_members.rb @@ -0,0 +1,5 @@ +class AddCreatedAtToOrgMembers < ActiveRecord::Migration + def change + add_column :org_members, :created_at, :timestamp + end +end diff --git a/db/migrate/20151116071721_set_time_for_org_member.rb b/db/migrate/20151116071721_set_time_for_org_member.rb new file mode 100644 index 000000000..f9e78dff5 --- /dev/null +++ b/db/migrate/20151116071721_set_time_for_org_member.rb @@ -0,0 +1,13 @@ +class SetTimeForOrgMember < ActiveRecord::Migration + def up + OrgMember.all.each do |member| + if(member.created_at.nil?) + member.created_at = Time.now - 5.days + member.save + end + end + end + + def down + end +end From bd6a1a9d4931c6e14fa5b2fee516ac00c62a968c Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Mon, 16 Nov 2015 17:21:26 +0800 Subject: [PATCH 07/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E4=B8=AD=E7=9A=84=E9=A1=B9=E7=9B=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E7=9A=84=E5=9B=9E=E5=A4=8D=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/issues_controller.rb | 21 +++++++++++++++++-- .../org_document_comments_controller.rb | 1 + app/views/issues/add_journal_in_org.js.erb | 3 +++ .../org_document_comments/add_reply.js.erb | 4 ++-- .../organizations/_org_activities.html.erb | 12 +++++------ .../organizations/_org_project_issue.html.erb | 18 +++++++++++++++- .../organizations/_show_org_document.html.erb | 14 ++++++------- app/views/organizations/show.html.erb | 3 ++- config/routes.rb | 1 + 9 files changed, 58 insertions(+), 19 deletions(-) create mode 100644 app/views/issues/add_journal_in_org.js.erb diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index e529dd3b9..edf055370 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -20,11 +20,11 @@ class IssuesController < ApplicationController default_search_scope :issues before_filter :authorize1, :only => [:show] - before_filter :find_issue, :only => [:show, :edit, :update,:add_journal] + before_filter :find_issue, :only => [:show, :edit, :update,:add_journal, :add_journal_in_org] before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :destroy] before_filter :find_project, :only => [:new, :create, :update_form] #before_filter :authorize, :except => [:index, :show] - before_filter :authorize, :except => [:index,:add_journal] + before_filter :authorize, :except => [:index,:add_journal, :add_journal_in_org] before_filter :find_optional_project, :only => [:index] before_filter :check_for_default_issue_status, :only => [:new, :create] @@ -397,6 +397,23 @@ class IssuesController < ApplicationController end end + def add_journal_in_org + if User.current.logged? + jour = Journal.new + jour.user_id = User.current.id + jour.notes = params[:notes] + jour.journalized = @issue + jour.save + org_activity = OrgActivity.where("org_act_type='Issue' and org_act_id =#{@issue.id}").first + org_activity.updated_at = jour.created_on + org_activity.save + @user_activity_id = params[:user_activity_id] + respond_to do |format| + format.js + end + end + end + private def find_project diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index 60522dc3f..13a188e72 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -41,6 +41,7 @@ class OrgDocumentCommentsController < ApplicationController def add_reply @document = OrgDocumentComment.find(params[:id]).root + @act = OrgActivity.find(params[:id]) @comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id]) @comment.content = params[:org_content] @document.children << @comment diff --git a/app/views/issues/add_journal_in_org.js.erb b/app/views/issues/add_journal_in_org.js.erb new file mode 100644 index 000000000..ad7a85540 --- /dev/null +++ b/app/views/issues/add_journal_in_org.js.erb @@ -0,0 +1,3 @@ +$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_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/org_document_comments/add_reply.js.erb b/app/views/org_document_comments/add_reply.js.erb index 5d54af2bf..40ed2eeb2 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_<%= @document.id %>").replaceWith("<%= escape_javascript(render :partial => 'organizations/show_org_document', :locals => {:document => @document}) %>"); -init_activity_KindEditor_data(<%= @document.id %>,"","87%"); \ No newline at end of file +$("#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 diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb index cb69738b6..148bb9efe 100644 --- a/app/views/organizations/_org_activities.html.erb +++ b/app/views/organizations/_org_activities.html.erb @@ -1,5 +1,10 @@ <% unless org_activities.nil? %> <% org_activities.each do |act| %> + <% if act.container_type == 'Organization' %> <% if act.org_act_type == 'CreateOrganization' %>
    @@ -17,12 +22,7 @@
    <% end %> <% if act.org_act_type == 'OrgDocumentComment' && act.org_act_id != @organization.home_id %> - - <%= render :partial => 'show_org_document', :locals => {:document => act.org_act} %> + <%= render :partial => 'show_org_document', :locals => {:document => act.org_act, :act => act} %> <% end %> <% end %> <% if act.container_type == 'Project' %> diff --git a/app/views/organizations/_org_project_issue.html.erb b/app/views/organizations/_org_project_issue.html.erb index 573429752..e29994967 100644 --- a/app/views/organizations/_org_project_issue.html.erb +++ b/app/views/organizations/_org_project_issue.html.erb @@ -130,7 +130,23 @@
    <% end %> - +
    +
    <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %>
    +
    +
    + <%= form_for('new_form',:url => add_journal_in_org_issue_path(activity.id),:method => "post", :remote => true) do |f|%> + + +
    + +
    +

    + <% end%> +
    +
    +
    +
    +
  • diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb index 4177c3688..e352288ab 100644 --- a/app/views/organizations/_show_org_document.html.erb +++ b/app/views/organizations/_show_org_document.html.erb @@ -91,16 +91,16 @@ <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33", :alt => "用户头像"), user_path(User.current) %>
    -
    - <%= form_for('new_form', :url => add_reply_org_document_comment_path(:id => document.id), :method => "post", :remote => true) do |f| %> - - +
    + <%= form_for('new_form', :url => add_reply_org_document_comment_path(:id => document.id, :act_id => act.id), :method => "post", :remote => true) do |f| %> + + -
    - +
    +
    -

    +

    <% end %>
    diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index a85ffa687..1ccb2f0e5 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -30,7 +30,8 @@ init_activity_KindEditor_data(<%= @organization.home_id%>, null, "87%"); }); - <%= render :partial => 'show_org_document', :locals => {:document => OrgDocumentComment.find(@organization.home_id), :home_id => @organization.home_id} %> + <% act = OrgActivity.where("org_act_type = 'OrgDocumentComment' and org_act_id =?", @organization.home_id).first %> + <%= render :partial => 'show_org_document', :locals => {:document => OrgDocumentComment.find(@organization.home_id), :home_id => @organization.home_id, :act => act} %> <% end %> <%= render :partial => 'organizations/org_activities', diff --git a/config/routes.rb b/config/routes.rb index 69134e666..24d159f04 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -634,6 +634,7 @@ RedmineApp::Application.routes.draw do end member do post 'add_journal' + post 'add_journal_in_org' end resources :time_entries, :controller => 'timelog' do collection do From fba461f94a62d405c1632eea14902508ec2082bc Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 17 Nov 2015 09:51:16 +0800 Subject: [PATCH 08/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=B8=AD=E9=A1=B9=E7=9B=AE=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA=E7=9A=84=E5=9B=9E=E5=A4=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/messages_controller.rb | 5 +++++ app/controllers/organizations_controller.rb | 6 +++--- .../organizations/_org_activities.html.erb | 4 ++-- .../organizations/_project_create.html.erb | 2 +- .../organizations/_project_message.html.erb | 18 ++++++++++++++++++ app/views/organizations/show.html.erb | 9 ++++++--- 6 files changed, 35 insertions(+), 9 deletions(-) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 4f78d61f5..9b090de9a 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -174,6 +174,11 @@ class MessagesController < ApplicationController user_activity.updated_at = Time.now user_activity.save end + org_activity = OrgActivity.where("org_act_type='Message' and org_act_id =#{@topic.id}").first + if org_activity + org_activity.updated_at = Time.now + org_activity.save + end #@topic.update_attribute(:updated_on, Time.now) if !@reply.new_record? if params[:asset_id] diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 6a1030adc..392966d68 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -56,10 +56,10 @@ class OrganizationsController < ApplicationController if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) project_ids = @organization.projects.map(&:id) << 0 - @org_activities = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))", + @org_activities = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')}))", @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) - @org_activities_count = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))" , - @organization.id, 'Organization ').count + # @org_activities_count = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))" , + # @organization.id, 'Organization ').count # @org_project_activties = ForgeActivity.where("project_id in (#{project_ids.join(',')}) and forge_act_type in('Issue','Message','ProjectCreateInfo')").order("updated_at desc").page(params[:page] || 1).per(10) # @org_project_activties_count = ForgeActivity.where('project_id in (?)',project_ids.join(',')).count #@org_activities = paginateHelper @org_activities, 10 diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb index 148bb9efe..9523a0a15 100644 --- a/app/views/organizations/_org_activities.html.erb +++ b/app/views/organizations/_org_activities.html.erb @@ -31,8 +31,8 @@ <%= render :partial => 'organizations/org_project_issue', :locals => {:activity => Issue.find(act.org_act_id),:user_activity_id =>act.id} %> <% when 'Message' %> <%= render :partial => 'organizations/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> - <%# when 'ProjectCreateInfo'%> - <%#= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %> + <% when 'ProjectCreateInfo'%> + <%= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %> <% end %> <% end %> <% end %> diff --git a/app/views/organizations/_project_create.html.erb b/app/views/organizations/_project_create.html.erb index d966d8e18..607c14a45 100644 --- a/app/views/organizations/_project_create.html.erb +++ b/app/views/organizations/_project_create.html.erb @@ -1,4 +1,4 @@ -<% project = Project.find(activity.project_id) %> +<% project = Project.find(activity.org_act_id) %> <% user = User.find(project.user_id)%>
    diff --git a/app/views/organizations/_project_message.html.erb b/app/views/organizations/_project_message.html.erb index 85ed08f2f..2708bb546 100644 --- a/app/views/organizations/_project_message.html.erb +++ b/app/views/organizations/_project_message.html.erb @@ -95,6 +95,24 @@
    <% end %> +
    +
    <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %>
    +
    +
    + <%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id, :is_board => 'true'},:method => "post", :remote => true) do |f|%> + + + +
    + +
    +

    + <% end%> +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index 1ccb2f0e5..36cc24225 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -14,14 +14,17 @@
    最新动态
    - + +
    <% if !@organization.home_id.nil? and OrgDocumentComment.where("id = ?", @organization.home_id).count > 0 %> From 6f5cb8f1426a0935690266fcdfa0777a615abab4 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 17 Nov 2015 10:17:07 +0800 Subject: [PATCH 09/33] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E7=9A=84=E8=BF=87=E6=BB=A4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E7=BB=84=E7=BB=87=E5=8A=A8=E6=80=81=E5=8C=85=E6=8B=AC?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8A=A8=E6=80=81=E5=92=8C=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E7=9A=84=E5=8A=A8=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 18 +++++++++++------- app/views/organizations/show.html.erb | 20 ++++++++++++++++---- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 392966d68..b35d7f3db 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -56,13 +56,17 @@ class OrganizationsController < ApplicationController if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) project_ids = @organization.projects.map(&:id) << 0 - @org_activities = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')}))", - @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) - # @org_activities_count = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and container_id in (#{project_ids.join(',')}))" , - # @organization.id, 'Organization ').count - # @org_project_activties = ForgeActivity.where("project_id in (#{project_ids.join(',')}) and forge_act_type in('Issue','Message','ProjectCreateInfo')").order("updated_at desc").page(params[:page] || 1).per(10) - # @org_project_activties_count = ForgeActivity.where('project_id in (?)',project_ids.join(',')).count - #@org_activities = paginateHelper @org_activities, 10 + case params[:type] + when nil + @org_activities = OrgActivity.where("(container_id =? and container_type =?) or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')}))", + @organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) + when 'project_issue' + @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Issue' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'project_message' + @org_activities = OrgActivity.where("container_type = 'Project' and org_act_type = 'Message' and container_id in (#{project_ids.join(',')})").order('updated_at desc').page(params[:page] || 1).per(10) + when 'org' + @org_activities = OrgActivity.where("container_id =? and container_type =?",@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10) + end @page = params[:page] respond_to do |format| format.html diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index 36cc24225..e62a66913 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -16,10 +16,22 @@
    最新动态