プラグイン Tips » 履歴 » バージョン 1
Toshiyuki Ando, 2009/06/28 08:45
1 | 1 | Toshiyuki Ando | h1. プラグイン Tips |
---|---|---|---|
2 | |||
3 | チュートリアルの域を超えそうなものはこちらに? |
||
4 | |||
5 | h2. 活動ページにプラグインの履歴を表示する |
||
6 | |||
7 | Hudson プラグインを例にとり、プラグインの履歴を表示する方法を紹介します。 |
||
8 | |||
9 | h3. サイドバーに表示される履歴の種類に、自分のプラグインを追加する |
||
10 | |||
11 | h4. 1. init.rb で活動ページに参加することを宣言する |
||
12 | |||
13 | 以下のコードを Redmine::Plugin.register の中に追加します。 |
||
14 | |||
15 | <pre><code class="ruby"> |
||
16 | activity_provider :[履歴の種類], :class_name => '[履歴を管理するクラス]', :default => false |
||
17 | </code></pre> |
||
18 | |||
19 | Hudson の場合は以下のようになります。 |
||
20 | |||
21 | <pre><code class="ruby"> |
||
22 | activity_provider :hudson, :class_name => 'HudsonBuild', :default => false |
||
23 | </code></pre> |
||
24 | |||
25 | h4. 2. 権限に view_[履歴の種類] を追加する |
||
26 | |||
27 | 活動の履歴では権限をチェックします。 |
||
28 | 現在ログインしているユーザが履歴を閲覧してよいかどうかは、 |
||
29 | *view_[履歴の種類]* 権限が許されているかどうかに依存します。 |
||
30 | |||
31 | Hudsonの例で言うと、履歴の種類が hudson なので、 *view_hudson* 権限が必要です。 |
||
32 | 従って、init.rb に記載する権限の種類に view_hudson がないと、権限なし とみなされてサイドバーに履歴の種類が表示されません。 |
||
33 | |||
34 | <pre><code class="ruby"> |
||
35 | project_module :hudson do |
||
36 | # パーミッション設定。 |
||
37 | permission :view_hudson, {:hudson => [:index, :history]} # !!ここ大事!! |
||
38 | permission :build_hudson, {:hudson => [:build]}, :require => :member |
||
39 | permission :edit_hudson_settings, {:hudson_settings => [:edit, :joblist]} |
||
40 | end |
||
41 | </code></pre> |
||
42 | |||
43 | h4. 3. 言語ファイルに label_[イベントの種類]_plural というエントリを追加する |
||
44 | |||
45 | サイドバーに表示する用語は、 label_[イベントの種類]_plural に統一されています。 |
||
46 | Hudsonだと label_hudson_plural ですね。 |
||
47 | 言語ファイルに登録しておかないと label_hudson_plural が表示されるという、格好悪いことになります。 |