001-010473

パッケージ版 Garoon

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

申請フォームのカテゴリーに閲覧権限がない場合、代理申請時または代理承認時に、「JavaScript / CSSによるカスタマイズ」のファイルのアップロードで適用したファイルの読み込みに失敗する。

種別
不具合
機能
  • ワークフロー
  • JavaScript API
再現バージョン
  • 4.6.0
  • 4.6.1
  • 4.6.2
  • 4.6.3
  • 4.10.0
  • 4.10.1
  • 4.10.2
改修バージョン
4.10.3
公開日
2019-03-26
更新日
2019-06-07

詳細

【発生条件】

次の条件をすべて満たす場合に発生します。
  • ファイルのアップロードで、申請フォームにJavaScriptファイルやCSSファイルを適用する。

  • カテゴリに閲覧権限がない代理申請者、または代理承認者で、申請フォームを使用する。

※本記事は、 関数「workflow.request.create.show」を使用したJavaScriptカスタマイズを適用するケースについて手順を記載します。

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

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

  • ワークフローの「JavaScript / CSSによるカスタマイズ」および、「代理申請の許可」を許可する設定にします。

    補足:
    • (システム管理画面)「ワークフロー > 一般設定」画面で設定します。

  • ユーザー1の代理申請者に、ユーザー2を設定します。

    例:
    ------------
    ユーザー名:ユーザー1
    代理申請者:ユーザー2
    ------------

    補足:
    • (システム管理画面)「ワークフロー > 代理人の設定 > 代理人の変更」画面で設定します。

  • ワークフローのカテゴリを追加します。

    例:
    カテゴリ1

  • カテゴリ1に、申請フォームを追加します。

    例:
    申請フォーム1

  • 申請フォーム1に、項目を追加します。

    例:
    ------------
    タイプ:文字列(1行)
    項目名:項目1
    項目コード:Item1
    ------------

  • 代理申請時に動作するようなJavaScriptファイルやCSSファイルを準備します。

    例:
    ファイル名:file1.js
    内容:
    ------------
    garoon.events.on('workflow.request.create.show', function(event) {
    var request= event.request;
       
    request["items"]["Item1"]["value"] = "1";
       
    return event;
       
    });
    ------------

    補足:
    • file1.jsのカスタマイズが動作すると、「項目1」の値が「1」になります。

    • Garoon JavaScript APIの使用については、cybozu developer networkをご確認ください。
      https://cybozu.dev/ja/garoon/docs/js-api/

  • ファイルのアップロードで、申請フォーム1に準備したJavaScriptファイルを適用します。

    例:
    ---------
    カスタマイズ:「適用する」を選択します。
    JavaScriptカスタマイズ:file1.js
    ---------

  • ユーザー2がカテゴリ1を閲覧できないよう、カテゴリ1に対するアクセス権を設定します。

    例:
    ------------
    セキュリティモデル: REVOKE(制限の対象を選択する)
    対象:ユーザー2
    閲覧:閲覧権限なし
    ------------


    補足:
    • (システム管理画面)「ワークフロー > アクセス権の設定 > アクセス権の一覧 > アクセス権の追加」画面で設定します。

【再現手順】
  1. ユーザー2でアプリケーション画面にログインし、[ワークフロー] > [代理で申請する]の順にクリックします。

  2. 「委任者」のドロップダウンリストで「ユーザー1」を選択し、[フォームを選択する]をクリックします。

  3. [カテゴリ1] > [申請フォーム1]の順にクリックします。

→現象発生:
 申請フォーム1に適用したJavaScriptファイルの読み込みに失敗し、「項目1」の値が「1」になりません。
 
補足:
  • file1.jsのダウンロードリクエストに対するレスポンスを確認すると、次のエラーが発生しています。
    ------------
    エラー (GRN_WRKF_25052)
    指定された申請フォームが見つかりません。

    原因
    申請フォームの指定が誤っているか、指定された申請フォームは削除されています。
    ------------

  • カテゴリ1の閲覧権限がない代理承認者の場合も、同様の現象が発生します。

  • ファイルのアップロードで、CSSファイルを適用した場合も同様の現象が発生します。

回避/対応方法

【回避方法】

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