Merge pull request #9353 from demarches-simplifiees/9347-warning-siret

ETQ admin, je suis alerté lorsque mes demarches publiées ont des services sans siret ou pas de service
This commit is contained in:
Paul Chavard 2023-07-27 08:25:04 +00:00 committed by GitHub
commit fed6b8c663
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 85 additions and 1 deletions

View file

@ -1,6 +1,8 @@
module Administrateurs
class AdministrateurController < ApplicationController
before_action :authenticate_administrateur!
before_action :alert_for_missing_siret_service
before_action :alert_for_missing_service
helper_method :administrateur_as_manager?
def nav_bar_profile
@ -38,5 +40,42 @@ module Administrateurs
current_administrateur.administrateurs_procedures
.exists?(procedure_id: id, manager: true)
end
def alert_for_missing_siret_service
procedures = missing_siret_services
if procedures.any?
errors = []
errors << I18n.t('shared.procedures.no_siret')
procedures.each do |p|
errors << I18n.t('shared.procedures.add_siret_to_service_without_siret_html', link: edit_admin_service_path(p.service, procedure_id: p.id), nom: p.service.nom)
end
flash.now.alert = errors
end
end
def missing_siret_services
current_administrateur
.procedures.publiees
.joins(:service)
.where(service: { siret: nil })
end
def alert_for_missing_service
procedures = missing_service
if procedures.any?
errors = []
errors << I18n.t('shared.procedures.no_service')
procedures.each do |p|
errors << I18n.t('shared.procedures.add_service_html', link: admin_services_path(procedure_id: p.id), id: p.id)
end
flash.now.alert = errors
end
end
def missing_service
current_administrateur
.procedures.publiees
.where(service_id: nil)
end
end
end

View file

@ -1,5 +1,7 @@
module Administrateurs
class ServicesController < AdministrateurController
skip_before_action :alert_for_missing_siret_service, only: :edit
skip_before_action :alert_for_missing_service, only: :edit
def index
@services = services.ordered
@procedure = procedure