Sha256: b61b266fa63879542c116ffac297b874bb56e571d122c415ceccf9e53589cbca

Contents?: true

Size: 1.88 KB

Versions: 2

Compression:

Stored size: 1.88 KB

Contents

require_dependency "customer_vault/application_controller"

module CustomerVault
  class CorporationsController < ::CustomerVault::ApplicationController
    helper Dorsale::CommentsHelper

    before_action :set_corporation, only: [:show, :edit, :update, :destroy]

    def show
      authorize! :read, @corporation
    end

    def new
      authorize! :create, CustomerVault::Corporation

      @corporation ||= Corporation.new
      @corporation.build_address if @corporation.address.nil?

      @tags ||= customer_vault_tag_list
    end

    def edit
      authorize! :update, @corporation

      @corporation.build_address if @corporation.address.nil?

      @tags ||= customer_vault_tag_list
    end

    def create
      authorize! :create, CustomerVault::Corporation

      @corporation ||= Corporation.new(corporation_params)

      if @corporation.save
        flash[:notice] = 'Corporation was successfully created.'
        redirect_to @corporation
      else
        render :new
      end
    end

    def update
      authorize! :update, @corporation

      if @corporation.update(corporation_params)
        flash[:notice] = 'Corporation was successfully updated.'
        redirect_to @corporation
      else
        render :edit
      end
    end

    def destroy
      authorize! :delete, @corporation

      if @corporation.destroy
        flash[:notice] = 'Corporation was successfully destroyed.'
      else
        flash[:alert] = 'Corporation was NOT destroyed.'
      end

      redirect_to people_url
    end

    private

    def set_corporation
      @corporation = Corporation.find(params[:id])
    end

    def permitted_params
      [
        :name, {:tag_list => []}, :email, :www, :phone, :fax,
        :address_attributes => [:street, :street_bis, :zip, :city, :country]
      ]
    end

    def corporation_params
      params.require(:corporation).permit(permitted_params)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
customer_vault-1.2.9 app/controllers/customer_vault/corporations_controller.rb
customer_vault-1.2.8 app/controllers/customer_vault/corporations_controller.rb