Class: Oversee::ResourcesController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- BaseController
- Oversee::ResourcesController
show all
- Includes:
- ActionView::RecordIdentifier
- Defined in:
- app/controllers/oversee/resources_controller.rb
Instance Method Summary
collapse
Instance Method Details
#association ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
|
# File 'app/controllers/oversee/resources_controller.rb', line 81
def association
@resources = @resource_class.find(params[:id]).send(params[:association_name])
@pagy, @resources = pagy(@resources, limit: params[:per_page] || Oversee.configuration.per_page)
render Oversee::Resources::Index.new(
resources: @resources,
resource_class: @resource_class,
pagy: @pagy,
params: params
)
end
|
#create ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'app/controllers/oversee/resources_controller.rb', line 29
def create
@resource = @resource_class.new(resource_params)
respond_to do |format|
if @resource.update(resource_params)
flash.now[:notice] = "Resource was successfully created."
format.html { redirect_to resource_path(@resource.id, resource_class_name: @resource_class) }
format.turbo_stream { redirect_to resource_path(@resource.id, resource_class_name: @resource_class), status: :see_other }
else
format.html { render :new }
format.turbo_stream { render turbo_stream: turbo_stream.replace(dom_id(@resource), Oversee::Resources::Form.new(resource: @resource)) }
end
end
end
|
#destroy ⇒ Object
76
77
78
79
|
# File 'app/controllers/oversee/resources_controller.rb', line 76
def destroy
@resource.destroy
redirect_to resources_path(resource: @resource_class)
end
|
#edit ⇒ Object
53
54
|
# File 'app/controllers/oversee/resources_controller.rb', line 53
def edit
end
|
#index ⇒ Object
9
10
11
12
13
14
15
16
17
18
|
# File 'app/controllers/oversee/resources_controller.rb', line 9
def index
@pagy, @resources = pagy(@resources, limit: params[:per_page] || Oversee.configuration.per_page)
render Oversee::Resources::Index.new(
resources: @resources,
resource_class: @resource_class,
pagy: @pagy,
params: params
), layout: false
end
|
#new ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'app/controllers/oversee/resources_controller.rb', line 20
def new
@resource = @resource_class.new
render Oversee::Resources::New.new(
resource: @resource,
resource_class: @resource_class,
params: params
), layout: false
end
|
#show ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'app/controllers/oversee/resources_controller.rb', line 44
def show
render Oversee::Resources::Show.new(
resource: @resource,
resource_class: @resource_class,
resource_associations: resource_associations,
params: params
), layout: false
end
|
#table ⇒ Object
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# File 'app/controllers/oversee/resources_controller.rb', line 93
def table
if params[:association_name].present?
@resources = @resource_class.find(params[:id]).send(params[:association_name])
else
set_resources
end
component_id = dom_id(@resource_class, :table)
component = Oversee::Resources::Table.new(resource_class: @resource_class, resources: @resources, params: params)
respond_to do |format|
format.turbo_stream do
render turbo_stream: turbo_stream.replace(component_id, component)
end
format.html do
render component, layout: false
end
end
end
|
#update ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'app/controllers/oversee/resources_controller.rb', line 56
def update
key = params[:oversee_key]
datatype = params[:oversee_datatype]
respond_to do |format|
if @resource.update(resource_params)
flash.now[:notice] = "#{@resource.class.to_s.titleize.capitalize.gsub("::"," ")} was successfully updated!"
format.html { redirect_to resource_path(@resource.id, resource: @resource_class) }
format.turbo_stream do
component = Oversee::Field::Set.new(resource: @resource, datatype:, key:, value: @resource.send(key))
render turbo_stream: [
turbo_stream.replace(dom_id(@resource, key), component),
turbo_stream.replace(:flash, Oversee::Flash)
]
end
else
end
end
end
|