最初にトヨクモ社には問い合わせたのですが、「jsに関わることは回答できない」と言われたんですよ
そうだったんでね。
失礼しました。
試してたところ、閲覧範囲と編集範囲を別々で設定することで、いけそうな気がします。
閲覧範囲の設定
トヨクモ社のkviewerドキュメント の【ポイント】に書いている方法になります。
- ユーザ管理を設定する
- レコード絞り込み・並び順
- プレビュー画面で
test1@bbb.comのユーザーでプレビューする場合
編集範囲は標準機能で設定できないため、JSを使います。
編集ボタンを消す処理を実装しておりませんが、現在プレビュー画面を開いているユーザー(ユーザー管理で設定したメールアドレス)を取得できることができそうなことわかりました。
試したJS
(function() {
"use strict";
kv.events.record.mounted = [function (state) {
console.log(state)
return state;
}]
})();
console.logで出力した内容を確認すると、ユーザー管理で設定したメールアドレスは
kappauthPreview
というプロパティに格納されていることがわかりました。
kintone のレコードにも各ユーザーのメールアドレスを登録しておけば、
kintone レコードのメールアドレスがkappauthPreviewの値と一致する場合のみ、編集ボタンを表示するという実装は可能になりそうです。