diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index c4b72f584..f47ba446e 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -525,7 +525,7 @@ class ApplicationController < ActionController::Base
#
# @return [boolean, string] name of the layout to use or false for no layout
def use_layout
- request.xhr? ? false : 'base'
+ request.xhr? ? false : 'users_base'
end
def invalid_authenticity_token
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 = "> #{ll(Setting.default_language, :text_user_wrote, @memo.author)}\n> " + #@content << @memo.content.to_s.strip.gsub(%r{\n\n((.|\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") + "
" << @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/models/user.rb b/app/models/user.rb index 195346e7c..b64d0efd7 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -324,7 +324,7 @@ class User < Principal # Returns the user that matches provided login and password, or nil #登录,返回用户名与密码匹配的用户 def self.try_to_login(login, password) - login = login.to_s + login = login.to_s.lstrip.rstrip password = password.to_s # Make sure no one can sign in with an empty login or password diff --git a/app/views/contests/_form_contest.html.erb b/app/views/contests/_form_contest.html.erb index 5dc824d28..79c531969 100644 --- a/app/views/contests/_form_contest.html.erb +++ b/app/views/contests/_form_contest.html.erb @@ -23,12 +23,12 @@<%= l(:label_bids_form_contest_new_description) %>
<%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Contest::NAME_LENGTH_LIMIT, :placeholder => "#{l(:label_contest_name)}" %>
-<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => Contest::DESCRIPTION_LENGTH_LIMIT, :placeholder => "#{l(:label_contest_description)}" %>
+<%= f.text_area :description, :rows => 5, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => Contest::DESCRIPTION_LENGTH_LIMIT, :placeholder => "#{l(:label_contest_description)}" %>
<%= f.text_field :password, :size => 60, :style => "width:488px;margin-left: 10px;" %>
- <%= f.text_field :budget, :required => true, :size => 60, :style => "width:350px;", :placeholder => l(:label_bids_reward_what) %> + <%= f.text_area :budget, :required => true, :size => 60,:rows => 4,:maxlength => Contest::DESCRIPTION_LENGTH_LIMIT, :style => "width:490px;", :placeholder => l(:label_bids_reward_what) %>
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; diff --git a/app/views/school/index.html.erb b/app/views/school/index.html.erb index 47ac3f968..6c1eafd6d 100644 --- a/app/views/school/index.html.erb +++ b/app/views/school/index.html.erb @@ -71,6 +71,12 @@ }) } + + function word_keydown(e){ + if(e&& e.keyCode==13){ + ssearch(); + } + }@@ -85,7 +91,7 @@请选择省份: -+ diff --git a/app/views/welcome/contest.html.erb b/app/views/welcome/contest.html.erb index 27afed749..f2140fd9b 100644 --- a/app/views/welcome/contest.html.erb +++ b/app/views/welcome/contest.html.erb @@ -157,7 +157,7 @@ <% find_all_hot_contest.map do |contest| break if(contest == find_all_hot_contest[5]) %> - + <%= image_tag('/images/contest1.png')%> @@ -173,7 +173,7 @@ <% end %>-+<%=contest.description.truncate(100, omission: '...')%>
diff --git a/public/themes/redpenny-master/stylesheets/application.css b/public/themes/redpenny-master/stylesheets/application.css index 3a6c53223..0f8113054 100644 --- a/public/themes/redpenny-master/stylesheets/application.css +++ b/public/themes/redpenny-master/stylesheets/application.css @@ -489,6 +489,7 @@ color: #000000; margin-bottom: 30px; border-right:1px solid #C6E9F1; overflow:auto; + word-wrap:break-word; /*by young*/ -moz-box-shadow:#C6E9F1 1px 1px 2px; -webkit-box-shadow:2px 2px 0px -2px #C6E9F1; @@ -903,6 +904,7 @@ hr p { font-size: 13px; + word-break: break-all; /*position: static;/*gcm*/ } /*end*/