プロジェクト

全般

プロフィール

QA #906

未完了

新しいチケットの作成時にデフォルトで任意のウォッチャーにチェックを入れたい。

k a さんが5年以上前に追加. 約5年前に更新.

ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
-
開始日:
2018/12/26
期日:
進捗率:

0%

予定工数:

説明

バージョン:Redmine3.4.3-1

URLから指定する形ではなく何か方法はないでしょうか。


ファイル

タスクの場合.png (68 KB) タスクの場合.png タスクの場合 Kawai takashi, 2018/12/28 16:32
QAの場合.png (82.1 KB) QAの場合.png QAの場合 Kawai takashi, 2018/12/28 16:33
それ以外の場合.png (72.7 KB) それ以外の場合.png それ以外の場合 Kawai takashi, 2018/12/28 16:33

奈良 裕記 さんが5年以上前に更新

下記2案出してみます。テスト環境で試していただければと。

本家8568のパッチ利用

本家チケットでは下記があり、Redmine3.2時点のパッチが出ています。(そのままで動作するかは疑問ですが)
add ability to designate default watchers by tracker/project
https://www.redmine.org/issues/8568

watchersテーブルへの登録

watchersテーブルに全Issue分のwatchersを追加する方法も考えられます。
(本来は起票時に追加くらいするべきですが極論w)

十分なチケット数分、先にレコード追加しておけば、結果的にはチケット作成時に自動的にwatchersに追加されると思われます。
下記のwatchable_idがチケット番号、user_idがRedmine上のユーザIDです。(Redmine内で一意)


MariaDB [redmine]> desc watchers;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| id             | int(11)      | NO   | PRI | NULL    | auto_increment |
| watchable_type | varchar(255) | NO   |     |         |                |
| watchable_id   | int(11)      | NO   | MUL | 0       |                |
| user_id        | int(11)      | YES  | MUL | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

MariaDB [redmine]> select * from watchers;
+----+----------------+--------------+---------+
| id | watchable_type | watchable_id | user_id |
+----+----------------+--------------+---------+
|  1 | Issue          |        17786 |       1 |
|  2 | Issue          |        17786 |       5 |
+----+----------------+--------------+---------+
2 rows in set (0.00 sec)

Kawai takashi さんが約5年前に更新

View Customize Plugin (V.1.2.2)で実現してみました。
どのような条件の場合にどのユーザーをデフォルトで任意のウォッチャーにしたいのかが記述されていませんでしたので、例としてトラッカー別にデフォルトで任意のウォッチャーを指定するようにしてみました。

パスのパターン:/issues/new
挿入位置:チケット入力欄の下
種別:JavaScript

$(function() {
 var tracker_id = $('#issue_tracker_id').val();

 $('#issue_tracker_id').on('change', function(){//トラッカーが変わったら一旦チェックをクリア
  $('input[name*="issue[watcher_user_ids]"]').prop('checked', false);
 })

   if (tracker_id == "2"){//タスク
    $('input[name*="issue[watcher_user_ids]"]:eq(2)').prop('checked', true);//Sadesh Warnakulasooriya
    $('input[name*="issue[watcher_user_ids]"]:eq(3)').prop('checked', true);//takashi Kawai
    $('input[name*="issue[watcher_user_ids]"]:eq(6)').prop('checked', true);// tosiaki Mikawa
   }else if (tracker_id == "3"){//QA
    $('input[name*="issue[watcher_user_ids]"]:eq(1)').prop('checked', true);//kunihiro Yoshikawa
    $('input[name*="issue[watcher_user_ids]"]:eq(3)').prop('checked', true);//takashi Kawai
    $('input[name*="issue[watcher_user_ids]"]:eq(5)').prop('checked', true);//tomu Oshidari
   }else{
    //何もしない
   }      
})

動作の結果は、添付画像を参照してください。

*途中でユーザーが追加・変更などされた場合は、その都度「:eq()」の番号を変更しないといけないですが。

Kawai takashi さんが約5年前に更新

「作成」ボタン押下時に、必須エラーが出た場合に動作がおかしくなったので、修正しました。

1.パスのパターン:/issues/new → /issues
2. eq()で指定するのをやめて、value で指定するようにする。

//$('input[name*="issue[watcher_user_ids]"]:eq(2)').prop('checked', true);
$('input[name*="issue[watcher_user_ids]"][value="1"]').prop('checked', true);

奈良 裕記 さんが約5年前に更新

  • ステータス新規 から 回答済 に変更

奈良 裕記 さんが約5年前に更新

  • 題名新しいチケットタブ押下時にデフォルトで任意のウォッチャーにチェックを入れたい。 から 新しいチケットの作成時にデフォルトで任意のウォッチャーにチェックを入れたい。 に変更

他の形式にエクスポート: Atom PDF