From 0064aa42787071547f09d3a8411763170955e094 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 8 Oct 2015 16:10:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=B8=8D=E6=B6=88=E5=A4=B1=20=E7=B3=BB=E7=BB=9F=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=92=8C=E6=99=AE=E9=80=9A=E6=B6=88=E6=81=AF=E4=B8=80?= =?UTF-8?q?=E8=87=B4=EF=BC=8C=E6=8C=89=E7=85=A7=E6=97=B6=E9=97=B4=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=20=E5=BE=85=E4=BC=98=E5=8C=96=E7=82=B9=EF=BC=9A?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 13 ++++--- app/models/system_message.rb | 11 ++++++ app/views/users/_user_message_system.html.erb | 30 ++++++++++++++++ app/views/users/user_messages.html.erb | 35 +++---------------- 4 files changed, 53 insertions(+), 36 deletions(-) create mode 100644 app/views/users/_user_message_system.html.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 73a26b52c..fc19836ce 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -112,10 +112,17 @@ class UsersController < ApplicationController case params[:type] when nil @message_alls = [] - messages = MessageAll.where("user_id =?" ,@user).order("created_at desc") + system_message_types = MessageAll.where("message_type =?", "SystemMessage") + messages = MessageAll.where("user_id =? and message_type !=?" ,@user, "SystemMessage") messages.each do |message_all| @message_alls << message_all.message end + # 系统消息需要给每个人发送,之所以这样做,可以避免遍历系统所有用户 + system_message_types.each do |system_message_type| + @message_alls << system_message_type.message + end + # 取出所有符合条件的按照创建时间排序 + @message_alls = @message_alls.sort {|a,b| b.created_at <=> a.created_at} when 'unviewed' @message_alls = [] messages = MessageAll.where("user_id =?", @user).order("created_at desc") @@ -187,12 +194,8 @@ class UsersController < ApplicationController message_new_time.onclick_time = Time.now message_new_time.save else - # 24小时内显示 - contrast_time = Time.now - 86400 message_time.update_attributes(:onclick_time => Time.now) end - # 24小时内显示系统消息 - @user_system_messages = SystemMessage.where("created_at >?", contrast_time).order("created_at desc") end # 消息设置为已读 diff --git a/app/models/system_message.rb b/app/models/system_message.rb index 2a810e8b8..a05610da7 100644 --- a/app/models/system_message.rb +++ b/app/models/system_message.rb @@ -5,4 +5,15 @@ class SystemMessage < ActiveRecord::Base validates :subject, presence: true # validates :description, presence: true validates_length_of :description, maximum: 10000 + + has_many :message_alls, :class_name => 'MessageAll',:as =>:message, :dependent => :destroy + + # 系统消息放置总消息列表 + after_create :add_system_message + + def add_system_message + if MessageAll.where("message_type = '#{self.class.to_s}' and message_id = '#{self.id}'").first.nil? + self.message_alls << MessageAll.new(:user_id => self.user_id) + end + end end diff --git a/app/views/users/_user_message_system.html.erb b/app/views/users/_user_message_system.html.erb new file mode 100644 index 000000000..efbd5d76b --- /dev/null +++ b/app/views/users/_user_message_system.html.erb @@ -0,0 +1,30 @@ +<% if ma.class == SystemMessage %> + <%# @user_system_messages.each do |usm| %> + + <%# end %> +<% end %> \ No newline at end of file diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index bd794438c..b3a09386e 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -41,40 +41,13 @@ <% end %> <% end %> - <%# 系统消息 %> - <% if params[:type] != 'system_messages' %> - <% @user_system_messages.each do |usm| %> - - <% end %> - <% end %> + <% unless @message_alls.nil? %> <% @message_alls.each do |ma| %> + <%# 系统消息 %> + <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> + <%# 课程消息 %> <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> From 2aeebfe64569df0bae8e521895ca522f3d3b0a8f Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 8 Oct 2015 16:23:15 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=20=E6=9C=89=E5=BA=8F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index fc19836ce..5dd23b54c 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -112,8 +112,8 @@ class UsersController < ApplicationController case params[:type] when nil @message_alls = [] - system_message_types = MessageAll.where("message_type =?", "SystemMessage") - messages = MessageAll.where("user_id =? and message_type !=?" ,@user, "SystemMessage") + system_message_types = MessageAll.where("message_type =?", "SystemMessage").order("created_at desc") + messages = MessageAll.where("user_id =? and message_type !=?" ,@user, "SystemMessage").order("created_at desc") messages.each do |message_all| @message_alls << message_all.message end From fce872a6a513a78eee063a2925db92e117f9c08b Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 8 Oct 2015 17:42:48 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BC=98=E5=8C=96issue=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/issues_controller.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 2232602aa..923414583 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -113,12 +113,8 @@ class IssuesController < ApplicationController def show # 当前用户查看指派给他的缺陷消息,则设置消息为已读 - query = @issue.forge_messages - query.each do |m| - if m.user_id == User.current.id - m.update_attribute(:viewed, true) - end - end + query = ForgeMessage.where("forge_message_type =? and user_id =? and forge_message_id =?", "Issue", User.current, @issue).first + query.update_attribute(:viewed, true) unless query.nil? # 缺陷状态更新 query_journals = @issue.journals query_journals.each do |query_journal| From 530d101024199681b52ce0925649668ba1b602ed Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 9 Oct 2015 11:25:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=82=80=E8=AF=B7--?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E3=80=81=E9=95=BF=E5=BA=A6JS=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projects/invite_members_by_mail.html.erb | 24 +++++++++---------- config/locales/zh.yml | 4 ++-- public/stylesheets/project.css | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/views/projects/invite_members_by_mail.html.erb b/app/views/projects/invite_members_by_mail.html.erb index a697b70a4..32a124078 100644 --- a/app/views/projects/invite_members_by_mail.html.erb +++ b/app/views/projects/invite_members_by_mail.html.erb @@ -44,11 +44,11 @@ } - function verifyFirstName() { - var first_name = $.trim($('#first_name').val()); - if(first_name.length > 30) + function verifyLastName() { + var last_name = $.trim($('#last_name').val()); + if(last_name.length > 30) { - $("#valid_email").text("用户名字过长,最长为30个字符"); + $("#valid_email").text("用户姓氏过长,最长为30个字符"); return false; } else @@ -59,11 +59,11 @@ } - function verifyLastName() { - var last_name = $.trim($('#last_name').val()); - if(last_name.length > 30) + function verifyFirstName() { + var first_name = $.trim($('#first_name').val()); + if(first_name.length > 30) { - $("#valid_email").text("用户姓氏过长,最长为30个字符"); + $("#valid_email").text("用户名字过长,最长为30个字符"); return false; } else @@ -76,7 +76,7 @@ function senderEmail(obj) { - if(verifyAddress()) + if(verifyAddress() && verifyFirstName() && verifyLastName() ) { obj.parent().submit(); } @@ -110,13 +110,13 @@ <%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyAddress(this);" %>
  • - <%= text_field_tag 'first_name', '', :class => "fb_item_first_name fl", :placeholder => l(:label_input_email_lastname), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyLastName(this);" %> + <%= text_field_tag 'last_name', '', :class => "fb_item_first_name fl", :placeholder => l(:label_input_email_lastname), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyLastName(this);" %>
  • - <%= text_field_tag 'last_name', '', :class => "fb_item_last_name fl", :placeholder => l(:label_input_email_firstname), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyFirstName(this);" %> + <%= text_field_tag 'first_name', '', :class => "fb_item_last_name fl", :placeholder => l(:label_input_email_firstname), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyFirstName(this);" %>
  • - +
  • diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 195526712..5efe4a2cc 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -2025,8 +2025,8 @@ zh: label_end_time: 截止时间 label_send_email: 确定发送 label_input_email: 请输入邮箱地址(必填) - label_input_email_firstname: 请输入用户名字(非必填) - label_input_email_lastname: 请输入用户姓氏(非必填) + label_input_email_firstname: 请输入用户名字(可选) + label_input_email_lastname: 请输入用户姓氏(可选) label_input_email_gender: 请输入用户性别 #api end diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 0a78b399b..e044f9d51 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -47,7 +47,7 @@ a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;} .fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:200px;} .fb_item_first_name{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:150px;margin-left: 10px;} .fb_item_last_name{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:150px;margin-left: 10px;} -.fb_item_gender{ color:#919191; border:1px solid #919191; height:29px; margin-bottom:5px; padding-left:5px; width:48px;margin-left: 10px;} +.fb_item_gender{ color:#919191; border:1px solid #919191; height:29px; margin-bottom:5px; padding-left:5px; width:58px;margin-left: 10px;} a.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;} a:hover.icon_addm{background:url(../images/img_floatbox.png) 0 -61px no-repeat; } a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}