From 2ad51d7afe3878eb4fa1810eb3eca00e0aed948e Mon Sep 17 00:00:00 2001 From: z9hang Date: Fri, 1 Aug 2014 14:08:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=95=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E7=95=99=E8=A8=80=E4=B8=BA=E4=B8=8D=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/memos_controller.rb | 9 ++++++++- app/controllers/messages_controller.rb | 17 +++++++++++++++-- app/controllers/users_controller.rb | 6 ++++-- app/helpers/user_score_helper.rb | 25 +++++++++++++++++-------- app/views/memos/_reply_box.html.erb | 3 +++ app/views/memos/quote.js.erb | 4 +++- app/views/messages/_form.html.erb | 2 ++ app/views/messages/quote.js.erb | 5 ++++- 8 files changed, 56 insertions(+), 15 deletions(-) diff --git a/app/controllers/memos_controller.rb b/app/controllers/memos_controller.rb index 62f860a96..587b198d7 100644 --- a/app/controllers/memos_controller.rb +++ b/app/controllers/memos_controller.rb @@ -9,6 +9,7 @@ class MemosController < ApplicationController helper :attachments include AttachmentsHelper + include ApplicationHelper layout 'base_memos' @@ -19,6 +20,11 @@ class MemosController < ApplicationController @content = "#{ll(Setting.default_language, :text_user_wrote, @memo.author)}
  " @content << @memo.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n") + "\n\n
" @content = "
" << @content + #@content = "> #{ll(Setting.default_language, :text_user_wrote, @memo.author)}\n> " + #@content << @memo.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" + #@content_html = textilizable(@content) + @temp = Memo.new + @temp.content = @content end def new @@ -34,12 +40,13 @@ class MemosController < ApplicationController end def create + @quote = params[:quote][:quote] @memo = Memo.new(params[:memo]) @memo.forum_id = params[:forum_id] @memo.author_id = User.current.id @memo.save_attachments(params[:attachments] || (params[:memo] && params[:memo][:uploads])) - + @memo.content = @quote + @memo.content respond_to do |format| if @memo.save format.html { redirect_to back_memo_url, notice: "#{l :label_memo_create_succ}" } diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index b364440c9..451e04d3d 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -16,6 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class MessagesController < ApplicationController + include ApplicationHelper menu_item :boards default_search_scope :messages before_filter :find_board, :only => [:new, :preview,:edit] @@ -80,10 +81,12 @@ class MessagesController < ApplicationController if params[:reply][:content] == "" (redirect_to board_message_path(@board, @topic, :r => @reply), :notice => l(:label_reply_empty);return) end + @quote = params[:quote][:quote] @reply = Message.new @reply.author = User.current @reply.board = @board @reply.safe_attributes = params[:reply] + @reply.content = @quote + @reply.content @topic.children << @reply #@topic.update_attribute(:updated_on, Time.now) if !@reply.new_record? @@ -143,8 +146,18 @@ class MessagesController < ApplicationController @subject = @message.subject @subject = "RE: #{@subject}" unless @subject.starts_with?('RE:') - @content = "> #{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> " - @content << @message.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" + #@content = "> #{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> " + #@temp = Message.new + ##@temp.content = "> #{ll(Setting.default_language, :text_user_wrote, @message.author)}> " + #@content << @message.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" + #@content_html = textilizable(@content) + #@temp.content = @content_html + @content = "#{ll(Setting.default_language, :text_user_wrote, @message.author)}
  " + @content << @message.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n") + "
