Redmineのカスタムフィールド:ユーザで、自分自身を選択しやすくする(View customize plugin)

担当者のプルダウンだと、「<<自分>>」といった選択肢が先頭に表示されて、自分自身の選択がしやすくなっているのですが、カスタムフィールドで書式をユーザとしたときは、同じくユーザを選択するプルダウンでも、そういった選択肢が出てきません。

f:id:onozaty:20160117021815p:plain

ちょっと不便ですよね!

ということで、担当者と同じような選択ができるように、View customize pluginにて対応してみました。
View customize plugin自体の説明は下記をご参照ください。

設定内容

Path pattern

/issues/

Code

Type:JavaScriptとして下記を設定します。
カスタムフィールドでユーザとなっているものを探し出して、その中に自分のIDがあれば、「<<自分>>」という選択肢を空欄の後に追加しています。

$(function() {
  var userUrl = $("div#loggedas a").attr("href");
  var userId = userUrl.substr(userUrl.lastIndexOf('/') + 1);

  // ユーザ一覧のカスタムフィールドを取得
  $('select.user_cf').each(function() {
    // 自分自身の選択肢を取得
    var meOption = $(this).find('option[value="' + userId + '"]').first();

    // 複製し、空項目の次に名前を変えて挿入
    meOption.clone()
      .removeAttr('selected')
      .insertAfter($(this).find('option[value=""]'))
      .text('<<自分>>');
  });
})

設定後のイメージ

f:id:onozaty:20160117022519p:plain

便利になりました。