diff options
| author | cedricnjanga | 2018-01-30 06:37:52 -0800 |
|---|---|---|
| committer | cedricnjanga | 2018-01-30 06:37:52 -0800 |
| commit | 7ec19d8dc153e1491cb1a693b11b3b0a351f316c (patch) | |
| tree | 6da6a8bbcf1ae789a460fece5cf7e961562c5222 /app/controllers | |
| parent | f32d869cc3f34a939764cc3fa4d612a5d6544d08 (diff) | |
| parent | 617a54cf63d7f11111b168534d49cdc04a5865d4 (diff) | |
| download | chouette-core-7ec19d8dc153e1491cb1a693b11b3b0a351f316c.tar.bz2 | |
Merge branch 'master' into 5683-add_workgroup_id_to_calendars
Diffstat (limited to 'app/controllers')
20 files changed, 55 insertions, 72 deletions
diff --git a/app/controllers/api_keys_controller.rb b/app/controllers/api_keys_controller.rb index 9706c5961..a03a67481 100644 --- a/app/controllers/api_keys_controller.rb +++ b/app/controllers/api_keys_controller.rb @@ -31,11 +31,4 @@ class ApiKeysController < ChouetteController def api_key_params params.require(:api_key).permit(:name, :referential_id) end - - def decorate_api_keys(api_keys) - ModelDecorator.decorate( - api_keys, - with: ApiKeyDecorator, - ) - end end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 80d194096..8bd3da2f9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -52,6 +52,19 @@ class ApplicationController < ActionController::Base end helper_method :current_functional_scope + def collection_name + self.class.name.split("::").last.gsub('Controller', '').underscore + end + + def decorated_collection + if instance_variable_defined?("@#{collection_name}") + instance_variable_get("@#{collection_name}") + else + nil + end + end + helper_method :decorated_collection + def begin_of_association_chain current_organisation end diff --git a/app/controllers/companies_controller.rb b/app/controllers/companies_controller.rb index f84252920..4afd12be1 100644 --- a/app/controllers/companies_controller.rb +++ b/app/controllers/companies_controller.rb @@ -47,6 +47,9 @@ class CompaniesController < ChouetteController end end + def resource + super.decorate(context: { referential: line_referential }) + end def resource_url(company = nil) line_referential_company_path(line_referential, company || resource) @@ -79,9 +82,8 @@ class CompaniesController < ChouetteController end def decorate_companies(companies) - ModelDecorator.decorate( + CompanyDecorator.decorate( companies, - with: CompanyDecorator, context: { referential: line_referential } diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb index 4ec86f0d6..271598428 100644 --- a/app/controllers/compliance_check_sets_controller.rb +++ b/app/controllers/compliance_check_sets_controller.rb @@ -11,9 +11,8 @@ class ComplianceCheckSetsController < ChouetteController scope = self.ransack_period_range(scope: @compliance_check_sets, error_message: t('compliance_check_sets.filters.error_period_filter'), query: :where_created_at_between) @q_for_form = scope.ransack(params[:q]) format.html { - @compliance_check_sets = ModelDecorator.decorate( - @q_for_form.result.order(created_at: :desc), - with: ComplianceCheckSetDecorator + @compliance_check_sets = ComplianceCheckSetDecorator.decorate( + @q_for_form.result.order(created_at: :desc) ) } end @@ -41,18 +40,9 @@ class ComplianceCheckSetsController < ChouetteController def executed_for_html @q_checks_form = @compliance_check_set.compliance_checks.ransack(params[:q]) @compliance_check_set = @compliance_check_set.decorate - compliance_checks = - decorate_compliance_checks( @q_checks_form.result) - .group_by(&:compliance_check_block) + compliance_checks = @q_checks_form.result + .group_by(&:compliance_check_block) @direct_compliance_checks = compliance_checks.delete nil @blocks_to_compliance_checks_map = compliance_checks end - - # Decoration - # ---------- - def decorate_compliance_checks(compliance_checks) - ModelDecorator.decorate( - compliance_checks, - with: ComplianceCheckDecorator) - end end diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb index 2d3d03ad0..ae1d01feb 100644 --- a/app/controllers/compliance_control_sets_controller.rb +++ b/app/controllers/compliance_control_sets_controller.rb @@ -38,17 +38,11 @@ class ComplianceControlSetsController < ChouetteController private def decorate_compliance_control_sets(compliance_control_sets) - ModelDecorator.decorate( - compliance_control_sets, - with: ComplianceControlSetDecorator - ) + ComplianceControlSetDecorator.decorate(compliance_control_sets) end def decorate_compliance_controls(compliance_controls) - ModelDecorator.decorate( - compliance_controls, - with: ComplianceControlDecorator, - ) + ComplianceControlDecorator.decorate(compliance_controls) end def compliance_control_set_params diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index dfbecaa71..73dc18f59 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -8,6 +8,12 @@ class ComplianceControlsController < ChouetteController @sti_subclasses = ComplianceControl.subclasses end + def show + show! do + @compliance_control = @compliance_control.decorate + end + end + def new if params[:sti_class].blank? flash[:notice] = I18n.t("compliance_controls.errors.mandatory_control_type") diff --git a/app/controllers/import_resources_controller.rb b/app/controllers/import_resources_controller.rb index c83721310..ea78394a1 100644 --- a/app/controllers/import_resources_controller.rb +++ b/app/controllers/import_resources_controller.rb @@ -27,12 +27,6 @@ class ImportResourcesController < ChouetteController private def decorate_import_resources(import_resources) - ImportResourcesDecorator.decorate( - import_resources, - with: ImportResourceDecorator, - context: { - import: @import - } - ) + ImportResourcesDecorator.decorate(import_resources) end end diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb index 46d34efda..7a999d657 100644 --- a/app/controllers/imports_controller.rb +++ b/app/controllers/imports_controller.rb @@ -84,9 +84,8 @@ class ImportsController < ChouetteController end def decorate_imports(imports) - ModelDecorator.decorate( + ImportDecorator.decorate( imports, - with: ImportDecorator, context: { workbench: @workbench } diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index 7041a3a26..27a9bf9be 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -15,9 +15,8 @@ class LinesController < ChouetteController def index @hide_group_of_line = line_referential.group_of_lines.empty? index! do |format| - @lines = ModelDecorator.decorate( + @lines = LineDecorator.decorate( @lines, - with: LineDecorator, context: { line_referential: @line_referential, current_organisation: current_organisation @@ -69,7 +68,6 @@ class LinesController < ChouetteController respond_to do |format| format.json { render :json => filtered_lines_maps} end - end protected diff --git a/app/controllers/networks_controller.rb b/app/controllers/networks_controller.rb index 79a5eb97b..1c69b1240 100644 --- a/app/controllers/networks_controller.rb +++ b/app/controllers/networks_controller.rb @@ -89,9 +89,8 @@ class NetworksController < ChouetteController end def decorate_networks(networks) - ModelDecorator.decorate( + NetworkDecorator.decorate( networks, - with: NetworkDecorator, context: { line_referential: line_referential } diff --git a/app/controllers/purchase_windows_controller.rb b/app/controllers/purchase_windows_controller.rb index 04b5736bb..293a7d8e4 100644 --- a/app/controllers/purchase_windows_controller.rb +++ b/app/controllers/purchase_windows_controller.rb @@ -36,13 +36,12 @@ class PurchaseWindowsController < ChouetteController end def decorate_purchase_windows(purchase_windows) - ModelDecorator.decorate( + PurchaseWindowDecorator.decorate( purchase_windows, - with: PurchaseWindowDecorator, context: { referential: @referential - } - ) + } + ) end def sort_column diff --git a/app/controllers/referential_companies_controller.rb b/app/controllers/referential_companies_controller.rb index 7e65a72cf..806a70c8f 100644 --- a/app/controllers/referential_companies_controller.rb +++ b/app/controllers/referential_companies_controller.rb @@ -69,10 +69,13 @@ class ReferentialCompaniesController < ChouetteController %w[asc desc].include?(params[:direction]) ? params[:direction] : 'asc' end + def collection_name + "companies" + end + def decorate_companies(companies) - ModelDecorator.decorate( + CompanyDecorator.decorate( companies, - with: CompanyDecorator, context: { referential: referential } diff --git a/app/controllers/referential_lines_controller.rb b/app/controllers/referential_lines_controller.rb index 9e8f5c512..37051faeb 100644 --- a/app/controllers/referential_lines_controller.rb +++ b/app/controllers/referential_lines_controller.rb @@ -28,9 +28,8 @@ class ReferentialLinesController < ChouetteController @routes = @routes.paginate(page: params[:page], per_page: 10) - @routes = ModelDecorator.decorate( + @routes = RouteDecorator.decorate( @routes, - with: RouteDecorator, context: { referential: referential, line: @line diff --git a/app/controllers/referential_networks_controller.rb b/app/controllers/referential_networks_controller.rb index b2d83f953..fe00a99df 100644 --- a/app/controllers/referential_networks_controller.rb +++ b/app/controllers/referential_networks_controller.rb @@ -56,6 +56,10 @@ class ReferentialNetworksController < ChouetteController end end + def collection_name + 'networks' + end + def resource_url(network = nil) referential_network_path(referential, network || resource) end @@ -78,9 +82,8 @@ class ReferentialNetworksController < ChouetteController end def decorate_networks(networks) - ModelDecorator.decorate( + ReferentialNetworkDecorator.decorate( networks, - with: ReferentialNetworkDecorator, context: { referential: referential } diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb index 436d5ccb5..0ed3f75dd 100644 --- a/app/controllers/referentials_controller.rb +++ b/app/controllers/referentials_controller.rb @@ -32,9 +32,8 @@ class ReferentialsController < ChouetteController show! do |format| @referential = @referential.decorate(context: { current_workbench_id: params[:current_workbench_id] } ) @reflines = lines_collection.paginate(page: params[:page], per_page: 10) - @reflines = ModelDecorator.decorate( + @reflines = ReferentialLineDecorator.decorate( @reflines, - with: ReferentialLineDecorator, context: { referential: referential, current_organisation: current_organisation @@ -80,6 +79,7 @@ class ReferentialsController < ChouetteController referential.archive! redirect_to workbench_path(referential.workbench_id), notice: t('notice.referential.archived') end + def unarchive if referential.unarchive! flash[:notice] = t('notice.referential.unarchived') @@ -97,7 +97,7 @@ class ReferentialsController < ChouetteController helper_method :current_referential def resource - @referential ||= current_organisation.find_referential(params[:id]) + @referential ||= current_organisation.find_referential(params[:id]).decorate end def collection diff --git a/app/controllers/routes_controller.rb b/app/controllers/routes_controller.rb index 79f49143a..af5a9a91b 100644 --- a/app/controllers/routes_controller.rb +++ b/app/controllers/routes_controller.rb @@ -47,10 +47,7 @@ class RoutesController < ChouetteController line: @line }) - @route_sp = ModelDecorator.decorate( - @route_sp, - with: StopPointDecorator - ) + @route_sp = StopPointDecorator.decorate(@route_sp) end end diff --git a/app/controllers/routing_constraint_zones_controller.rb b/app/controllers/routing_constraint_zones_controller.rb index a72b288b8..47df211d0 100644 --- a/app/controllers/routing_constraint_zones_controller.rb +++ b/app/controllers/routing_constraint_zones_controller.rb @@ -13,9 +13,8 @@ class RoutingConstraintZonesController < ChouetteController def index index! do |format| - @routing_constraint_zones = ModelDecorator.decorate( + @routing_constraint_zones = RoutingConstraintZoneDecorator.decorate( @routing_constraint_zones, - with: RoutingConstraintZoneDecorator, context: { referential: referential, line: parent diff --git a/app/controllers/stop_areas_controller.rb b/app/controllers/stop_areas_controller.rb index 5243ce56c..79ffea72e 100644 --- a/app/controllers/stop_areas_controller.rb +++ b/app/controllers/stop_areas_controller.rb @@ -57,10 +57,7 @@ class StopAreasController < ChouetteController redirect_to params.merge(:page => 1) end - @stop_areas = ModelDecorator.decorate( - @stop_areas, - with: StopAreaDecorator - ) + @stop_areas = StopAreaDecorator.decorate(@stop_areas) } end end diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index a0fa168f0..0707b9648 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -167,9 +167,8 @@ class TimeTablesController < ChouetteController end def decorate_time_tables(time_tables) - ModelDecorator.decorate( + TimeTableDecorator.decorate( time_tables, - with: TimeTableDecorator, context: { referential: @referential } diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb index b2dac9e67..2a71fe811 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -18,9 +18,8 @@ class WorkbenchesController < ChouetteController @q_for_form = scope.ransack(params[:q]) @q_for_result = scope.ransack(ransack_params) @wbench_refs = sort_result(@q_for_result.result).paginate(page: params[:page], per_page: 30) - @wbench_refs = ModelDecorator.decorate( + @wbench_refs = ReferentialDecorator.decorate( @wbench_refs, - with: ReferentialDecorator, context: { current_workbench_id: params[:id] } |
