From a3da43b7935ed8a4ca8bcb9fb298c64b485ef534 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 20 Oct 2016 18:08:24 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E9=87=8C=E7=A8=8B=E7=A2=91=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/versions_controller.rb | 108 +++++--- app/helpers/versions_helper.rb | 14 + app/views/layouts/base_projects.html.erb | 11 +- app/views/versions/_list.html.erb | 36 +++ app/views/versions/index.html.erb | 331 ++--------------------- app/views/versions/index.js.erb | 2 + 6 files changed, 154 insertions(+), 348 deletions(-) create mode 100644 app/views/versions/_list.html.erb create mode 100644 app/views/versions/index.js.erb diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index 0888b0fad..445ff31fe 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -34,43 +34,81 @@ class VersionsController < ApplicationController def index # 顶部导航 @project_menu_type = 7 - + type = params[:type] + version_all_count = Version.where(:project_id => @project.id) + case type + when nil,"1" + @versions = @project.versions + when "2" + @versions = @project.versions.where(:status => 'open') + when "3" + @versions = @project.versions.where(:status => 'locked') + when "4" + @versions = @project.versions.where(:status => 'closed') + end + @versions_count = Version.where(:project_id => @project.id).count + @versions_open_count = Version.where(:project_id => @project.id, :status => "open").count + @versions_locked_count = Version.where(:project_id => @project.id, :status => "locked").count + @versions_closed_count = Version.where(:project_id => @project.id, :status => "closed").count + @versions_count = version_type_count(type, @versions_count, @versions_open_count, @versions_locked_count, @versions_closed_count) + @limit = 10 + @is_remote = true + @version_pages = Paginator.new @versions_count, @limit, params['page'] || 1 + @offset ||= @version_pages.offset + @versions = paginateHelper @versions, @limit respond_to do |format| - format.html { - @trackers = @project.trackers.sorted.all - retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?}) - @with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1') - project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id] + format.html + format.js + format.api + # format.html { + # @trackers = @project.trackers.sorted.all + # retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?}) + # @with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1') + # project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id] + # + # @versions = @project.shared_versions || [] + # @versions += @project.rolled_up_versions.visible if @with_subprojects + # #added by young + # @versions = @versions.uniq.reverse#Modified by young + # unless params[:completed] + # @completed_versions = @versions.select {|version| version.closed? || version.completed? } + # @versions -= @completed_versions + # end + # @offset, @limit = api_offset_and_limit({:limit => 4}) + # @versions_count = @versions.count + # @versions_pages = Paginator.new @versions_count, @limit, params['page'] + # @offset ||= @versions_pages.offset + # @versions = @versions.slice(@offset, @limit) + # #end by young + # + # @issues_by_version = {} + # if @selected_tracker_ids.any? && @versions.any? + # issues = Issue.visible.all( + # :include => [:project, :status, :tracker, :priority, :fixed_version], + # :conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)}, + # :order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id" + # ) + # @issues_by_version = issues.group_by(&:fixed_version) + # end + # @versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?} + # } + # format.api { + # @versions = @project.shared_versions.all + # } + end + end - @versions = @project.shared_versions || [] - @versions += @project.rolled_up_versions.visible if @with_subprojects - #added by young - @versions = @versions.uniq.reverse#Modified by young - unless params[:completed] - @completed_versions = @versions.select {|version| version.closed? || version.completed? } - @versions -= @completed_versions - end - @offset, @limit = api_offset_and_limit({:limit => 4}) - @versions_count = @versions.count - @versions_pages = Paginator.new @versions_count, @limit, params['page'] - @offset ||= @versions_pages.offset - @versions = @versions.slice(@offset, @limit) - #end by young - - @issues_by_version = {} - if @selected_tracker_ids.any? && @versions.any? - issues = Issue.visible.all( - :include => [:project, :status, :tracker, :priority, :fixed_version], - :conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)}, - :order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id" - ) - @issues_by_version = issues.group_by(&:fixed_version) - end - @versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?} - } - format.api { - @versions = @project.shared_versions.all - } + # 统计各种类型数量 + def version_type_count type, all_count, opened_count, locked_count, closed_count + case type + when nil, "1" + all_count + when "2" + opened_count + when "3" + locked_count + when "4" + closed_count end end diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb index 61cb382c5..16de42d8f 100644 --- a/app/helpers/versions_helper.rb +++ b/app/helpers/versions_helper.rb @@ -54,4 +54,18 @@ module VersionsHelper def status_by_options_for_select(value) options_for_select(STATUS_BY_CRITERIAS.collect {|criteria| [l("field_#{criteria}".to_sym), criteria]}, value) end + + # 通过类型显示不同的样式 + def get_version_type type + case type + when "open" + "roadmap_blueicon" + when "locked" + "roadmap_greenicon" + when "closed" + "roadmap_greyicon" + end + + end + end diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb index ab5e94dd0..f5a531565 100644 --- a/app/views/layouts/base_projects.html.erb +++ b/app/views/layouts/base_projects.html.erb @@ -35,12 +35,11 @@ <%= render :partial => 'layouts/base_project_top' %> -
- <%= render_flash_messages %> - <%= yield %> - <%= call_hook :view_layouts_base_content %> -
-
+ <%= render_flash_messages %> + <%= yield %> + <%= call_hook :view_layouts_base_content %> +
+
diff --git a/app/views/versions/_list.html.erb b/app/views/versions/_list.html.erb new file mode 100644 index 000000000..5bec9dc84 --- /dev/null +++ b/app/views/versions/_list.html.erb @@ -0,0 +1,36 @@ +<% @versions.each do |version| %> +
+
+

