001-010983

パッケージ版 Garoon

関心あり
0人の方が関心を示しています

スケジュールのアクセス権を設定し、対象となる関数(関数「schedule.event.edit.show」など)を使用すると、予定の「参加者」の情報を正しく処理できない場合がある。

種別
不具合
機能
  • スケジュール
  • JavaScript API
再現バージョン
  • 4.10.0
  • 4.10.1
  • 4.10.2
  • 4.10.3
  • 5.0.0
  • 5.0.1
  • 5.0.2
  • 5.5.0
  • 5.5.1
  • 5.9.0
  • 5.9.1
  • 5.9.2
改修バージョン
5.15.0
公開日
2022-04-21
更新日
2022-10-28

詳細

【発生条件】
次の条件をすべて満たすと発生する場合があります。
  • 特定のユーザーに対するスケジュールのアクセス権設定で、ほかのユーザーを対象としたアクセス権を設定する。
    このとき、アクセス権の対象となるほかのユーザーに、「閲覧」「追加」「変更」の3点以外の組み合わせでアクセス権を設定する。

  • アクセス権を設定した特定のユーザーと、アクセス権の対象となるほかのユーザーを参加者に含む予定を登録する。

  • アクセス権の対象となるユーザーで、次のいずれかの関数を使用する。
    • schedule.event.edit.show (バージョン 4.10.0以降)
    • schedule.event.create.submit (バージョン 5.0.0以降)
    • schedule.event.edit.submit (バージョン 5.0.0以降)
    • garoon.schedule.event.get() (バージョン 4.10.0以降)
    • garoon.schedule.event.set() (バージョン 4.10.0以降)

※本記事は、関数「schedule.event.edit.show」を使用して、eventオブジェクトをreturnすることで現象が発生するケースについて、手順を記載します。

【準備】
  • ユーザーを追加します。

    例:
    • ユーザー1
    • ユーザー2

  • スケジュールで、ユーザー2に対するアクセス権を設定します。

    例:
    ------------
    セキュリティモデル:REVOKE(制限の対象を選択する)
    対象:ユーザー1
    アクセス権:閲覧権限あり
    ------------

    補足:
    • (システム管理画面)「スケジュール > アクセス権の設定」画面で設定します。

  • 関数「schedule.event.edit.show」を使用し、eventオブジェクトをreturnするよう準備します。

    例:
    ------------
    garoon.events.on('schedule.event.edit.show', function(event) {  return event; });
    ------------

    補足:

  • ユーザー2で、参加者にユーザー1とユーザー2を含む予定を登録します。

    例:
    ------------
    タイトル:予定1
    参加者:ユーザー1、ユーザー2
    ------------

【再現手順】
  1. ユーザー1でアプリケーション画面にログインし、[スケジュール] > [予定1] > [変更する]の順にクリックします。

→現象発生:
 「参加者」欄からユーザー2が外れ、ユーザー1だけが表示されます。

→正しい結果:
 「参加者」欄にユーザー1とユーザー2が表示されます。

補足:
  • 使用する関数によって、次の現象が発生します。

    • schedule.event.create.submit (バージョン 5.0.0以降):
      参加者にアクセス権の対象となるユーザーを含む予定を再利用作成するとき、取得したスケジュールオブジェクトのattendeesの値に、アクセス権の対象となるユーザーが含まれません。

    • schedule.event.edit.submit (バージョン 5.0.0以降) :
      予定の参加者に、アクセス権の対象となるユーザーを追加してeventオブジェクトをreturnすると、画面に表示される「参加者」からアクセス権の対象となるユーザーが外れます。

    • garoon.schedule.event.get() (バージョン 4.10.0以降) または
      schedule.event.edit.submit (バージョン 5.0.0以降):
      取得したスケジュールオブジェクトのattendeesの値に、アクセス権の対象となるユーザーが含まれません。

    • garoon.schedule.event.set() (バージョン 4.10.0以降):
      参加者にアクセス権の対象となるユーザーを含む予定の変更画面で、この関数を使用してアクセス権の対象となるユーザーをセットすると、画面に表示される「参加者」からアクセス権の対象となるユーザーが外れます。

回避/対応方法

【回避方法】
次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
  • バージョン 5.15.0のGaroon