QA #760
未完了チケット一覧画面に画像を表示させたい
0%
説明
トラッカーやステータス、優先度、期日等が同一のチケットでも、
チケット一覧画面にカスタムフィールドを使用してアイコン等の画像を表示させて、
チケット一覧画面を開いたらすぐに区別できるようにしたいと思うのですが、対応方法はありますでしょうか。
奈良 裕記 さんが約6年前に更新
目的はチケット一覧画面の識別性を向上させたいということですよね。
下記参考になるでしょうか。
Redmine上にタグ機能を追加したい
https://redmine.tokyo/issues/703
本家チケットはvote countトップです。(68件)
http://www.redmine.org/issues/1448
奈良 裕記 さんが約6年前に更新
画像表示に拘る必要があるなら、avatar関連の処理が参考になると思います、
チケット一覧画面にチケット担当者のavatarが表示できます。
タグ表示にて、avatarの表示を追加すれば良いかと。
Tamura Shinji さんが約6年前に更新
各種ステータスなどと関連して画像を変更するのであれば
https://github.com/annikoff/redmine_plugin_computed_custom_field
が使えるかと。
画像表示を適宜変更するのであれば、先のプラグインと組み合わせて
https://github.com/danmunn/redmine_dmsf
もありかと。
奈良 裕記 さんが約6年前に更新
コメントありがとうございます。
できれば具体的なサンプルが欲しいところ。。
https://github.com/y503unavailable/redmine-centos-ansible/
に、computed_custom_fieldとknowledgebaseを追加しようかな。。
dmsfは使ったことないのですが、チケット一覧に任意のイメージリンク可能ですか?
Tamura Shinji さんが約6年前に更新
dmsfは、
{{dmsf_image(8)}}
とするとイメージリンクできるので、ステータスに応じてcomputed custom fieldで、dmsfに渡すファイルIDを変えていれてやればできるはずです。
式がすぐに思い浮かばないけど。。。
Kawai takashi さんが5年以上前に更新
Q:指定したカスタムフィールドをチケット一覧画面には表示させ、チケット詳細には管理者のみ表示させることは可能でしょうか。
A:「管理者」というのは「サーバ管理者」のことですか? それなら、View Customize Plugin v 1.2.2を使用して、ViewCustomize.context.user.admin の値を取得して分岐条件に使用します。
「管理者」がロールと権限の「管理者」を意味する場合、View Customize Pluginではユーザーのroleは取得できないということですので、以下の代替策を取ってください。
管理→カスタムフィールド の「ユーザ」タブで、個人設定のページに「真偽値」型式のセレクトボックス(管理者)を追加して、この値をを取得して分岐条件に使用します。
パスのパターン:/issues
挿入位置:チケット入力欄の下
種別:JavaScript
$(function(){
//var admin = ViewCustomize.context.user.admin; //システム管理者
var selected_value = ViewCustomize.context.user.customFields[0].value; //「管理者」カスタムフィールドのインデックス番号を指定
//設定値がtrue以外の場合はカスタムフィールドを非表示にする
//if (admin != true){
if (selected_value != true){
$('.tabular p #issue_custom_field_values_50').parent().css('display','none'); //隠したいカスタムフィールドの番号を指定
$('.details .cf_50').css('display','none');
}else{
//何もしない
}
});
Kawai takashi さんが5年以上前に更新
ちょっと無理矢理ですが、どうしてもユーザーのロールを使用したければ、/users/ のページの「プロジェクト」に表示されている情報を取得して分岐条件に使用することもできます。*サーバに負荷がかかることもあり、この方法はあまりお勧めしません。もっと良い方法がないですかね。
$(function() {
var login = ViewCustomize.context.user.id;
$.get("/redmine/users/" + login).done(function(html){
$('.splitcontentleft a[href="/redmine/projects/redminecustomize"]', $(html)).each(function(){ //対象のプロジェクトのパスを指定してください
var gettext = $(this).parent('li').text();
//console.log(gettext);
if (gettext.indexOf('管理者') != -1) {
//何もしない
}else{
$('.tabular p #issue_custom_field_values_50').parent().css('display','none'); //隠したいカスタムフィールドの番号を指定
$('.details .cf_50').css('display','none');
}
})
},"html");
})