\n\n
" + @content = "
" << @content + @temp = Message.new + @temp.content = @content + end def preview diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 7220f3ccb..cba7784bc 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -41,7 +41,7 @@ class UsersController < ApplicationController :activity_score_index, :influence_score_index, :score_index,:show_new_score, :topic_new_score_index, :project_new_score_index, :activity_new_score_index, :influence_new_score_index, :score_new_index] before_filter :auth_user_extension, only: :show - #before_filter :rest_user_score, only: :show + before_filter :rest_user_score, only: :show accept_api_auth :index, :show, :create, :update, :destroy,:tag_save , :tag_saveEx #william @@ -794,7 +794,9 @@ class UsersController < ApplicationController praise_num(@user) changeset_num(@user) document_num(@user) - + attachment_num(@user) + issue_done_ratio_num(@user) + post_issue_num(@user) end #验证是否显示课程 diff --git a/app/helpers/user_score_helper.rb b/app/helpers/user_score_helper.rb index ba055ddf4..de7b2d6ec 100644 --- a/app/helpers/user_score_helper.rb +++ b/app/helpers/user_score_helper.rb @@ -600,7 +600,7 @@ module UserScoreHelper end def praise_num(user,project=nil) - if project.nil? + if !project.nil? pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 1").all result = [] result1 = [] @@ -674,7 +674,7 @@ module UserScoreHelper update_score(option_number) end - def document_num(user,project=nil?) + def document_num(user,project=nil) if project.nil? Document.includes(:user).where("user_id = '#{user.id}'").all.count else @@ -689,14 +689,13 @@ module UserScoreHelper option_number.attachment = Attachment.includes(:author).where("author_id = '#{user.id}'").all.count update_score(option_number) end - #===================here to continue============================ + def attachment_num(user,project=nil) if project.nil? - Attachment.includes(:author).where("author_id = '#{user.id}'").all.count + Attachment.includes(:author,:container).where("author_id = '#{user.id}' and container_type = 'Project'").all.count else Attachment.includes(:author,:container).where("author_id = '#{user.id}' and container_type = 'Project' and container_id = #{project.id}").all.count end - end #更新缺陷完成度次数 @@ -706,8 +705,13 @@ module UserScoreHelper update_score(option_number) end - def issue_done_ratio_num(user,project) - Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count + def issue_done_ratio_num(user,project=nil) + if project.nil? + Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count + else + Journal.joins(:issue,:details,:user).where("#{Issue.table_name}.project_id = '#{project.id}' and #{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count + end + end #更新发布缺陷次数 @@ -718,6 +722,11 @@ module UserScoreHelper end def post_issue_num(user,project=nil) - Issue.includes(:author).where("author_id = '#{user.id}'").all.count + if project.nil? + Issue.includes(:author).where("author_id = '#{user.id}'").all.count + else + Issue.includes(:author).where("author_id = '#{user.id}' and project_id = '#{project.id}'").all.count + end + end end diff --git a/app/views/memos/_reply_box.html.erb b/app/views/memos/_reply_box.html.erb index e0c6acf13..18cfa032d 100644 --- a/app/views/memos/_reply_box.html.erb +++ b/app/views/memos/_reply_box.html.erb @@ -2,6 +2,9 @@ <%= f.hidden_field :subject, :required => true, value: @memo.subject %> <%= f.hidden_field :forum_id, :required => true, value: @memo.forum_id %> <%= f.hidden_field :parent_id, :required => true, value: @memo.id %> +
+ + <%= text_area :quote,:quote,:style => 'display:none' %> <%= label_tag(l(:label_reply_plural)) %>: <%= f.text_area :content, :cols => 80, :rows => 15, :class => 'wiki-edit', :id => 'editor01', :value => @content %>

diff --git a/app/views/memos/quote.js.erb b/app/views/memos/quote.js.erb index 73e36ee82..a72b7ac9e 100644 --- a/app/views/memos/quote.js.erb +++ b/app/views/memos/quote.js.erb @@ -1,2 +1,4 @@ -ckeditor.setData("<%= raw escape_javascript(@content) %>"); +//ckeditor.setData("<%= raw escape_javascript(@content) %>"); +$('#message_quote').html("<%= raw escape_javascript(@temp.content) %>"); +$('#quote_quote').html("<%= raw escape_javascript(@content) %>"); showAndScrollTo("new_memo", "cke_editor01"); \ No newline at end of file diff --git a/app/views/messages/_form.html.erb b/app/views/messages/_form.html.erb index c7c557f9a..4208d3061 100644 --- a/app/views/messages/_form.html.erb +++ b/app/views/messages/_form.html.erb @@ -32,7 +32,9 @@ <%= f.select :board_id, boards_options_for_select(@message.course.boards) %>

<% end %> <% end %> +
+ <%= text_area :quote,:quote,:style => 'display:none' %>

<%= label_tag "message_content", l(:description_message_content), :class => "hidden-for-sighted" %> <%= f.text_area :content, :cols => 80, :rows => 13, :class => 'wiki-edit', :id => 'message_content' %>

diff --git a/app/views/messages/quote.js.erb b/app/views/messages/quote.js.erb index fe4bed91a..f8ec37d75 100644 --- a/app/views/messages/quote.js.erb +++ b/app/views/messages/quote.js.erb @@ -1,4 +1,7 @@ $('#message_subject').val("<%= raw escape_javascript(@subject) %>"); -$('#message_content').val("<%= raw escape_javascript(@content) %>"); +$('#message_quote').html("<%= raw escape_javascript(@temp.content) %>"); +//$('#message_content').val("<#%= raw escape_javascript(@content) %>"); +$('#quote_quote').html("<%= raw escape_javascript(@content) %>"); + showAndScrollTo("reply", "message_content"); $('#message_content').scrollTop = $('#message_content').scrollHeight - $('#message_content').clientHeight;