new @ OriginalPictureLicenseGroupsController

新規作成フォームの表示。

url

リクエスト

権限絵師
methodGET
urlパラメータoriginal_picture_id
POSTデータjson形式*
html
json×
jsonp×
js

解説

原画にライセンスを与える第一段階で、ライセンスグループを選択するための入力フォームをまっさらなページで表示する。このアクションは原画詳細ページから「この原画にライセンスを与える」機能によって呼び出され、原画idが渡ってくる。

このアクションが返すフォームに対し、ユーザが入力して送信ボタンを押すことで、作成アクションOriginalPictureLicenseGroupsCreateが起動され、第二段階に進む。だから、フォームの表示のみの処理だけで、これといったdb処理はない。

  • セッションまたは認証トークンから作家アカウントを特定する。
  • 作家アカウントから絵師データを取得する。
  • 原画モデルに単体取得を依頼して原画オブジェクトをもらう。
    • POSTデータの原画idと絵師データを使う。
  • 原画ライセンスグループモデルの初期データを生成する。
  • 原画ライセンスグループモデルにデフォルト値を補充してもらう。
    • 原画idを渡す。
  • 作業結果をクライアントに戻す。

urlパラメータ

original_picture_id

  • 原画id

POSTデータのどちらかで指定する。

POSTデータ

original_picture_id

  • 原画id

urlパラメータのどちらかで指定する。

auth_token

  • 外部からjsonで要求する場合、認証処置として認証トークンが必要。

戻り値

正常系

  • htmlなら、ステータスコード200 OKとともに、テンプレートから起こしたページを返す。
  • jsなら、ステータスコード200 OKとともに、部分テンプレートから起こしたページ部品を返す。

参考:OriginalPictureLicenseGroupsNewView

例外系

  • 作家アカウントでサインインしてなかった。(Devise)
    • htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。
    • jsなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。
  • 絵師登録してなかった。
    • htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。
    • jsなら、ステータスコード200 OKとともに、絵師登録部分テンプレートを返す。
  • 対象原画が存在しなかった。(OriginalPictureModel)
    • htmlなら、例外404 not_foundを返す
    • jsなら、例外404 not_foundを返す
  • 対象原画に対する閲覧権限がなかった。(OriginalPictureModel)
    • htmlなら、例外403 forbiddenを返す
    • jsなら、例外403 forbiddenを返す