<%= link_to_version version, :name => version_anchor(version) %>

+ <%= link_to "导出", version_path(version, :format => 'xls'), :class => "btn_newpro_grey fr" %> + + +
+ +
+

<%= version.description %>

+
+
+<% end %> + + +
+
+
    + <%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %> +
+
+
+
+
\ No newline at end of file diff --git a/app/views/versions/index.html.erb b/app/views/versions/index.html.erb index dcf1a50e6..c47fda081 100644 --- a/app/views/versions/index.html.erb +++ b/app/views/versions/index.html.erb @@ -1,317 +1,34 @@ -
-
- - 新建 -
-
-
-
-

Version3.5

- 导出 - - - -
-
    -
  • 完成 30%
  • -
  • issues20
  • -
  • 已关闭6
  • -
  • 截止日期剩余 5天(2016-10-31)
  • +
    +
    +
      +
    • + <%= link_to "所有#{@versions_count}".html_safe, project_roadmap_path(@project, :type => "1"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %> +
    • +
    • + <%= link_to "打开#{@versions_open_count}".html_safe, project_roadmap_path(@project, :type => "2"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %> +
    • +
    • + <%= link_to "锁定#{@versions_locked_count}".html_safe, project_roadmap_path(@project, :type => "3"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %> +
    • +
    • + <%= link_to "关闭#{@versions_closed_count}".html_safe, project_roadmap_path(@project, :type => "4"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %> +
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    + 新建
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 100%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 延期 6 天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    +
    + <%= render :partial => "versions/list" %>
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 100%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 延期 6 天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 100%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 延期 6 天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    -
    -

    Version3.5

    - 导出 - - -
    -
      -
    • 完成 30%
    • -
    • issues20
    • -
    • 已关闭6
    • -
    • 截止日期剩余 5天(2016-10-31)
    • -
    -
    -

    里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息里程碑的首页以列表形式显示,不显示具体issue,只显示个数,完成度等重要信息。

    -
    -
    -
    - 上一页 - 1 - 2 - 3 - ... - 31 - 下一页 -
    -
    -
    - -
    -
    - ddd -
    -
    - eee -
    -
    - fff -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    <%= l(:label_roadmap) %>

    -
    -
    - - - <% if @versions.empty? %> -

    <%= l(:label_no_data) %>

    - <% else %> - <% @versions.each do |version| %> - -
    -

    - <%= version_anchor(version)%> - <%#= link_to_version_show version, :name => version_anchor(version) %> - <% if version.completed? %> - <%= format_date(version.effective_date) %> - <% elsif version.effective_date %> - <%= due_date_distance_in_words(version.effective_date) %> (<%= format_date(version.effective_date) %>) - <% end %> - -

    -
    - <%= render :partial => 'versions/overview', :locals => {:version => version} %> - <%#= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %> - -
    - <% if (issues = @issues_by_version[version]) && issues.size > 0 %> -
    - <%= form_tag({}) do -%> -

    »<%= l(:label_related_issues) %>

    -
      - <% issues.each do |issue| -%> -
    • - <%= link_to_issue_version(issue, :project => (@project != issue.project)) %> - 指派给:<%= link_to "#{User.find(issue.try(:assigned_to_id)).show_name}", user_path(issue.try(:assigned_to_id)), :class => "c_blue hidden fr", :style => "width:50px;" %> -
    • - <% end -%> -
    - <% end %> -
    - <% end %> -
    -

    »<%= l(:label_versions_description)%>

    -

    <%=h version.description %>

    - -
    -
    - <% end %> -
      - <%= pagination_links_full @versions_pages%> -
    -
    - <% end %> -
    - <% html_title(l(:label_roadmap)) %> - <%= context_menu issues_context_menu_path %> + \ No newline at end of file diff --git a/app/views/versions/index.js.erb b/app/views/versions/index.js.erb new file mode 100644 index 000000000..53f2a28bc --- /dev/null +++ b/app/views/versions/index.js.erb @@ -0,0 +1,2 @@ +$("#version_list").html('<%= escape_javascript(render :partial => 'list') %>'); +$("#pages").html('<%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>'); \ No newline at end of file From 4b2f0d4bca0b155386b06d54a2ad4afbe9212726 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 20 Oct 2016 18:14:09 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E9=87=8C=E7=A8=8B=E7=A2=91=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E7=99=BE=E5=88=86=E6=AF=94=E5=9B=9B=E8=88=8D=E4=BA=94?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/versions/_list.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/versions/_list.html.erb b/app/views/versions/_list.html.erb index 5bec9dc84..4db7457cc 100644 --- a/app/views/versions/_list.html.erb +++ b/app/views/versions/_list.html.erb @@ -7,7 +7,7 @@
    -
  • 完成 <%= version.closed_percent %>
  • +
  • 完成 <%= version.closed_percent.round %>%
  • Issues<%= version.issues_count %>
  • 已关闭<%= version.closed_issues_count %>
  • From 45d846ea79b91c8aaa2e66fd745f849f8fd9aef1 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 21 Oct 2016 09:22:54 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E8=AE=A8=E8=AE=BA=E5=8C=BA=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=AE=BD=E5=BA=A6=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/_act_messages.html.erb | 6 +++--- app/views/projects/_project_message_replies.html.erb | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/projects/_act_messages.html.erb b/app/views/projects/_act_messages.html.erb index 2faa08f8a..0b62791e4 100644 --- a/app/views/projects/_act_messages.html.erb +++ b/app/views/projects/_act_messages.html.erb @@ -86,7 +86,7 @@ <% count = all_replies.count %> <%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %> <%# count = fetch_user_leaveWord_reply(activity).count %> -
    +
    <%= render :partial => 'projects/project_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %> <% comments = all_replies[0..2] %> @@ -97,9 +97,9 @@ <% end %> <% if !activity.locked? %> -
    +
    <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %>
    -
    +
    <% if User.current.logged? %>
    <%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id,:is_course => is_course, :is_board => 'true'},:method => "post", :remote => true) do |f|%> diff --git a/app/views/projects/_project_message_replies.html.erb b/app/views/projects/_project_message_replies.html.erb index 0a35e9811..9875a533d 100644 --- a/app/views/projects/_project_message_replies.html.erb +++ b/app/views/projects/_project_message_replies.html.erb @@ -6,11 +6,11 @@ autoUrl('reply_content_<%= comment.id %>'); }); -
  • +
  • <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
    -
    +
    <%= render :partial => 'projects/project_message_contents', :locals => {:comment => comment}%> <% if !comment.content_detail.blank? %> From 733a91d160e995289f7491484e57fea8f33cceb7 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 21 Oct 2016 10:32:38 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=96=B0=E7=89=88pull=20=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/pull_requests/_form.html.erb | 86 ++++++++++++++------------ app/views/pull_requests/new.html.erb | 29 ++++++++- public/stylesheets/css/common.css | 1 + public/stylesheets/css/project.css | 41 +++++++++++- public/stylesheets/public.css | 1 + 5 files changed, 117 insertions(+), 41 deletions(-) diff --git a/app/views/pull_requests/_form.html.erb b/app/views/pull_requests/_form.html.erb index a276ea65c..a2a07d8c9 100644 --- a/app/views/pull_requests/_form.html.erb +++ b/app/views/pull_requests/_form.html.erb @@ -1,41 +1,51 @@ -<%= form_tag(url_for(:controller => 'pull_requests', :action => 'create', :project_id => @project.id, :forked_project_id => @forked_project.try(:gpid)), :id => 'pull_request_form', :method => "post", :remote => true) do %> -
    -
    *标题
    - -
    -
    描述
    - -
    -
    -
    -
    源分支
    - <%= select_tag :branch, options_for_select(@source_rev), :id => "source_branch", :name => "source_branch", :value => "source_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %> -
    -
    目标分支
    - <% if @forked_project.nil? %> - <%= select_tag :branch, options_for_select(@source_rev), :id => "pull_request_branch", :name => "target_branch", :value => "target_branch",:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %> - <% else %> - - + + + + <% end %> - - <% end %> - -
    - -
    -
    -
    - 提交请求 - <%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "fr linkGrey2 mt5 mr10" %> -
    -
    -<% end %> + +
  • + +
  • + + +
  • + +
  • + + +
  • +
  • + <%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "btn btn-grey fr" %> + 确定 +
  • +
