Class: Dorsale::CustomerVault::PeopleController

Inherits:
ApplicationController show all
Defined in:
app/controllers/dorsale/customer_vault/people_controller.rb

Instance Method Summary collapse

Instance Method Details

#activityObject



37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 37

def activity
  authorize model, :list?

  @people ||= scope

  @comments ||= policy_scope(::Dorsale::Comment)
    .where("commentable_type LIKE ?", "%CustomerVault%")
    .order("created_at DESC, id DESC")
    .preload(:commentable, :author)

  @comments = @comments.page(params[:page]).per(50)
end

#corporationsObject



27
28
29
30
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 27

def corporations
  index
  render :index
end

#createObject



64
65
66
67
68
69
70
71
72
73
74
75
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 64

def create
  authorize model, :create?

  @person ||= scope.new(person_params_for_create)

  if @person.save
    flash[:notice] = t("messages.#{person_type.to_s.pluralize}.create_ok")
    redirect_to back_url
  else
    render :new
  end
end

#destroyObject



99
100
101
102
103
104
105
106
107
108
109
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 99

def destroy
  authorize @person, :delete?

  if @person.destroy
    flash[:notice] = t("messages.#{person_type.to_s.pluralize}.delete_ok")
  else
    flash[:alert] = t("messages.#{person_type.to_s.pluralize}.delete_error")
  end

  redirect_to customer_vault_people_path
end

#editObject



82
83
84
85
86
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 82

def edit
  authorize @person, :update?

  @person.build_address if @person.address.nil?
end

#indexObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 11

def index
  authorize model, :list?

  @filters ||= ::Dorsale::CustomerVault::SmallData::FilterForPeople.new(cookies)
  @tags    ||= customer_vault_tag_list
  @people  ||= policy_scope(model).search(params[:q])

  if params[:q].blank?
    @people = @filters.apply(@people)
  end

  @people_without_pagination = @people

  @people = @people.page(params[:page]).per(25)
end

#individualsObject



32
33
34
35
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 32

def individuals
  index
  render :index
end

#newObject



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 50

def new
  authorize model, :create?

  if model == Dorsale::CustomerVault::Person
    skip_policy_scope
    redirect_to url_for(action: :index)
    return
  end

  @person ||= scope.new

  @person.build_address if @person.address.nil?
end

#showObject



77
78
79
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 77

def show
  authorize @person, :read?
end

#updateObject



88
89
90
91
92
93
94
95
96
97
# File 'app/controllers/dorsale/customer_vault/people_controller.rb', line 88

def update
  authorize @person, :update?

  if @person.update(person_params_for_update)
    flash[:notice] = t("messages.#{person_type.to_s.pluralize}.update_ok")
    redirect_to back_url
  else
    render :edit
  end
end