diff --git a/README.rdoc b/README.rdoc index b587ce5..0e8bf9a 100644 --- a/README.rdoc +++ b/README.rdoc @@ -6,7 +6,7 @@ == インストール -1. RAILS_ROOT/vendor/pluginsに配置する。 +1. RAILS_ROOT/pluginsに配置する。 2. rake db:migrate_plugins RAILS_ENV=production を実行する。 @@ -20,7 +20,7 @@ rake db:migrate:plugin RAILS_ENV=production VERSION=0 NAME=redmine_already_read を実行する。 -2. RAILS_ROOT/vendor/pluginsから削除する。 +2. RAILS_ROOT/pluginsから削除する。 3. Redmineを再起動する。 @@ -35,6 +35,11 @@ == 更新履歴 +=== Version 0.0.3 + +"活動"にチケットを読んだことが残るようにしました。 + + === Version 0.0.2 フィルターが正しく表示されていなかったのを修正。 diff --git a/app/models/already_read.rb b/app/models/already_read.rb index 671d333..fb57a2c 100644 --- a/app/models/already_read.rb +++ b/app/models/already_read.rb @@ -3,4 +3,30 @@ class AlreadyRead < ActiveRecord::Base belongs_to :issue validates_presence_of :user, :issue + + # "活動"に表示されるようにイベントをプロバイダを登録する + acts_as_event :title => Proc.new {|o| "#{o.issue.tracker.name} ##{o.issue.id} (#{o.issue.status}): #{o.issue.subject}"}, + :type => 'issue-note', + :author => :user, + :url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o.issue.id}} + + acts_as_activity_provider :find_options => {:include => [ {:issue => [:project, :tracker, :status]}, :user ]}, + :author_key => :user_id, :type => 'issues' + + # "活動"で参照するための閲覧スコープ + scope :visible, + lambda {|*args| { :include => {:issue => :project}, + :conditions => Issue.visible_condition(args.shift || User.current, *args) } } + + # 状態の説明 + # "活動"で参照する + def description + return l(:activity_already_read) + end + + # 属するプロジェクト + # "活動"で参照する + def project + return self.issue.project + end end diff --git a/config/locales/en.yml b/config/locales/en.yml index 40b1661..7c32db8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3,5 +3,7 @@ en: field_already_read_date: Read Date label_already_read: Read - label_read: Read - label_unread: Unread + label_already_read_read: Read + label_already_read_unread: Unread + + activity_already_read: Read diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 6c52dfa..d2cc34a 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -3,5 +3,7 @@ ja: field_already_read_date: 読んだ日時 label_already_read: 既読 - label_read: 既読 - label_unread: 未読 + label_already_read_read: 既読 + label_already_read_unread: 未読 + + activity_already_read: 読みました diff --git a/init.rb b/init.rb index bf8ab95..7acc6f0 100644 --- a/init.rb +++ b/init.rb @@ -8,7 +8,10 @@ name 'Redmine Already Read plugin' author 'OZAWA Yasuhiro' description 'Markup read issues.' - version '0.0.2' + version '0.0.3' url 'https://github.com/ameya86/redmine_already_read' author_url 'http://blog.livedoor.jp/ameya86/' + + # "活動"にチケットイベントとして登録 + activity_provider :issues, :class_name => 'AlreadyRead' end diff --git a/lib/already_read/issue_patch.rb b/lib/already_read/issue_patch.rb index c575da7..36136e4 100644 --- a/lib/already_read/issue_patch.rb +++ b/lib/already_read/issue_patch.rb @@ -26,7 +26,7 @@ class Issue < ActiveRecord::Base # 状態を文字で返す def already_read(user = User.current) - return (already_read?(user))? l(:label_read) : l(:label_unread) + return (already_read?(user))? l(:label_already_read_read) : l(:label_already_read_unread) end # 既読ならtrueを返す diff --git a/sample/already_read1.png b/sample/already_read1.png new file mode 100644 index 0000000..94aa798 Binary files /dev/null and b/sample/already_read1.png differ diff --git a/sample/already_read2.png b/sample/already_read2.png new file mode 100644 index 0000000..8286189 Binary files /dev/null and b/sample/already_read2.png differ