+
+ <% end %> +
diff --git a/public/stylesheets/css/common.css b/public/stylesheets/css/common.css index a70365283..f9f5fd18a 100644 --- a/public/stylesheets/css/common.css +++ b/public/stylesheets/css/common.css @@ -214,6 +214,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .pl10 {padding-left:10px;} .pr5 {padding-right:5px;} .pr10{padding-right: 10px;} +.pl62 {padding-left: 62px;} .pl15{ padding-left:15px;} .pt5{ padding-top:5px;} .pt10{ padding-top:10px;} diff --git a/public/stylesheets/css/project.css b/public/stylesheets/css/project.css index 375f08196..3b43f807d 100644 --- a/public/stylesheets/css/project.css +++ b/public/stylesheets/css/project.css @@ -970,4 +970,43 @@ select.new_roadmap_select{border:1px solid #dbdbdb; color: #666;} .new_roadmap_table tbody tr td{ height:40px; line-height:40px; border-bottom:1px solid #e5e5e5; color:#888;} .new_roadmap_table td{ padding:0 5px;} /*模板图标20161020byLB*/ -.muban-icons-clock{ background: url("/images/new_project/icons_issue.png") 0 -224px no-repeat; display: inline-block; width: 19px; height: 13px;} \ No newline at end of file +.muban-icons-clock{ background: url("/images/new_project/icons_issue.png") 0 -224px no-repeat; display: inline-block; width: 19px; height: 13px;} + +/* pullreques 20161020byLB */ +.pullreques_category{ height: 35px; line-height: 35px;background: #f0f0f0; } +.pullreques span{ float: left;} +a.sortupbtn{ background: url(/images/sy/liststyle.png) 0 3px no-repeat;width:12px;height:17px; display:block; margin-right:10px; cursor:pointer;} +a.sortdownbtn{background: url(/images/sy/liststyle.png) 0 -12px no-repeat; width:12px; height:17px;display:block;cursor:pointer; } +.icons_pullreques{background: url(/images/project/icons_issue.png) 0 -270px no-repeat; display: inline-block; width: 25px; height: 25px;} +.pullreques_blueicon{ background: url(/images/project/icons_issue.png) 0 -299px no-repeat; display: inline-block; width: 43px; height: 16px;} +.pullreques_greyicon{ background: url(/images/project/icons_issue.png) 0 -322px no-repeat; display: inline-block; width: 43px; height: 16px;} +.pullreques_greyicon02{ background: url(/images/project/icons_issue.png) 0 -344px no-repeat; display: inline-block; width:32px; height: 16px;} +.pullreques_reply_textarea{ width: 100%; padding:0; height: 60px; color: #666;} +.pullreques_reply_list li{ padding:15px 0; border-top: 1px dashed #ddd; } +.pullreques_reply_user_img{ width:50px;height:50px; -webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +a.pullreques_reply_name{ font-weight: bold; color: #333;} +.pullreques_reply_txt{ width: 900px;color: #666;} +.pullreques_pull_top { width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;} +a.pullreques_pull_name{display: block; margin-left: 10px;max-width:80px; color:#3b94d6; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} +.pullreques_pull_list li{ height: 30px; line-height: 30px; } +.pullreques_pull_txt{display: block; margin-left: 10px;max-width:740px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} +.pullreques_change_list li{height: 40px; line-height: 40px;border-bottom:1px solid #e1e1e1; } +.pullreques_change_list li:last-child{ border-bottom: none;} +.pullreques_icons_add{background: url(/images/project/icons_issue.png) 0 -374px no-repeat; display: inline-block; width: 19px; height: 16px;} +.pullreques_icons_del{background: url(/images/project/icons_issue.png) 0 -399px no-repeat; display: inline-block; width: 19px; height: 16px;} +.pullreques_icons_new{background: url(/images/project/icons_issue.png) 0 -421px no-repeat; display: inline-block; width: 19px; height: 16px;} +.PullReques_minselect{border:1px solid #e1e1e1; height: 30px; line-height: 30px; width: 262px;color: #666;} +.PullReques_maxinput{ width:900px;border:1px solid #e1e1e1; height: 30px; line-height: 30px; color: #666;} +.PullReques_textarea{width:900px;border:1px solid #e1e1e1; height: 80px; line-height: 1.9; color: #666;} +.PullReques_new_box li{ height: 30px; line-height: 30px; color: #666;} +.PullReques_label{ width: 60px; text-align: right;} +.PullReques_new_box input:focus,select:focus{border:1px solid #e1e1e1;} + +/*模板form 20161013byLB*/ +textarea.muban_textarea{ width: 98.5%;border:1px solid #ddd; background:#fff; color:#666; padding:5px;} +/*提示条20161020byLB*/ +.alert{ padding:10px;border: 1px solid transparent; text-align: center;} +.alert-blue{ background-color: #d9edf7;border-color: #bce8f1; color: #3a87ad;} +.alert-orange{ background-color: #fff9e9;border-color: #f6d0b1; color:#ee4a20;} +.close{padding: 0;cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; font-size: 21px; font-weight: bold;line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.3;} +.close:hover{opacity: 0.5;} \ No newline at end of file diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 73387a095..1bf68d6c1 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -142,6 +142,7 @@ h4{ font-size:14px; } .mb20{ margin-bottom:20px;} .mb30 {margin-bottom:30px;} .mb40 {margin-bottom:40px;} +.pl62 {padding-left: 62px;} .pl10 {padding-left:10px;} .pl15{ padding-left:15px;} .pl5{ padding-left:5px;} From f4690f0cab71113b336a9a236d9a2ada64d58747 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 21 Oct 2016 11:09:54 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=EF=BC=8C=E4=BA=8C?= =?UTF-8?q?=E7=BA=A7=E5=9B=9E=E5=A4=8D=EF=BC=8C=E5=88=A0=E9=99=A4=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=9B=9E=E5=A4=8D=E6=A1=86=E5=AE=BD=E5=BA=A6=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/issues/add_journal.js.erb | 21 ++++++---- app/views/issues/delete_journal.js.erb | 14 ++++--- app/views/projects/_act_issues.html.erb | 2 +- .../projects/_project_issue_detail.html.erb | 8 ++-- .../projects/_project_issue_reply.html.erb | 6 +-- app/views/projects/_reply_to.html.erb | 38 +++++++++++++++++++ app/views/users/reply_to.js.erb | 22 ++++++----- public/stylesheets/css/common.css | 1 + public/stylesheets/css/public.css | 2 +- 9 files changed, 83 insertions(+), 31 deletions(-) create mode 100644 app/views/projects/_reply_to.html.erb diff --git a/app/views/issues/add_journal.js.erb b/app/views/issues/add_journal.js.erb index eeaa52faa..3a34647e8 100644 --- a/app/views/issues/add_journal.js.erb +++ b/app/views/issues/add_journal.js.erb @@ -1,8 +1,13 @@ -<% if @issue_id %> //issue详情中回复 - <%= render "jounal_refresh" %> -<%else%> - $("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); - sd_create_editor_from_data(<%= @user_activity_id %>, null, "100%", "UserActivity"); -//init_activity_KindEditor_data(<%= @user_activity_id %>,"","87%", 'UserActivity'); - // sd_create_editor_from_data(<%#= @issue.id%>, null, "100%"); -<%end %> +<% if @issue_id %> //issue详情中回复 +<%= render "jounal_refresh" %> +<%else%> +<% if params[:is_project] %> +$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% else %> +$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% end %> + +sd_create_editor_from_data(<%= @user_activity_id %>, null, "100%", "UserActivity"); +//init_activity_KindEditor_data(<%= @user_activity_id %>,"","87%", 'UserActivity'); +// sd_create_editor_from_data(<%#= @issue.id%>, null, "100%"); +<%end %> diff --git a/app/views/issues/delete_journal.js.erb b/app/views/issues/delete_journal.js.erb index d105fe90f..393c1e5fa 100644 --- a/app/views/issues/delete_journal.js.erb +++ b/app/views/issues/delete_journal.js.erb @@ -1,6 +1,10 @@ -<% if @user_activity_id %> -$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); -sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>"); -<% else %> - <%= render "jounal_refresh" %> +<% if @user_activity_id %> +<% if params[:id_project] %> +$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% else %> +$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% end %> +sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>"); +<% else %> +<%= render "jounal_refresh" %> <% end %> \ No newline at end of file diff --git a/app/views/projects/_act_issues.html.erb b/app/views/projects/_act_issues.html.erb index ef86c2118..07f800eb9 100644 --- a/app/views/projects/_act_issues.html.erb +++ b/app/views/projects/_act_issues.html.erb @@ -76,7 +76,7 @@ <% end %> <% end %>
-
+
<%= render :partial=>"attachments/activity_attach", :locals=>{:activity => activity} %>
diff --git a/app/views/projects/_project_issue_detail.html.erb b/app/views/projects/_project_issue_detail.html.erb index ff70849e1..947178cb5 100644 --- a/app/views/projects/_project_issue_detail.html.erb +++ b/app/views/projects/_project_issue_detail.html.erb @@ -48,7 +48,7 @@

<%= activity.status.name %>

<%= select( :issue,:status, [["新增",1],["正在解决",2],["已解决",3],["反馈",4],["关闭",5],["拒绝",6]].unshift(["状态",0]), {:include_blank => false, :selected => @status_id ? @status_id : 0 }, - {:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w70 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"} + {:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w130 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"} ) %> @@ -62,7 +62,7 @@ <%= select( :issue, :user_id, principals_options_for_isuue_list(activity.project), { :include_blank => false,:selected => @assign_to_id ? @assign_to_id : 0}, - {:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"undis issueEdit", :style => "width:130px;"}) %> + {:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"w130 undis issueEdit"}) %> <% end %>
@@ -75,7 +75,7 @@ <%= activity.priority.name %> <%= select( :issue,:prior, [["低",1],["正常",2],["高",3],["紧急",4],["立刻",5]].unshift(["优先级",0]), {:include_blank => false,:selected=>@priority_id ? @priority_id : 0}, - {:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w70 undis issueEdit"}) %> + {:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w130 undis issueEdit"}) %> <% end %>
@@ -85,7 +85,7 @@ <%= activity.done_ratio %>% <%= select( :issue,:done_ratio, ((0..10).to_a.collect { |r| ["#{r*10} %", r*10] }), {:include_blank => false, :selected => @done_ratio ? @done_ratio : 0}, - {:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w70 undis issueEdit"}) %> + {:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w130 undis issueEdit"}) %> <% end %> diff --git a/app/views/projects/_project_issue_reply.html.erb b/app/views/projects/_project_issue_reply.html.erb index 3e21d49c8..78f5ce14c 100644 --- a/app/views/projects/_project_issue_reply.html.erb +++ b/app/views/projects/_project_issue_reply.html.erb @@ -43,7 +43,7 @@ <%= link_to( l(:button_reply), - {:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id}, + {:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id, :is_project => true}, :remote => true, :method => 'get', :title => l(:button_reply)) %> @@ -51,7 +51,7 @@ <%= link_to( l(:button_delete), - {:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id}, + {:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id, :is_project => true}, :method => 'get', :confirm => l(:text_are_you_sure), :remote=>true, @@ -81,7 +81,7 @@
<% if User.current.logged? %>
- <%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id),:method => "post", :remote => true) do |f| %> + <%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id, :is_project => true),:method => "post", :remote => true) do |f| %>
diff --git a/app/views/projects/_reply_to.html.erb b/app/views/projects/_reply_to.html.erb new file mode 100644 index 000000000..bc60de13a --- /dev/null +++ b/app/views/projects/_reply_to.html.erb @@ -0,0 +1,38 @@ +
+ <% if User.current.logged? %> +
<%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(User.current), :alt => "用户头像" %>
+
+
+ <% if @type == 'Message' %> + <%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id}, :method => "post", :remote => true) do |f|%> + <%= hidden_field_tag 'is_course', params[:is_course], :value => @is_course %> + <%= hidden_field_tag 'is_board', params[:is_board], :value => @is_board %> + <%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %> + <%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@activity_id %> + <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> +
+ + +
+

