Class: Credentials::EmailController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/credentials/email_controller.rb

Overview

メール認証情報コントローラ

Constant Summary collapse

EditFormClass =
EmailCredentialEditForm

Instance Method Summary collapse

Instance Method Details

#activateObject

POST /credential/email/token/:activation_token/activate



96
97
98
99
100
101
102
103
104
105
# File 'app/controllers/credentials/email_controller.rb', line 96

def activate
  @email_credential.activate!

  # TODO: テスト
  # MEMO: 即時性を優先し、非同期化しない
  ActivationMailer.deliver_complete_for_credential(
    :recipients => @email_credential.email)

  redirect_to(:action => "activated")
end

#activatedObject

GET /credential/email/token/:activation_token/activated



108
109
110
# File 'app/controllers/credentials/email_controller.rb', line 108

def activated
  # nop
end

#activationObject

GET /credential/email/token/:activation_token/activation



91
92
93
# File 'app/controllers/credentials/email_controller.rb', line 91

def activation
  # nop
end

#createObject

GET /credentials/email/create



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/credentials/email_controller.rb', line 20

def create
  @edit_form = EditFormClass.new(params[:edit_form])

  @email_credential = @login_user.email_credentials.build
  @email_credential.attributes = @edit_form.to_email_credential_hash

  if @edit_form.valid? && @email_credential.save
    # TODO: テスト
    @activation_url = url_for(
      :only_path        => false,
      :controller       => "credentials/email",
      :action           => "activation",
      :activation_token => @email_credential.activation_token)

    # TODO: テスト
    # MEMO: 即時性を優先し、非同期化しない
    ActivationMailer.deliver_request_for_credential(
      :recipients     => @email_credential.email,
      :activation_url => @activation_url)

    set_notice("メール認証情報を追加しました。")
    redirect_to(:action => "created", :email_credential_id => @email_credential.id)
  else
    @edit_form.password              = nil
    @edit_form.password_confirmation = nil
    set_error_now("入力内容を確認してください。")
    render(:action => "new")
  end
end

#createdObject

GET /credential/email/:email_credential_id/created



51
52
53
# File 'app/controllers/credentials/email_controller.rb', line 51

def created
  # nop
end

#deleteObject

GET /credential/email/:email_credential_id/delete



78
79
80
# File 'app/controllers/credentials/email_controller.rb', line 78

def delete
  # nop
end

#destroyObject

POST /credential/email/:email_credential_id/destroy



83
84
85
86
87
88
# File 'app/controllers/credentials/email_controller.rb', line 83

def destroy
  @email_credential.destroy

  set_notice("メール認証情報を削除しました。")
  redirect_to(:controller => "/credentials")
end

#edit_passwordObject

GET /credential/email/:email_credential_id/edit_password



56
57
58
# File 'app/controllers/credentials/email_controller.rb', line 56

def edit_password
  @edit_form = EmailPasswordEditForm.new
end

#newObject

GET /credentials/email/new



15
16
17
# File 'app/controllers/credentials/email_controller.rb', line 15

def new
  @edit_form = EditFormClass.new
end

#update_passwordObject

POST /credential/email/:email_credential_id/update_password



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'app/controllers/credentials/email_controller.rb', line 61

def update_password
  @edit_form = EmailPasswordEditForm.new(params[:edit_form])

  @email_credential.attributes = @edit_form.to_email_credential_hash

  if @edit_form.valid? && @email_credential.save
    set_notice("パスワードを変更しました。")
    redirect_to(:controller => "/credentials")
  else
    @edit_form.password              = nil
    @edit_form.password_confirmation = nil
    set_error_now("入力内容を確認してください。")
    render(:action => "edit_password")
  end
end