レコードの作成権限があるユーザーにのみ自作ボタンを見せたいのですが、
一定のユーザーにだけ表示させるスクリプトってありますか?
レコードの作成権限があるユーザーにのみ自作ボタンを見せたいのですが、
一定のユーザーにだけ表示させるスクリプトってありますか?
お世話になっております。
kintone.getLoginUser()でログイン情報を取得して、条件分岐すれば可能です。
ユーザー数が多い場合は、許可ユーザーを入れるアプリを用意して
そのアプリにkintone.getLoginUser().idが存在すれば…という分岐をすればメンテナンスの手間も減ると思われます。
ウレット様
お世話になっております、ももたすです。
上記アドバイスありがとうございます。
アドバイス頂けたことを参考に作成したのですが、どのユーザーでも見えてしまうみたいで。。
お時間がありましたらご教授願えませんか?
(function () {
“use strict”;
kintone.events.on(‘app.record.index.show’, function (event) {
if (document.getElementById(‘my_index_button’) !== null){
var userID = kintone.getLoginUser().id;
if (userID = ‘●●’){ //←自分のID入れています。
event.error = ‘エラーです!’;
}
return;
}
var myIndexButton = document.createElement(‘button’);
・・・
ももたす様
// 比較演算子は = ではなくて ===(または==)ですので書き換えをお願いします。
if(userID === '●●') {
event.error = 'エラーです';
return event;
}
var myIndex~~~
ウレット様
お世話になります、ももたすです。
ご指摘されたもので変更をしてみて再度確認してみたのですが、
やはり他のユーザーでもボタンそのものが見えてしまっております。
中身もいじってみたのですが、コンソールでエラーになっているか、
他のユーザーでもボタンが見えてしまうかでした。。
権限自体は私の分は閲覧、編集、追加、設定etc全てできますが、
他のユーザーには閲覧権限しかつけておりません。
ボタンを見えるようにするスクリプトの位置がおかしいのでしょうか?
ももたす様
ごめんなさい…。
kintone.getLoginUser().id;ではなくてkintone.getLoginUser().code;でした…。
一応下記が特定ユーザーで非表示にするサンプルです。
(function() {
"use strict";
kintone.events.on('app.record.index.show', function(event) {
if (document.getElementById('my_index_button') !== null) {
return;
}
var userID = kintone.getLoginUser().code;
var myIndexButton = document.createElement('button');
myIndexButton.id = 'my_index_button';
myIndexButton.innerText = '一覧のボタン';
if(userID !== '非表示にしたいユーザーのログインID') {
kintone.app.getHeaderMenuSpaceElement().appendChild(myIndexButton);
}
});
})();
ウレット様
お世話になっております、ももたすです。
ごめんなさいはこちらの方です。
お手数ばかりおかけして申し訳ありません。
上記で自分以外のIDに非表示に出来ました!
とても助かりました。
ありがとうございました!