Redimineの表示のカスタマイズについて

480 views
Skip to first unread message

岩松剛

unread,
Dec 3, 2019, 8:20:42 PM12/3/19
to Redmine Users (japanese)
初めて投稿させて頂きます。
岩松と申します。

チケット作成時にファイル添付する機能がありますが、セキュリティの観点から非表示にしたいと考えております。
Redmineの「View Customize pligin」を使用し、「表示のカスタマイズ」からコードを記載しようとしていますが、うまく非表示になりません。
ご教授頂けないでしょうか。

コードは下記を参考にしています。

 ・パス
  /issues

 ・種別
  JavaScript

 ・コード
  $(function() {
  $('#issue_description_and_toolbar').parent().hide();
  $('div.issue div.description').hide()
  .next('hr').hide();
  });

CSSでのコードでも問題御座いません。

宜しくお願い致します。

Araki

unread,
Dec 4, 2019, 9:50:02 AM12/4/19
to Redmine Users (japanese)
はじめまして。


ファイルを添付させたくないだけでしたら、
に説明があるように、上限サイズを0にしてしまう、マクロや実行ファイルなど問題のある拡張子を禁止する
といった方法が簡単です。


View Customizeを使う場合ですが、まずパス指定が誤っていないでしょうか。
チケットの新規作成画面でしたら、
/issues/new
になるので、単にマッチしておらずカスタマイズが挿入されていないということがないか、
ブラウザでソース表示してご確認ください。

View Customize 自体は実行されていて、JavaScriptが誤っているとした場合ですが、
Redmineのバージョンにより異なる可能性がありますが4.0のデモサイト
https://my.redmine.jp/demo/projects/demo/issues/new
でChromeの開発者ツールで試したところ、

document.querySelector("#attachments_form").hidden = true;

で添付ボタンとその周囲を非表示にできました。

2019年12月4日水曜日 10時20分42秒 UTC+9 岩松剛:

岩松剛

unread,
Dec 4, 2019, 8:25:37 PM12/4/19
to Redmine Users (japanese)
Arakiさん

ありがとうございます。
説明が不足しておりました。
申し訳ありません。

補足しますと、プロジェクト単位で制限を掛ける事がゴールになります。
添付の上限サイズを0も考えていましたが、すべてのプロジェクトが対象になってしまうため断念しました。

頂いたコードで非表示化できました。
ありがとうございます!
また、下記のコードでも非表示化できました。

・パス
 /project/xxxxx/issue

・コード
 $(function() {
   $('#attachments_form').hide();

   $('div.issue div.description').hide()
     .next('hr').hide();
 });

そこで追加で質問になりますが、同じ要領で編集チケットの添付も非表示化させたいと考えていますが、
チケット番号が全プロジェクト連番になってしまっていますので、上記パスで指定できません。

何かいい方法はないでしょうか。

宜しくお願い致します。

2019年12月4日水曜日 10時20分42秒 UTC+9 岩松剛:

吉澤拓成

unread,
Dec 8, 2019, 3:58:39 AM12/8/19
to Redmine Users (japanese)
はじめまして

プロジェクトIDを取得してその値に応じて分岐する方法はどうでしょうか?
View Customize のバージョンが1.2.0 以降であれば、プロジェクトID を簡単に取得することができると思います。

var pid = ViewCustomize.context.project.identifier;


なので 例えば 目的のプロジェクトのIDが 'demo' ならば、下記のようになる思います。
私の試した環境は Redmine 3.4.6 ですが、プロジェクトID の判別はできました、
うまく行けばいいですが、試してみてください

$(function(){
 
var pid = ViewCustomize.context.project.identifier;
 
if (pid == 'demo'){
 
// do something;
 
} else {
 
// do nothing
 
}
});


2019年12月5日木曜日 10時25分37秒 UTC+9 岩松剛:

岩松剛

unread,
Dec 9, 2019, 10:29:32 PM12/9/19
to Redmine Users (japanese)
吉澤さん

情報頂き、ありがとうございます。
頂いたif文のコードでプロジェクト毎に非表示化する事ができました!

ありがとうございます!


2019年12月8日日曜日 17時58分39秒 UTC+9 吉澤拓成:
Reply all
Reply to author
Forward
Message has been deleted
0 new messages