Awsome struct to share layouts between controllers and there methods
This commit is contained in:
parent
7faf1705da
commit
4f9bcdd225
7 changed files with 57 additions and 53 deletions
|
@ -3,6 +3,7 @@ class ApplicationController < ActionController::Base
|
|||
# For APIs, you may want to use :null_session instead.
|
||||
protect_from_forgery with: :exception
|
||||
before_action :check_browser
|
||||
before_action :load_navbar_left_pannel_partial_url
|
||||
|
||||
def default_url_options
|
||||
return { protocol: 'https' } if Rails.env.staging? || Rails.env.production?
|
||||
|
@ -12,4 +13,13 @@ class ApplicationController < ActionController::Base
|
|||
def check_browser
|
||||
BROWSER.value = Browser.new(request.user_agent)
|
||||
end
|
||||
|
||||
def load_navbar_left_pannel_partial_url
|
||||
controller = request.controller_class
|
||||
method = params[:action]
|
||||
service = RenderPartialService.new(controller, method)
|
||||
@navbar_url = service.navbar
|
||||
@left_pannel_url = service.left_panel
|
||||
@facade_data_view = nil
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
class Backoffice::DossiersController < Backoffice::DossiersListController
|
||||
before_action :set_layout_options
|
||||
respond_to :html, :xlsx, :ods, :csv
|
||||
|
||||
def index
|
||||
super
|
||||
dossiers_list_facade.service.filter_procedure_reset!
|
||||
@facade_data_view = dossiers_list_facade
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -131,10 +131,6 @@ class Backoffice::DossiersController < Backoffice::DossiersListController
|
|||
|
||||
private
|
||||
|
||||
def set_layout_options
|
||||
@navbar_options = ["dossiers/download_dossiers"]
|
||||
end
|
||||
|
||||
def create_dossier_facade dossier_id
|
||||
@facade = DossierFacades.new dossier_id, current_gestionnaire.email
|
||||
|
||||
|
|
|
@ -18,14 +18,14 @@ class RenderPartialService
|
|||
private
|
||||
|
||||
def retrieve_navbar
|
||||
'layouts/navbars/_navbar_' + retrieve_name
|
||||
'layouts/navbars/navbar_' + retrieve_name
|
||||
end
|
||||
|
||||
def retrieve_left_panel
|
||||
'layouts/left_panel/_leftpanel_' + retrieve_name
|
||||
'layouts/left_panels/left_panel_' + retrieve_name
|
||||
end
|
||||
|
||||
def retrieve_name
|
||||
controller.to_s.parameterize + '_' + method.to_s
|
||||
controller.to_s.parameterize.underscore + '_' + method.to_s
|
||||
end
|
||||
end
|
|
@ -11,22 +11,12 @@
|
|||
= image_tag('marianne_small.png', class: 'logo')
|
||||
%div.col-lg-6#tps-title
|
||||
TPS
|
||||
|
||||
%div.col-lg-10.col-md-10.no-padding
|
||||
%div#navbar-body
|
||||
%div.row
|
||||
%div.col-lg-7.col-md-7.main-info
|
||||
Start UP region ile de france (8 dossiers en cours)
|
||||
%div.col-lg-3.col-md-3.options
|
||||
%div.row
|
||||
- if @navbar_options
|
||||
- @navbar_options.each do |option|
|
||||
%div.col-lg-12.col-md-12
|
||||
= render partial: option
|
||||
%div.col-lg-1.col-md-1.log-options
|
||||
%span.fa.fa-sign-out
|
||||
= render partial: @navbar_url
|
||||
|
||||
- if false
|
||||
- if false
|
||||
- if gestionnaire_signed_in? && user_signed_in?
|
||||
%a{href: (current_gestionnaire.procedure_filter.blank? ? backoffice_dossiers_path : backoffice_dossiers_procedure_path(current_gestionnaire.procedure_filter)), class: 'btn btn-md'}
|
||||
=t('dynamics.backoffice.dossiers')
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
= render partial: "layouts/navbar"
|
||||
%div.row.no-margin
|
||||
%div.col-lg-2.col-md-2#left-pannel
|
||||
= render partial: 'layouts/left_pannel'
|
||||
= render partial: @left_pannel_url
|
||||
%div.col-lg-10.col-md-10#main-container
|
||||
%div.row
|
||||
= render partial: 'layouts/flash_messages'
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
%div.col-lg-7.col-md-7.main-info
|
||||
Start UP region ile de france (8 dossiers en cours)
|
||||
%div.col-lg-3.col-md-3.options
|
||||
%div.row
|
||||
%div.col-lg-12.col-md-12
|
||||
= render partial: "dossiers/download_dossiers"
|
||||
%div.col-lg-1.col-md-1.log-options
|
||||
%span.fa.fa-sign-out
|
Loading…
Add table
Reference in a new issue