作成者・作業者のみ閲覧可能なフィールド

休暇申請アプリを作成して運用しています。

遠地で災害が発生した時、社員がそこへ旅行の予定となっていないかを把握するために、「関西地方」のように大まかな行き先を入力してもらっています。

「行先」フィールドを設置し、作成者が閲覧・編集、承認者と管理部門が閲覧できるよう設定しました。すると、新規レコード作成時はそのレコードの作成者が自分ではないため、フィールドそのものが表示されません。

 

いったん保存すれば作成者が自分となるので閲覧・編集ができるようになるのですが、ひと手間かかります。

何か良い手立てはないでしょうか?

 

こんにちは。

以下を設定すれば、標準機能内で可能だと思います。(フィールド名などは適宜変更してください)
確認していないので細かい修正が必要かもしれません。

  1. ユーザー選択フィールド「行先編集許可ユーザー」、「行先閲覧不可ユーザー」を追加し、フォーム最下部など目立たない場所に配置します。
  2. 「行先編集許可ユーザー」の初期値にログインユーザー、承認者、管理部門のユーザーを追加します。
  3. 「行先閲覧不可ユーザー」の初期値にグループEveryoneを追加します。
  4. 「行先」フィールドのアクセス権で、上から「行先編集許可ユーザー」に閲覧・編集権限、「行先閲覧不可ユーザー」に権限無し、「Everyone」に閲覧・編集権限を追加します。

上記設定であれば、新規登録時は「行先編集許可ユーザー」、「行先閲覧不可ユーザー」が登録されていないのでEveryone(全ユーザー)が閲覧・編集可能です。
登録後は「行先編集許可ユーザー」に指定されていないユーザーは「行先閲覧不可ユーザー」のEveryoneに含まれるので閲覧することができなくなります。

「いいね!」 1

FM様

ご回答ありがとうございます。

ログインユーザーに権限を与えることは思いつきませんでした。

無事、想定通りの挙動をさせることが出来ました。ありがとうございました。