Sha256: 39e4821a0eebd886ff98b94300f61f77dec872f9339af7fa26d70297642799ce

Contents?: true

Size: 954 Bytes

Versions: 1

Compression:

Stored size: 954 Bytes

Contents

# frozen_string_literal: true

module Account
  class PhoneVerificationsController < Account::BaseController
    skip_before_action :verify_authenticity_token, only: [:create, :update]
    respond_to :json

    def create
      @form = Phone::VerificationForm.new(params[:phone])
      @form.submit if @form.valid?

      render_json @form, edit_account_profile_path
    end

    def update
      @form = Phone::ConfirmationForm.new(params[:phone].reverse_merge(id: params[:id]))
      @form.submit if @form.valid?

      render_json @form, edit_account_profile_path
    end

    protected

    def render_json(record, redirect_path = '/')
      return if record.nil?

      respond_to do |format|
        format.json do
          if record.errors.blank? then render
          else render json: { errors: @form.errors }, status: :unprocessable_entity
          end
        end
        format.all { redirect_to redirect_path }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/controllers/account/phone_verifications_controller.rb