LoginSignup
2
0

More than 5 years have passed since last update.

Pleasanterで入力値を確認して更新ボタンを非表示にする

Last updated at Posted at 2018-07-24

一度、完了にした報告書を更新できないようにしたい

Pleasanterを利用して、報告書を作成、提出できるようなアプリを作ったのですが、「状況を完了にした後は事務担当者以外には更新できないようしたい」という要望がでてきました。

アクセス制御で…

アクセス制御や拡張SQLを使用して、編集権限の操作をしてみたのですが、もともとテーブルに編集権限があると特定のユーザーに対して、書き込み不可にするのが難しいようです。

拡張スクリプトでボタンを非表示に

ならば、少々乱暴ではありますが、状況の値を取得して完了だったら、更新ボタンを押せなくしてしまえと思いたち

hideUpdateButton.js
function statusCheck() {
  if (originalStatus == 900) {
    // 更新及び、移動、削除ボタンを非表示にする
    $('[data-action="Update"]').hide();
    $('[data-action="MoveTargets"]').hide();
    $('[data-action="Delete"').hide();  
  }
}

$(window).on('load',function(){
  originalStatus = $("#Results_Status").val();
  statusCheck();
});

この時点では、更新、移動、削除ボタンが表示されていますが
image.png

状況を完了にして、再読込すると、表示されなくなります。
image.png

これで、編集画面を開いて、中身を書き換えても更新はできません。

まとめ

あとは、ユーザーIDを取得して、条件に追加してあげれば、事務担当者には更新ボタンを表示したまま、一般ユーザーには更新不可にできそうです。
これだけだと、カンバンやAPIから更新できてしまいますが、とりあえずの対処としてはこれで十分な気もします。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0