Administrateur can be select dynamically the activation of api carto modules
This commit is contained in:
parent
8130e7d155
commit
0e3bec7f9f
17 changed files with 186 additions and 25 deletions
12
app/assets/javascripts/procedure.js
Normal file
12
app/assets/javascripts/procedure.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
$(document).on('page:load', buttons_api_carto);
|
||||
$(document).ready(buttons_api_carto);
|
||||
|
||||
function buttons_api_carto () {
|
||||
|
||||
$("#procedure_module_api_carto_use_api_carto").on('change', function() {
|
||||
$("#modules_api_carto").toggle()
|
||||
});
|
||||
|
||||
if ($('#procedure_module_api_carto_use_api_carto').is(':checked'))
|
||||
$("#modules_api_carto").show();
|
||||
}
|
|
@ -91,6 +91,10 @@ input#nom_projet {
|
|||
max-width: 27px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.pagination {
|
||||
padding-top: 20px;
|
||||
display: block;
|
||||
|
|
3
app/assets/stylesheets/procedure.scss
Normal file
3
app/assets/stylesheets/procedure.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
#modules_api_carto {
|
||||
display: none;
|
||||
}
|
|
@ -24,10 +24,12 @@ class Admin::ProceduresController < AdminController
|
|||
|
||||
def new
|
||||
@procedure ||= Procedure.new
|
||||
@procedure.module_api_carto ||= ModuleAPICarto.new
|
||||
end
|
||||
|
||||
def create
|
||||
@procedure = Procedure.new(create_procedure_params)
|
||||
@procedure.module_api_carto = ModuleAPICarto.new(create_module_api_carto_params) if @procedure.valid?
|
||||
|
||||
unless @procedure.save
|
||||
flash.now.alert = @procedure.errors.full_messages.join('<br />').html_safe
|
||||
|
@ -64,7 +66,11 @@ class Admin::ProceduresController < AdminController
|
|||
private
|
||||
|
||||
def create_procedure_params
|
||||
params.require(:procedure).permit(:libelle, :description, :organisation, :direction, :lien_demarche, :use_api_carto).merge(administrateur_id: current_administrateur.id)
|
||||
params.require(:procedure).permit(:libelle, :description, :organisation, :direction, :lien_demarche, module_api_carto_attributes: [:id, :use_api_carto, :quartiers_prioritaires, :cadastre]).merge(administrateur_id: current_administrateur.id)
|
||||
end
|
||||
|
||||
def create_module_api_carto_params
|
||||
params.require(:procedure).require(:module_api_carto_attributes).permit(:id, :use_api_carto, :quartiers_prioritaires, :cadastre)
|
||||
end
|
||||
|
||||
def informations
|
||||
|
|
|
@ -88,7 +88,7 @@ class Users::DossiersController < UsersController
|
|||
if checked_autorisation_donnees?
|
||||
@dossier.update_attributes(update_params)
|
||||
|
||||
if @dossier.procedure.use_api_carto
|
||||
if @dossier.procedure.module_api_carto.use_api_carto
|
||||
redirect_to url_for(controller: :carte, action: :show, dossier_id: @dossier.id)
|
||||
else
|
||||
redirect_to url_for(controller: :description, action: :show, dossier_id: @dossier.id)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class ModuleAPICarto < ActiveRecord::Base
|
||||
enum name: {'quartiers_prioritaires' => 'quartiers_prioritaires'}
|
||||
|
||||
belongs_to :procedure
|
||||
|
||||
validates :name, presence: true, allow_blank: false, allow_nil: false
|
||||
validates :use_api_carto, presence: true, allow_blank: true, allow_nil: false
|
||||
validates :quartiers_prioritaires, presence: true, allow_blank: true, allow_nil: false
|
||||
validates :cadastre, presence: true, allow_blank: true, allow_nil: false
|
||||
end
|
||||
|
|
|
@ -2,9 +2,10 @@ class Procedure < ActiveRecord::Base
|
|||
has_many :types_de_piece_justificative
|
||||
has_many :types_de_champ
|
||||
has_many :dossiers
|
||||
has_many :module_api_cartos
|
||||
has_one :module_api_carto
|
||||
accepts_nested_attributes_for :types_de_champ,:reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
||||
accepts_nested_attributes_for :types_de_piece_justificative, :reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
||||
accepts_nested_attributes_for :module_api_carto
|
||||
belongs_to :administrateur
|
||||
|
||||
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -9,6 +9,19 @@
|
|||
|
||||
%br
|
||||
|
||||
%label{ style:'font-weight:normal' }
|
||||
=f.check_box :use_api_carto
|
||||
Utilisation de l'API Carto
|
||||
%h4 Cartographie
|
||||
|
||||
= f.fields_for :module_api_carto, @procedure.module_api_carto do |ff|
|
||||
%label
|
||||
=ff.check_box :use_api_carto, {id: :procedure_module_api_carto_use_api_carto}
|
||||
Utilisation de la cartographie
|
||||
|
||||
%ul#modules_api_carto
|
||||
%li
|
||||
%label
|
||||
= ff.check_box :quartiers_prioritaires
|
||||
Quartiers Prioritaires
|
||||
%li
|
||||
%label
|
||||
= ff.check_box :cadastre
|
||||
Cadastre
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
%br
|
||||
- rescue
|
||||
=''
|
||||
- if @dossier.procedure.use_api_carto
|
||||
- if @dossier.procedure.module_api_carto.use_api_carto
|
||||
.col-lg-6.col-md-6
|
||||
#map.mini
|
||||
%input{id: 'json_latlngs', type:'hidden', value: "#{@dossier.json_latlngs}"}
|
||||
|
@ -39,7 +39,7 @@
|
|||
%div.row{style: 'text-align:right'}
|
||||
-unless gestionnaire_signed_in?
|
||||
-if !@dossier.validated? && !@dossier.submitted? && !@dossier.closed?
|
||||
-if @dossier.procedure.use_api_carto
|
||||
-if @dossier.procedure.module_api_carto.use_api_carto
|
||||
%a#maj_carte.btn.btn-primary{href: "/users/dossiers/#{@dossier.id}/carte"}
|
||||
= 'Editer ma carte'
|
||||
%a#maj_infos.btn.btn-info{href: "/users/dossiers/#{@dossier.id}/description"}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue