diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 77dc1a9aa..5e21251b8 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -137,6 +137,7 @@ class IssuesController < ApplicationController end end # end + @jour_reply = Journal.new @journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all @journals.each_with_index {|j,i| j.indice = i+1} @journals.reject!(&:private_notes?) unless User.current.allowed_to?(:view_private_notes, @issue.project) @@ -153,6 +154,7 @@ class IssuesController < ApplicationController @project_base_tag = (params[:project_id] || @issue.project) ? 'base_projects':'base'#by young @available_watchers = (@issue.project.users.sort + @issue.watcher_users).uniq + @journal = Journal.new(:journalized => @issue) respond_to do |format| format.html { @@ -401,6 +403,7 @@ class IssuesController < ApplicationController jour.user_id = User.current.id jour.notes = params[:notes] jour.journalized = @issue + jour.save_attachments(params[:attachments]) jour.save user_activity = UserActivity.where("act_type='Issue' and act_id =#{@issue.id}").first user_activity.updated_at = jour.created_on diff --git a/app/controllers/system_messages_controller.rb b/app/controllers/system_messages_controller.rb index 684378e8a..6e9c8ad13 100644 --- a/app/controllers/system_messages_controller.rb +++ b/app/controllers/system_messages_controller.rb @@ -1,4 +1,5 @@ class SystemMessagesController < ApplicationController + # before_filter :message_author, :only => [:show] # # def message_author @@ -41,6 +42,7 @@ class SystemMessagesController < ApplicationController @system_messages.description = params[:system_message][:description] @system_messages.subject = params[:system_message][:subject] @system_messages.user_id = User.current.id + @system_messages.save_attachments(params[:attachments]) respond_to do |format| if @system_messages.save format.html {redirect_to user_system_messages_path(User.current)} diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f26f6c118..c57478c4a 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -55,6 +55,7 @@ class UsersController < ApplicationController before_filter :recorded_visitor, :only => [:show,:user_fanslist,:user_watchlist,:user_visitorlist] helper :sort + helper :attachments include SortHelper helper :custom_fields include CustomFieldsHelper @@ -63,6 +64,7 @@ class UsersController < ApplicationController include GitlabHelper include UserScoreHelper + include PollHelper helper :user_score helper :journals diff --git a/app/models/journal.rb b/app/models/journal.rb index 638a98006..4ab55c158 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -31,9 +31,8 @@ class Journal < ActiveRecord::Base #has_many :forge_acts, :class_name => 'ForgeActivity',:as =>:forge_act ,:dependent => :destroy 评论不应该算入 # 被ForgeMessage虚拟关联 has_many :forge_messages, :class_name => 'ForgeMessage',:as =>:forge_message ,:dependent => :destroy - has_many :at_messages, as: :at_message, dependent: :destroy - + acts_as_attachable attr_accessor :indice acts_as_event :title =>Proc.new {|o| status = ((s = o.new_status) ? " (#{s})" : nil); "#{o.issue.tracker} ##{o.issue.project_index}#{status}: #{o.issue.subject}" }, @@ -46,8 +45,8 @@ class Journal < ActiveRecord::Base acts_as_activity_provider :type => 'issues', :author_key => :user_id, :find_options => {:include => [{:issue => :project}, :details, :user], - :conditions => "#{Journal.table_name}.journalized_type = 'Issue' AND" + - " (#{JournalDetail.table_name}.prop_key = 'status_id' OR #{Journal.table_name}.notes <> '')"} + :conditions => "#{Journal.table_name}.journalized_type = 'Issue' AND" + + "(#{JournalDetail.table_name}.prop_key = 'status_id' OR #{Journal.table_name}.notes <> '')"} before_create :split_private_notes diff --git a/app/models/system_message.rb b/app/models/system_message.rb index a05610da7..65623c104 100644 --- a/app/models/system_message.rb +++ b/app/models/system_message.rb @@ -7,6 +7,7 @@ class SystemMessage < ActiveRecord::Base validates_length_of :description, maximum: 10000 has_many :message_alls, :class_name => 'MessageAll',:as =>:message, :dependent => :destroy + acts_as_attachable # 系统消息放置总消息列表 after_create :add_system_message diff --git a/app/views/admin/messages.html.erb b/app/views/admin/messages.html.erb index e4d053d49..5a8d9e0d2 100644 --- a/app/views/admin/messages.html.erb +++ b/app/views/admin/messages.html.erb @@ -19,6 +19,15 @@