+ <% end%> + <% elsif @type == 'Issue' %> + <%= form_for('new_form',:url => add_reply_issue_path(reply.issue.id),:method => "post", :remote => true) do |f|%> + <%= hidden_field_tag 'journal_id',params[:journal_id],:value =>reply.id %> + <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %> +
+ + +
+

+ <% end %> + + <% end %> +
+
+
+ <% else %> + <%= render :partial => "users/show_unlogged_reply" %> + <% end %> +
+
\ No newline at end of file diff --git a/app/views/users/reply_to.js.erb b/app/views/users/reply_to.js.erb index f3408abad..f58130c13 100644 --- a/app/views/users/reply_to.js.erb +++ b/app/views/users/reply_to.js.erb @@ -1,10 +1,14 @@ -if($("#reply_message_<%= @reply.id%>").length > 0) { - $("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'users/reply_to', :locals => {:reply => @reply}) %>"); - $("#reply_iconup_<%=@reply.id %>").show(); - $(function(){ - sd_create_editor_from_data(<%= @reply.id%>,null,"100%", "<%=@reply.class.to_s%>"); - }); -}else if($("#reply_to_message_<%= @reply.id%>").length >0) { - $("#reply_to_message_<%= @reply.id%>").replaceWith("

"); - $("#reply_iconup_<%=@reply.id %>").hide(); +if($("#reply_message_<%= @reply.id%>").length > 0) { + <% if params[:is_project] %> + $("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/reply_to', :locals => {:reply => @reply}) %>"); + <% else %> + $("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'users/reply_to', :locals => {:reply => @reply}) %>"); + <% end %> + $("#reply_iconup_<%=@reply.id %>").show(); + $(function(){ + sd_create_editor_from_data(<%= @reply.id%>,null,"100%", "<%=@reply.class.to_s%>"); + }); +}else if($("#reply_to_message_<%= @reply.id%>").length >0) { + $("#reply_to_message_<%= @reply.id%>").replaceWith("

"); + $("#reply_iconup_<%=@reply.id %>").hide(); } \ No newline at end of file diff --git a/public/stylesheets/css/common.css b/public/stylesheets/css/common.css index a70365283..9490efc45 100644 --- a/public/stylesheets/css/common.css +++ b/public/stylesheets/css/common.css @@ -233,6 +233,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .w108 {width:108px;} .w125{width:125px;} .w128{ width:128px;} +.w130{ width:130px;} .w140{ width:140px;} .w150{ width:150px;} .w170{width:170px;} diff --git a/public/stylesheets/css/public.css b/public/stylesheets/css/public.css index 04f2bae89..ce3f1385a 100644 --- a/public/stylesheets/css/public.css +++ b/public/stylesheets/css/public.css @@ -1156,7 +1156,7 @@ input.new_loggin_input{ margin-top:250px; } /*未登录回复提示*/ -.visitor-box {width:620px; height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;} +.visitor-box {height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;} /* 个人资料修改弹框 */ .winbox{ From ac54d02bdc06ac91f0e94e0209b7126f01056d1d Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 21 Oct 2016 11:19:56 +0800 Subject: [PATCH 6/8] =?UTF-8?q?pull=20request=20=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/pull_requests/index.html.erb | 90 +++++++++++++++++++++- public/images/new_project/icons_issue.png | Bin 205745 -> 209492 bytes public/stylesheets/css/project.css | 14 ++-- 3 files changed, 94 insertions(+), 10 deletions(-) diff --git a/app/views/pull_requests/index.html.erb b/app/views/pull_requests/index.html.erb index aefbfefcf..1a5bc3fff 100644 --- a/app/views/pull_requests/index.html.erb +++ b/app/views/pull_requests/index.html.erb @@ -1,4 +1,88 @@ <% if @allow_to_pull_request %> + +
+
+
    +
  • <%= link_to "待处理#{@requests_opened_count}".html_safe, project_pull_requests_path(:type => "1"), :remote => true %>
  • +
  • <%= link_to "已处理#{@requests_merged_count}".html_safe, project_pull_requests_path(:type => "2"), :remote => true %>
  • +
  • <%= link_to "已关闭#{@requests_closed_count}".html_safe, project_pull_requests_path(:type => "3"), :remote => true %>
  • + <% if allow_pull_request(@project) && User.current.member_of?(@project) %> + <%= link_to "创建Pull Request", new_project_pull_request_path, :class => "btn btn-green fr mr15 mt10" %> + <% end %> + + +
  • + 待处理210 +
  • +
  • + 已处理25 +
  • +
  • + 关闭5 +
  • +
+ 新建 +
+ +
+
+ +
+

胡莎莎 创建于1个月前

+ 大约1个月前更新 +

凌彬/Rep_course合并到胡莎莎/Rep_quality

+
+
+
+ 上一页 + 1 + 2 + 3 + ... + 31 + 下一页 +
+
+
+
+
+ ddd +
+
+ eee +
+
+ + + + + + + + + + + + + + + + + + + + + + <%#= render :partial => "pull_requests/pull_request_container" %>
  • <%= link_to "待处理#{@requests_opened_count}".html_safe, project_pull_requests_path(:type => "1"), :remote => true %>
  • @@ -17,12 +101,12 @@ <% else %> diff --git a/public/images/new_project/icons_issue.png b/public/images/new_project/icons_issue.png index 115c1868e48f8260e0fd860c35b6671115d41b3b..4e3ff258ce0047d677b5f63c324a7ae2359e0708 100644 GIT binary patch delta 9706 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 diff --git a/public/stylesheets/css/project.css b/public/stylesheets/css/project.css index 3b43f807d..63e570aec 100644 --- a/public/stylesheets/css/project.css +++ b/public/stylesheets/css/project.css @@ -977,10 +977,10 @@ select.new_roadmap_select{border:1px solid #dbdbdb; color: #666;} .pullreques span{ float: left;} a.sortupbtn{ background: url(/images/sy/liststyle.png) 0 3px no-repeat;width:12px;height:17px; display:block; margin-right:10px; cursor:pointer;} a.sortdownbtn{background: url(/images/sy/liststyle.png) 0 -12px no-repeat; width:12px; height:17px;display:block;cursor:pointer; } -.icons_pullreques{background: url(/images/project/icons_issue.png) 0 -270px no-repeat; display: inline-block; width: 25px; height: 25px;} -.pullreques_blueicon{ background: url(/images/project/icons_issue.png) 0 -299px no-repeat; display: inline-block; width: 43px; height: 16px;} -.pullreques_greyicon{ background: url(/images/project/icons_issue.png) 0 -322px no-repeat; display: inline-block; width: 43px; height: 16px;} -.pullreques_greyicon02{ background: url(/images/project/icons_issue.png) 0 -344px no-repeat; display: inline-block; width:32px; height: 16px;} +.icons_pullreques{background: url(/images/new_project/icons_issue.png) 0 -270px no-repeat; display: inline-block; width: 25px; height: 25px;} +.pullreques_blueicon{ background: url(/images/new_project/icons_issue.png) 0 -299px no-repeat; display: inline-block; width: 43px; height: 16px;} +.pullreques_greyicon{ background: url(/images/new_project/icons_issue.png) 0 -322px no-repeat; display: inline-block; width: 43px; height: 16px;} +.pullreques_greyicon02{ background: url(/images/new_project/icons_issue.png) 0 -344px no-repeat; display: inline-block; width:32px; height: 16px;} .pullreques_reply_textarea{ width: 100%; padding:0; height: 60px; color: #666;} .pullreques_reply_list li{ padding:15px 0; border-top: 1px dashed #ddd; } .pullreques_reply_user_img{ width:50px;height:50px; -webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} @@ -992,9 +992,9 @@ a.pullreques_pull_name{display: block; margin-left: 10px;max-width:80px; color:# .pullreques_pull_txt{display: block; margin-left: 10px;max-width:740px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;} .pullreques_change_list li{height: 40px; line-height: 40px;border-bottom:1px solid #e1e1e1; } .pullreques_change_list li:last-child{ border-bottom: none;} -.pullreques_icons_add{background: url(/images/project/icons_issue.png) 0 -374px no-repeat; display: inline-block; width: 19px; height: 16px;} -.pullreques_icons_del{background: url(/images/project/icons_issue.png) 0 -399px no-repeat; display: inline-block; width: 19px; height: 16px;} -.pullreques_icons_new{background: url(/images/project/icons_issue.png) 0 -421px no-repeat; display: inline-block; width: 19px; height: 16px;} +.pullreques_icons_add{background: url(/images/new_project/icons_issue.png) 0 -374px no-repeat; display: inline-block; width: 19px; height: 16px;} +.pullreques_icons_del{background: url(/images/new_project/icons_issue.png) 0 -399px no-repeat; display: inline-block; width: 19px; height: 16px;} +.pullreques_icons_new{background: url(/images/new_project/icons_issue.png) 0 -421px no-repeat; display: inline-block; width: 19px; height: 16px;} .PullReques_minselect{border:1px solid #e1e1e1; height: 30px; line-height: 30px; width: 262px;color: #666;} .PullReques_maxinput{ width:900px;border:1px solid #e1e1e1; height: 30px; line-height: 30px; color: #666;} .PullReques_textarea{width:900px;border:1px solid #e1e1e1; height: 80px; line-height: 1.9; color: #666;} From 3ccff07bf0efc61e1a6d14eac62501ef031a7200 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 21 Oct 2016 11:26:15 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8A=A8=E6=80=81issue?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=88=A0=E9=99=A4=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/issues_controller.rb | 1 + app/views/issues/delete_journal.js.erb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 15c0f3dc0..b9e0198d6 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -563,6 +563,7 @@ class IssuesController < ApplicationController # 值所以用delete是因为issue和journal在act_as_attachment中是同一个类型 # 非动态页面直接刷新,动态页面手动刷新 def delete_journal + @is_project = params[:is_project] @issue = Issue.find(params[:id]) begin forge_acts = ForgeMessage.where(:forge_message_type => "Journal", :forge_message_id => params[:journal_id]) diff --git a/app/views/issues/delete_journal.js.erb b/app/views/issues/delete_journal.js.erb index 393c1e5fa..e4458b5aa 100644 --- a/app/views/issues/delete_journal.js.erb +++ b/app/views/issues/delete_journal.js.erb @@ -1,5 +1,5 @@ <% if @user_activity_id %> -<% if params[:id_project] %> +<% if @is_project %> $("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); <% else %> $("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); From 6b8184ed49df9655b27025ce48dae793ef06ae09 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 21 Oct 2016 13:27:41 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=20issue=E6=A8=A1=E5=9D=97=E6=96=B0?= =?UTF-8?q?=E7=89=88=E4=BA=8C=E7=BA=A7=E5=9B=9E=E5=A4=8Dajax=E5=88=B7?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 2 ++ app/views/issues/add_reply.js.erb | 7 ++++++- app/views/projects/_reply_to.html.erb | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 25593049d..43459cc50 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -106,6 +106,8 @@ class UsersController < ApplicationController #二级回复 def reply_to + @is_project = params[:is_project] + case params[:type] when 'HomeworkCommon' @reply = JournalsForMessage.find params[:reply_id] diff --git a/app/views/issues/add_reply.js.erb b/app/views/issues/add_reply.js.erb index 22581e37a..32e9111fc 100644 --- a/app/views/issues/add_reply.js.erb +++ b/app/views/issues/add_reply.js.erb @@ -1,6 +1,11 @@ <% if @user_activity_id %> <%# 动态中 %> - $("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% if params[:is_project] %> +$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% else %> +$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>"); +<% end %> + sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>"); <% else %> <%# issue详情 %> diff --git a/app/views/projects/_reply_to.html.erb b/app/views/projects/_reply_to.html.erb index bc60de13a..943d0addf 100644 --- a/app/views/projects/_reply_to.html.erb +++ b/app/views/projects/_reply_to.html.erb @@ -4,7 +4,7 @@
    <% if @type == 'Message' %> - <%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id}, :method => "post", :remote => true) do |f|%> + <%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id, :is_project => true}, :method => "post", :remote => true) do |f|%> <%= hidden_field_tag 'is_course', params[:is_course], :value => @is_course %> <%= hidden_field_tag 'is_board', params[:is_board], :value => @is_board %> <%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %> @@ -17,7 +17,7 @@

    <% end%> <% elsif @type == 'Issue' %> - <%= form_for('new_form',:url => add_reply_issue_path(reply.issue.id),:method => "post", :remote => true) do |f|%> + <%= form_for('new_form',:url => add_reply_issue_path(reply.issue.id, :is_project => true),:method => "post", :remote => true) do |f|%> <%= hidden_field_tag 'journal_id',params[:journal_id],:value =>reply.id %> <%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %>