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.
|
# For APIs, you may want to use :null_session instead.
|
||||||
protect_from_forgery with: :exception
|
protect_from_forgery with: :exception
|
||||||
before_action :check_browser
|
before_action :check_browser
|
||||||
|
before_action :load_navbar_left_pannel_partial_url
|
||||||
|
|
||||||
def default_url_options
|
def default_url_options
|
||||||
return { protocol: 'https' } if Rails.env.staging? || Rails.env.production?
|
return { protocol: 'https' } if Rails.env.staging? || Rails.env.production?
|
||||||
|
@ -12,4 +13,13 @@ class ApplicationController < ActionController::Base
|
||||||
def check_browser
|
def check_browser
|
||||||
BROWSER.value = Browser.new(request.user_agent)
|
BROWSER.value = Browser.new(request.user_agent)
|
||||||
end
|
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
|
end
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
class Backoffice::DossiersController < Backoffice::DossiersListController
|
class Backoffice::DossiersController < Backoffice::DossiersListController
|
||||||
before_action :set_layout_options
|
|
||||||
respond_to :html, :xlsx, :ods, :csv
|
respond_to :html, :xlsx, :ods, :csv
|
||||||
|
|
||||||
def index
|
def index
|
||||||
super
|
super
|
||||||
dossiers_list_facade.service.filter_procedure_reset!
|
dossiers_list_facade.service.filter_procedure_reset!
|
||||||
|
@facade_data_view = dossiers_list_facade
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
|
@ -131,10 +131,6 @@ class Backoffice::DossiersController < Backoffice::DossiersListController
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_layout_options
|
|
||||||
@navbar_options = ["dossiers/download_dossiers"]
|
|
||||||
end
|
|
||||||
|
|
||||||
def create_dossier_facade dossier_id
|
def create_dossier_facade dossier_id
|
||||||
@facade = DossierFacades.new dossier_id, current_gestionnaire.email
|
@facade = DossierFacades.new dossier_id, current_gestionnaire.email
|
||||||
|
|
||||||
|
|
|
@ -18,14 +18,14 @@ class RenderPartialService
|
||||||
private
|
private
|
||||||
|
|
||||||
def retrieve_navbar
|
def retrieve_navbar
|
||||||
'layouts/navbars/_navbar_' + retrieve_name
|
'layouts/navbars/navbar_' + retrieve_name
|
||||||
end
|
end
|
||||||
|
|
||||||
def retrieve_left_panel
|
def retrieve_left_panel
|
||||||
'layouts/left_panel/_leftpanel_' + retrieve_name
|
'layouts/left_panels/left_panel_' + retrieve_name
|
||||||
end
|
end
|
||||||
|
|
||||||
def retrieve_name
|
def retrieve_name
|
||||||
controller.to_s.parameterize + '_' + method.to_s
|
controller.to_s.parameterize.underscore + '_' + method.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -11,52 +11,42 @@
|
||||||
= image_tag('marianne_small.png', class: 'logo')
|
= image_tag('marianne_small.png', class: 'logo')
|
||||||
%div.col-lg-6#tps-title
|
%div.col-lg-6#tps-title
|
||||||
TPS
|
TPS
|
||||||
|
|
||||||
%div.col-lg-10.col-md-10.no-padding
|
%div.col-lg-10.col-md-10.no-padding
|
||||||
%div#navbar-body
|
%div#navbar-body
|
||||||
%div.row
|
%div.row
|
||||||
%div.col-lg-7.col-md-7.main-info
|
= render partial: @navbar_url
|
||||||
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
|
|
||||||
|
|
||||||
- if false
|
- if false
|
||||||
- if gestionnaire_signed_in? && user_signed_in?
|
- 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'}
|
%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')
|
=t('dynamics.backoffice.dossiers')
|
||||||
%a{href: users_dossiers_path, class: 'btn btn-md'}
|
%a{href: users_dossiers_path, class: 'btn btn-md'}
|
||||||
=t('dynamics.users.mes_dossiers')
|
=t('dynamics.users.mes_dossiers')
|
||||||
- elsif gestionnaire_signed_in?
|
- elsif gestionnaire_signed_in?
|
||||||
%a{href: (current_gestionnaire.procedure_filter.blank? ? backoffice_dossiers_path : backoffice_dossiers_procedure_path(current_gestionnaire.procedure_filter)), class: 'btn btn-md'}
|
%a{href: (current_gestionnaire.procedure_filter.blank? ? backoffice_dossiers_path : backoffice_dossiers_procedure_path(current_gestionnaire.procedure_filter)), class: 'btn btn-md'}
|
||||||
=t('dynamics.users.mes_dossiers')
|
=t('dynamics.users.mes_dossiers')
|
||||||
- elsif user_signed_in?
|
- elsif user_signed_in?
|
||||||
%a{href: users_dossiers_path, class: 'btn btn-md'}
|
%a{href: users_dossiers_path, class: 'btn btn-md'}
|
||||||
=t('dynamics.users.mes_dossiers')
|
=t('dynamics.users.mes_dossiers')
|
||||||
- elsif administrateur_signed_in?
|
- elsif administrateur_signed_in?
|
||||||
%a{href: admin_procedures_path, class: 'btn btn-md'}
|
%a{href: admin_procedures_path, class: 'btn btn-md'}
|
||||||
=t('dynamics.admin.menu.title')
|
=t('dynamics.admin.menu.title')
|
||||||
|
|
||||||
-if user_signed_in?
|
-if user_signed_in?
|
||||||
= render partial: 'users/login_banner'
|
= render partial: 'users/login_banner'
|
||||||
-elsif gestionnaire_signed_in?
|
-elsif gestionnaire_signed_in?
|
||||||
= render partial: 'gestionnaires/login_banner'
|
= render partial: 'gestionnaires/login_banner'
|
||||||
-elsif administrateur_signed_in?
|
-elsif administrateur_signed_in?
|
||||||
= render partial: 'administrateurs/login_banner'
|
= render partial: 'administrateurs/login_banner'
|
||||||
-else
|
-else
|
||||||
= link_to "Utilisateur", '/users/sign_in', method: :get, :class => 'btn btn-md'
|
= link_to "Utilisateur", '/users/sign_in', method: :get, :class => 'btn btn-md'
|
||||||
-unless Features.unified_login
|
-unless Features.unified_login
|
||||||
= link_to "Accompagnateur", '/gestionnaires/sign_in', method: :get, :class => 'btn btn-md'
|
= link_to "Accompagnateur", '/gestionnaires/sign_in', method: :get, :class => 'btn btn-md'
|
||||||
= link_to "Administrateur", '/administrateurs/sign_in', method: :get, :class => 'btn btn-md'
|
= link_to "Administrateur", '/administrateurs/sign_in', method: :get, :class => 'btn btn-md'
|
||||||
|
|
||||||
- if Rails.env != 'production'
|
- if Rails.env != 'production'
|
||||||
%div.staging_warning
|
%div.staging_warning
|
||||||
%b{style:'color: #B00100', 'data-placement' => 'bottom', 'data-original-title' => "Aucune donnée présente sur cette plateforme ne pourra être transférée sur l'environnement final de production.", 'data-toggle' => 'tooltip'}
|
%b{style:'color: #B00100', 'data-placement' => 'bottom', 'data-original-title' => "Aucune donnée présente sur cette plateforme ne pourra être transférée sur l'environnement final de production.", 'data-toggle' => 'tooltip'}
|
||||||
Vous vous trouvez actuellement sur la plateforme de test.
|
Vous vous trouvez actuellement sur la plateforme de test.
|
||||||
%div.badge.progress-bar-danger
|
%div.badge.progress-bar-danger
|
||||||
?
|
?
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
= render partial: "layouts/navbar"
|
= render partial: "layouts/navbar"
|
||||||
%div.row.no-margin
|
%div.row.no-margin
|
||||||
%div.col-lg-2.col-md-2#left-pannel
|
%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.col-lg-10.col-md-10#main-container
|
||||||
%div.row
|
%div.row
|
||||||
= render partial: 'layouts/flash_messages'
|
= 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