Class: Terrazzo::ApplicationController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- Terrazzo::ApplicationController
- Includes:
- Superglue::Controller, UsesSuperglue::TemplateLookupOverride
- Defined in:
- app/controllers/terrazzo/application_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods included from UsesSuperglue::TemplateLookupOverride
Instance Method Details
#create ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/controllers/terrazzo/application_controller.rb', line 63 def create @resource = resource_class.new(resource_params("create")) assign_has_one_associations(@resource) if @resource.save redirect_to after_resource_created_path(@resource), notice: t("terrazzo.controllers.create.success", resource_name: resource_name) else @page = Terrazzo::Page::Form.new(dashboard, @resource) render :new, status: :unprocessable_entity end end |
#destroy ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'app/controllers/terrazzo/application_controller.rb', line 93 def destroy @resource = find_resource(params[:id]) @resource.destroy redirect_to after_resource_destroyed_path, notice: t("terrazzo.controllers.destroy.success", resource_name: resource_name) end |
#edit ⇒ Object
58 59 60 61 |
# File 'app/controllers/terrazzo/application_controller.rb', line 58 def edit @resource = find_resource(params[:id]) @page = Terrazzo::Page::Form.new(dashboard, @resource) end |
#index ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/terrazzo/application_controller.rb', line 22 def index search = Terrazzo::Search.new(scoped_resource, dashboard, params[:search]) resources = search.run filter = Terrazzo::Filter.new(resources, dashboard, params[:filter], params[:filter_value]) resources = filter.run order = Terrazzo::Order.new( attribute: params[:order] || default_sorting_attribute, direction: params[:direction] || (params[:order] ? nil : default_sorting_direction) ) resources = order.apply(resources, dashboard) includes = dashboard.collection_includes resources = resources.includes(*includes) if includes.any? @resources = resources.page(params[:_page]).per(params[:per_page] || 25) @page = Terrazzo::Page::Collection.new(dashboard, resource_class, order: order) @search_term = params[:search] @active_filter = params[:filter] @filter_value = params[:filter_value] end |
#new ⇒ Object
53 54 55 56 |
# File 'app/controllers/terrazzo/application_controller.rb', line 53 def new @resource = resource_class.new @page = Terrazzo::Page::Form.new(dashboard, @resource) end |
#show ⇒ Object
45 46 47 48 49 50 51 |
# File 'app/controllers/terrazzo/application_controller.rb', line 45 def show @resource = find_resource(params[:id]) @page = Terrazzo::Page::Show.new( dashboard, @resource, has_many_params: Terrazzo::HasManyPagination.extract(params) ) end |
#update ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'app/controllers/terrazzo/application_controller.rb', line 77 def update @resource = find_resource(params[:id]) rp = resource_params("update") assign_has_one_associations(@resource) if @resource.update(rp) redirect_to after_resource_updated_path(@resource), notice: t("terrazzo.controllers.update.success", resource_name: resource_name) else @page = Terrazzo::Page::Form.new(dashboard, @resource) render :edit, status: :unprocessable_entity end end |