リクエスト機能

  • 目的・用途

本機能は、アイテムに紐づいたリクエスト送信先にメールを送信する。

  • 利用方法

アイテム詳細画面の左側にある、「リクエスト」ボタンを押下することで、リクエストメールフォームがダイアログとして表示される。必要な項目を入力することでリクエストメールが送信される。

  • 利用可能なロール
ロール システム

管理者
リポジトリ

管理者
コミュニティ

管理者
登録ユーザー 一般ユーザー ゲスト

(未ログイン)
利用可否
  • 機能内容

    • アイテム詳細画面に「リクエスト」ボタンを表示する。

      • リクエスト機能が有効なアイテムの場合のみ「リクエスト」ボタンが表示される。

      • アイテム登録時のアクティビティでリクエスト機能を有効化する。

    • リクエストメールフォームで送信する内容を編集する。

      • 編集項目: 差出人、件名、メッセージ
    • 「メッセージ送信」ボタン押下時に、リクエストメールを送信する。

      • 宛先はアイテムに紐づくリクエスト送信先のメールアドレス

      • リクエスト送信先が複数設定されている場合、すべてのメールアドレスに一斉送信される。

      • 差出人に記載したメールアドレスがCc:として自動的に設定される。

  • 関連モジュール

    • weko_records_ui
  • 処理概要

    1. 設定

      • リクエストフォーム表示の既定値

        • パス:modules/weko-records-ui/weko_records_ui/config.py

        • 設定値:DISPLAY_REQUEST_FORM = False

      • CAPTCHA画像生成から認証までの有効期間(秒)

        • パス:modules/weko-records-ui/weko_records_ui/config.py

        • 設定値:WEKO_RECORDS_UI_CAPTCHA_EXPIRATION_SECONDS = 900

      • Webページに設定されたCAPTCHA画像生成から認証までの有効期間(秒)

        • パス:modules/weko-records-ui/weko_records_ui/config.py

        • 設定値: WEKO_RECORDS_UI_CAPTCHA_TTL_SECONDS = 600

    2. 前提条件

      • 管理者画面上で、リクエスト機能が有効化されている場合

      • アイテム登録時にItem Registration画面でリクエストボタン表示がONの場合

    3. 実装方法

      • アイテム詳細画面を表示する際、DBテーブルrequest_mail_listから、当該アイテムのリクエスト送信先が登録されているか確認する。もし、リクエスト送信先が設定されている場合、画面を構成する要素として、リクエストフォーム表示ボタンおよびリクエストフォームをテンプレートに埋め込む。

        • リクエストフォーム表示ボタンが押下された場合に、リクエストフォームを表示する。

        • このとき、CAPTCHA画像を生成、取得する。

        • CAPTCHA画像取得APIのリクエスト上限を超えていた場合、リクエストフォームは表示せず、以下のエラーメッセージを表示する。 エラーメッセージ:「TOO MANY REQUESTS.」

      • リクエストフォーム上で以下の項目が入力できるようにする

        • 送信者メールアドレス

        • 件名

        • メール内容

      • メール送信ボタンが押下された際に、送信者メールアドレスを検証し、有効なメールアドレスか確認する。

        • メールアドレスとして有効でない場合、エラーメッセージを出力し、メール送信しない。
      • メールの送信先は、アイテム登録時にリクエスト送信先として登録されたメールアドレスすべてに送信する。

      • CAPTCHA画像を用いて検証を行う。

        • 計算結果入力欄に計算結果を入力、計算結果が正しい場合のみリクエストメールを送信する。

        • CAPTCHA画像の有効期限が切れていた場合、CAPTCHA画像の再生成、表示を行う。

      • リクエストメールの送信に成功した場合、送信者に対し通知メールを送信する。

results matching ""

    No results matching ""