Kintoneにおいて、アプリに対する操作権限の管理は、アプリの管理画面から行うことができます。ただ、この管理画面で操作権限を行った場合、例えば以下のようなフローも制限されることになります。
1)社員の出退勤打刻が行えるように、ポータル画面に出退勤アプリと連動するボタンを用意した(JavaScriptでAPIを利用し実装)。
2)ポータル上のボタン経由以外での出退勤アプリのレコード作成や編集を上長以外禁止にするため、アプリの操作権限で上長以外の「レコード閲覧」権限以外を制限した。
3)ポータル上のボタン経由でのレコード作成も制限されてしまう。
このようなケースで、上長以外のレコード作成・編集を制限したい場合には、制御用のスクリプトを構築することで簡単に実現できます。
<サンプルコードの仕様>
・コード内の"上長や管理者の表示名"の箇所を、実際のユーザーの表示名に差し替えてください(複数指定可能です)。
・対象アプリの「アプリ管理」権限を上長や管理者のみに付与してください(それ以外のメンバーのアプリ管理権限を制限する)。
サンプルコードを環境に合わせてご変更いただければ、かなり便利なスクリプトになるかと思いますので、ご自由にお使いください!
※ご質問にはお答えできませんので予めご承知おきくださいませ。
コード
(function () {
"use strict";
const ADMIN_USERS = ["上長や管理者の表示名"];
kintone.events.on(["app.record.create.show", "app.record.edit.show", "app.record.index.edit.show"], function (event) {
const loginUser = kintone.getLoginUser();
const loginUserName = loginUser.name;
if (!ADMIN_USERS.includes(loginUserName)) {
alert(`レコード作成・編集は許可されていません。\n修正が必要な場合は◯◯に連絡してください。`);
window.history.back();
return event;
}
return event;
});
})();