プロジェクト

全般

プロフィール

QA #235

未完了

終了したチケットをコメント不可にしたい

奈良 裕記 さんが7年以上前に追加. ほぼ3年前に更新.

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

0%

予定工数:

説明

■現象/要望

終了したチケットをコメント不可にしたい。

作業依頼-記録/管理目的のチケットでは、既に終了したチケットへにコメントされると、運用上不味い場合がある。

■解決策

1.ViewCustomizeで編集などのアイコンを非表示にする。

https://redmine.tokyo/issues/235#note-7
https://redmine.tokyo/issues/235#note-8

CODAの定義・運用の現在 2020年版 / 2.チケットを「凍結」・「解凍」したい
https://www.jss.jaxa.jp/mediadir/2020/11/redmine_tokyo_19_CODA2020_Public201114.pdf

画面表示で操作抑えているので、チケット一覧右ボタン-編集には効かない。

2.設定変更対応

チケットの編集権限の一つとして、Tracker/Role/Statusで制御する。
現時点の回避策として、別トラッカー(注記不可)を作成し、チケット終了時にトラッカーを変更する。

3.Redmine本体パッチ

本家13814に2.4.6用のパッチ有

4.Redmine additionalsプラグイン対応

https://github.com/alphanodes/additionals

■対応状況

標準未対応

■補足

http://www.redmine.org/issues/13814 No more comments when ticket closed
http://www.redmine.org/issues/18382 Feature #18382: Disable closed issues for commenting)

http://www.redmine.org/issues/2685 Patch #2685: Display notice when commenting on closed tickets

descriptionも同じ
http://www.redmine.org/issues/7557 Feature #7557: Deny editing of descriptions of closed issues

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

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

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

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

Kawai takashi さんがほぼ5年前に更新

View Customize Pluginでもできそうですね。

パスのパターン:/issues/[0-9]+
挿入位置:全てのページのヘッダ
種別:JavaScript

$(function(){
 var admin = ViewCustomize.context.user.admin;
 var status = $('#issue_status_id').val();
 if (admin != true && status == 5){ //サーバ管理者以外でステータスが終了の場合
   $('#issue_status_id').attr("disabled", true);
   $('#issue_notes').attr("disabled", true);
   $('a[class="icon-only icon-edit"]').css("display", "none");
 }
})

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

問題発生しましたので報告します。(3.4で確認)

1.編集アイコン部分

下記箇所の修正で表示制御できました。(右ボタンは残りますが、これでも十分かと)

<span class="icon icon-edit">編集</span>

2.ステータス取得不可
ステータス変更不可の状態では、
'#issue_status_id'で状態が取れません。
こちらはviewcustomizeかRedmine本体側に対応お願いするしかないですかねー。

Kawai takashi さんがほぼ5年前に更新

1.編集アイコン部分
「終了したチケットをコメント不可にしたい。」の意味は、注記と履歴のコメントに入力できないという意味だと思ったので、icon-only icon-editにしました。icon icon-editだと、他の項目も全て編集できなくなってしまいます。

2.ステータス変更不可の状態では、'#issue_status_id'で状態が取れません。
ステータスの状態が取れないと、他で使用する場合に不都合だからということですよね。

以下のテストコードで試しましたが、ステータス変更不可の状態でも、ステータスの状態は取得できました。

$(function(){
 var status = $('#issue_status_id').val();
 $('input[type="submit"]').click(function(){
   alert(status);
 })
})

Rubyのコードだと、取得できないのでしょうか。でしたら、$('#issue_status_id').attr("disabled", true); の部分をコメントアウトしてください。ステータスは変更できる状態になりますが、ステータスを変更しても、保存しないうちは、注記には入力できないままですので用は足せると思います。

ステータス変更可能な状態にしておいて、しかも変更して保存をさせたくない場合、以下でどうでしょうか。

$(function(){
 var admin = ViewCustomize.context.user.admin;
 var status = $('#issue_status_id').val();
 if (admin != true && status == 5){ //サーバ管理者以外でステータスが終了の場合
   $('#issue_notes').attr("disabled", true);
   $('a[class="icon-only icon-edit"]').css("display", "none");

   $('input[type="submit"]').on('click', function(){
     var statussave = $('#issue_status_id').val();
     if (status != statussave){
       alert("終了のステータスは変更できません。サーバ管理者に連絡してください。");  
       $('#issue_status_id').val(status);    
       return false;       
     }  
   })  
 }
})

間違って終了にしてしまった場合、元に戻せないので面倒だということなら、$('#issue_status_id').attr("disabled", true); の部分をコメントアウトするだけで運用してください。

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

closedの場合、admin以外では、#issue_status_idが出力されていませんね。

手元の環境では、下記により動作しました。
Admin以外の場合、closedチケットへの注記不可、時間追加も不可となります。

ステータス-状態遷移の制御はRedmineのワークフロー設定で実施するものとしました。

残件
・終了済なので書込み不可の表示
・トラッカー、ステータス、ロール単位の例外処理

制約
・チケット一覧-右ボタンで編集操作は可能

$(function(){
 var admin = ViewCustomize.context.user.admin;
 var closed=false;
 if ($('div').hasClass('closed')){
   closed=true;
 }
 if (admin != true && closed == true){ //サーバ管理者以外でステータスが終了の場合
   // $('#issue_status_id').attr("disabled", true);
   $('#issue_notes').attr("disabled", true);                    //注記入力
   $('a[class="icon icon-edit"]').css("display", "none");       //編集アイコン
   $('a[class="icon icon-time-add"]').css("display", "none");   //時間追加アイコン
   // $('a[class="icon icon-fav-off"]').css("display", "none"); //watcher追加を消す場合
 }
})

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

Summary

When the user is not a server administrator and the status is closed,disable editing or commenting on the issue.

Workaround for the following issue.

http://www.redmine.org/issues/13814 No more comments when ticket closed
http://www.redmine.org/issues/18382 Disable closed issues for commenting

Procedure

Install view customize plugin.
https://github.com/onozaty/redmine-view-customize

Click "New view customize" and enter items.

Path pattern '/issues/[0-9]+'
Insertation posision 'Head of all pages'
Type 'JavaScript'
Code

$(function(){
 var admin = ViewCustomize.context.user.admin;
 var closed=false;
 if ($('div').hasClass('closed')){
   closed=true;
 }
 if (admin != true && closed == true){ 
   // $('#issue_status_id').attr("disabled", true);
   $('#issue_notes').attr("disabled", true);
   $('a[class="icon icon-edit"]').css("display", "none");
   $('a[class="icon icon-time-add"]').css("display", "none");
   // If you do not want to display the button additional watcher then remove comment out.
   // $('a[class="icon icon-fav-off"]').css("display", "none"); 
 }
})

Restrictions

It is possible to perform editing operation with the right button on the issue list screen.

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

  • 対象バージョン本家patch有 から Plugin対応済 に変更

ViewCustomizeで一応対処できているのでversion変更

本家チケットに記載
http://www.redmine.org/issues/13814#note-18

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

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

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

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

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

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

奈良 裕記 さんがほぼ3年前に更新

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