Redmine: コンテキストメニューからステータスを変えた際に、対象バージョンも変更する (View customize plugin)

Issueとして、コンテキストメニューからステータスを却下(6)に変えたときに、対象バージョンを未設定としたいんだけど、どうやれば、、といったものが上がっていたので、スクリプトを書いてみました。

やり方としては、コンテキストメニューが生成されたタイミングで、ステータスを却下に変えるリンクのパラメータに、対象バージョンも追加します。

設定内容

Path pattern

チケット一覧を対象にします。

/issues

Code

Type:JavaScriptとして下記を設定します。

$(function() {

  // コンテキストメニューを表示したタイミングでフックするために
  // jQueryのshow関数を差し替え
  jQuery.fn._show = jQuery.fn.show;

  jQuery.fn.show = function() {
    if (this.attr('id') == 'context-menu') {
      // ステータスを6:却下に変える場合に
      // 対象バージョンを未設定に
      var a = $('#context-menu a[href*="status_id%5D=6"]');
      a.attr('href',a.attr('href') + '&issue%5Bfixed_version_id%5D=none');
    }

    return jQuery.fn._show.apply(this, arguments);
  };
});