commit
289daf04a4
12 changed files with 61 additions and 14 deletions
|
@ -14,7 +14,7 @@ class Champs::CarteController < ApplicationController
|
||||||
@champ = Champ
|
@champ = Champ
|
||||||
.joins(:dossier)
|
.joins(:dossier)
|
||||||
.where(dossiers: { user_id: logged_user_ids })
|
.where(dossiers: { user_id: logged_user_ids })
|
||||||
.find_by(id: params[:champ_id])
|
.find(params[:champ_id])
|
||||||
else
|
else
|
||||||
@champ = Champs::CarteChamp.new(type_de_champ: TypeDeChamp.new(
|
@champ = Champs::CarteChamp.new(type_de_champ: TypeDeChamp.new(
|
||||||
type_champ: TypeDeChamp.type_champs.fetch(:carte),
|
type_champ: TypeDeChamp.type_champs.fetch(:carte),
|
||||||
|
@ -30,6 +30,8 @@ class Champs::CarteController < ApplicationController
|
||||||
|
|
||||||
if geo_json.first == ["error", "TooManyPolygons"]
|
if geo_json.first == ["error", "TooManyPolygons"]
|
||||||
@error = true
|
@error = true
|
||||||
|
@champ.value = nil
|
||||||
|
@champ.geo_areas = []
|
||||||
elsif geo_json.present?
|
elsif geo_json.present?
|
||||||
if @champ.cadastres?
|
if @champ.cadastres?
|
||||||
cadastres = ModuleApiCartoService.generate_cadastre(geo_json)
|
cadastres = ModuleApiCartoService.generate_cadastre(geo_json)
|
||||||
|
@ -54,13 +56,13 @@ class Champs::CarteController < ApplicationController
|
||||||
parcelle_agricole
|
parcelle_agricole
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
@champ.geo_areas = geo_areas.map do |geo_area|
|
@champ.geo_areas = geo_areas.map do |geo_area|
|
||||||
GeoArea.new(geo_area)
|
GeoArea.new(geo_area)
|
||||||
end
|
end
|
||||||
|
|
||||||
@champ.value = geo_json.to_json
|
@champ.value = geo_json.to_json
|
||||||
|
end
|
||||||
|
|
||||||
if @champ.persisted?
|
if @champ.persisted?
|
||||||
@champ.save
|
@champ.save
|
||||||
|
|
|
@ -17,5 +17,12 @@ module Manager
|
||||||
end
|
end
|
||||||
redirect_to manager_procedure_path(procedure)
|
redirect_to manager_procedure_path(procedure)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def hide
|
||||||
|
procedure = Procedure.find(params[:id])
|
||||||
|
procedure.hide!
|
||||||
|
flash[:notice] = "La démarche a bien été supprimée, en cas d'erreur contactez un développeur."
|
||||||
|
redirect_to manager_procedure_path(procedure)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,9 +25,9 @@ class PieceJustificativeUploader < BaseUploader
|
||||||
def filename
|
def filename
|
||||||
if original_filename.present? || model.content_secure_token
|
if original_filename.present? || model.content_secure_token
|
||||||
if Flipflop.remote_storage?
|
if Flipflop.remote_storage?
|
||||||
filename = "#{model.class.to_s.underscore}-#{secure_token}.#{file.extension.downcase}"
|
filename = "#{model.class.to_s.underscore}-#{secure_token}.#{file.extension&.downcase}"
|
||||||
else
|
else
|
||||||
filename = "#{model.class.to_s.underscore}.#{file.extension.downcase}"
|
filename = "#{model.class.to_s.underscore}.#{file.extension&.downcase}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
filename
|
filename
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
%strong Sujet
|
%strong Sujet
|
||||||
%pre
|
%pre{ style: "white-space: pre-wrap;" }
|
||||||
= field.data.subject
|
= field.data.subject
|
||||||
|
|
||||||
%strong Corps
|
%strong Corps
|
||||||
%pre
|
%pre{ style: "white-space: pre-wrap;" }
|
||||||
= field.data.body
|
= field.data.body
|
||||||
|
|
|
@ -40,6 +40,8 @@ as well as a link to its edit page.
|
||||||
<% if procedure.publiee? && procedure.dossiers.empty? %>
|
<% if procedure.publiee? && procedure.dossiers.empty? %>
|
||||||
<%= link_to 'passer en brouillon', draft_manager_procedure_path(procedure), method: :post, class: 'button' %>
|
<%= link_to 'passer en brouillon', draft_manager_procedure_path(procedure), method: :post, class: 'button' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<%= link_to 'supprimer la démarche', hide_manager_procedure_path(procedure), method: :post, class: 'button', data: { confirm: "Confirmez-vous la suppression de la démarche ?" } %>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
|
@ -46,6 +46,13 @@ Rails.application.configure do
|
||||||
|
|
||||||
# Action Mailer settings
|
# Action Mailer settings
|
||||||
config.action_mailer.delivery_method = :letter_opener_web
|
config.action_mailer.delivery_method = :letter_opener_web
|
||||||
|
# Configure default root URL for generating URLs to routes
|
||||||
|
config.action_mailer.default_url_options = {
|
||||||
|
host: 'localhost',
|
||||||
|
port: 3000
|
||||||
|
}
|
||||||
|
# Configure default root URL for email assets
|
||||||
|
config.action_mailer.asset_host = "http://" + ENV['APP_HOST']
|
||||||
|
|
||||||
Rails.application.routes.default_url_options = {
|
Rails.application.routes.default_url_options = {
|
||||||
host: 'localhost',
|
host: 'localhost',
|
||||||
|
|
|
@ -81,10 +81,13 @@ Rails.application.configure do
|
||||||
config.action_mailer.delivery_method = :mailjet
|
config.action_mailer.delivery_method = :mailjet
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Configure default root URL for generating URLs to routes
|
||||||
config.action_mailer.default_url_options = {
|
config.action_mailer.default_url_options = {
|
||||||
protocol: :https,
|
protocol: :https,
|
||||||
host: ENV['APP_HOST']
|
host: ENV['APP_HOST']
|
||||||
}
|
}
|
||||||
|
# Configure default root URL for email assets
|
||||||
|
config.action_mailer.asset_host = "https://" + ENV['APP_HOST']
|
||||||
|
|
||||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||||
# the I18n.default_locale when a translation cannot be found).
|
# the I18n.default_locale when a translation cannot be found).
|
||||||
|
|
|
@ -9,6 +9,7 @@ Rails.application.routes.draw do
|
||||||
resources :procedures, only: [:index, :show] do
|
resources :procedures, only: [:index, :show] do
|
||||||
post 'whitelist', on: :member
|
post 'whitelist', on: :member
|
||||||
post 'draft', on: :member
|
post 'draft', on: :member
|
||||||
|
post 'hide', on: :member
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :dossiers, only: [:index, :show] do
|
resources :dossiers, only: [:index, :show] do
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
||||||
#
|
#
|
||||||
# To ban all spiders from the entire site uncomment the next two lines:
|
# To ban all spiders from the entire site uncomment the next two lines:
|
||||||
# User-agent: *
|
User-agent: *
|
||||||
# Disallow: /
|
Disallow: /commencer*
|
||||||
|
|
|
@ -15,10 +15,11 @@ describe Champs::CarteController, type: :controller do
|
||||||
champ_id: champ.id
|
champ_id: champ.id
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
let(:geojson) { [] }
|
||||||
let(:champ) do
|
let(:champ) do
|
||||||
create(:type_de_champ_carte, options: {
|
create(:type_de_champ_carte, options: {
|
||||||
quartiers_prioritaires: true
|
quartiers_prioritaires: true
|
||||||
}).champ.create(dossier: dossier)
|
}).champ.create(dossier: dossier, value: geojson.to_json)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'POST #show' do
|
describe 'POST #show' do
|
||||||
|
@ -46,5 +47,15 @@ describe Champs::CarteController, type: :controller do
|
||||||
it { expect(response.body).to include('MultiPolygon') }
|
it { expect(response.body).to include('MultiPolygon') }
|
||||||
it { expect(response.body).to include('[2.38715792094576,48.8723062632126]') }
|
it { expect(response.body).to include('[2.38715792094576,48.8723062632126]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when error' do
|
||||||
|
let(:geojson) { [[{ "lat": 48.87442541960633, "lng": 2.3859214782714844 }, { "lat": 48.87273183590832, "lng": 2.3850631713867183 }, { "lat": 48.87081237174292, "lng": 2.3809432983398438 }, { "lat": 48.8712640169951, "lng": 2.377510070800781 }, { "lat": 48.87510283703279, "lng": 2.3778533935546875 }, { "lat": 48.87544154230615, "lng": 2.382831573486328 }, { "lat": 48.87442541960633, "lng": 2.3859214782714844 }]] }
|
||||||
|
let(:selection) { { error: "TooManyPolygons" } }
|
||||||
|
|
||||||
|
it {
|
||||||
|
expect(champ.reload.value).to eq(nil)
|
||||||
|
expect(champ.reload.geo_areas).to eq([])
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,7 +9,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
subject { described_class.notify_new_draft(dossier) }
|
subject { described_class.notify_new_draft(dossier) }
|
||||||
|
|
||||||
it { expect(subject.subject).to include("brouillon") }
|
it { expect(subject.subject).to include("brouillon") }
|
||||||
it { expect(subject.subject).to include(dossier.id.to_s) }
|
it { expect(subject.subject).to include(dossier.procedure.libelle) }
|
||||||
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
||||||
it { expect(subject.body).to include(dossier_url(dossier)) }
|
it { expect(subject.body).to include(dossier_url(dossier)) }
|
||||||
end
|
end
|
||||||
|
|
14
spec/uploaders/piece_justificative_uploader_spec.rb
Normal file
14
spec/uploaders/piece_justificative_uploader_spec.rb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe PieceJustificativeUploader do
|
||||||
|
let(:pj) { create(:piece_justificative, :rib) }
|
||||||
|
|
||||||
|
it { expect(pj.content.filename).to eq 'piece_justificative.pdf' }
|
||||||
|
|
||||||
|
context 'when extension is nil' do
|
||||||
|
it do
|
||||||
|
expect(pj.content.file).to receive(:extension).and_return(nil)
|
||||||
|
expect(pj.content.filename).to eq 'piece_justificative.'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue