Commit graph

7566 commits

Author SHA1 Message Date
Paul Chavard
7575f50d25 Fix autocomplete on blur 2021-06-15 10:13:31 +02:00
Paul Chavard
7f4e174871 Declare useCallback dependencies 2021-06-15 10:13:31 +02:00
simon lehericey
4900ca16f2 makes whole admin card clickable 2021-06-15 09:54:32 +02:00
simon lehericey
6be0bbaa9c Change bottom champs editor button from enregistrer to continuer 2021-06-15 09:54:32 +02:00
simon lehericey
9f50ead0fc wrap link in header to avoid ugly display 2021-06-15 09:54:32 +02:00
simon lehericey
a407c0b2a0 top align th in dossier table 2021-06-15 09:54:32 +02:00
Paul Chavard
a2c53ce7ea format phone numbers 2021-06-15 09:14:55 +02:00
François Vantomme
c9b1095d1e Refactor (Rubocop): replace map{ … }.compact by filter_map
In Ruby 2.7, Enumerable#filter_map has been added.
This cop identifies places where map { … }.compact can be replaced by filter_map.

See: https://docs.rubocop.org/rubocop-performance/cops_performance.html#performancemapcompact
2021-06-11 15:38:09 +02:00
Christophe Robillard
169f254c79 infer champ type from class 2021-06-09 10:52:38 +02:00
Christophe Robillard
6f845508b4 order archive by desc month 2021-06-09 10:52:38 +02:00
Christophe Robillard
5e180268cd remove one sql query 2021-06-09 10:52:38 +02:00
Christophe Robillard
41569efe9d extract estimate_weight
and rename nb_dossiers by nb_dossiers_termines
2021-06-09 10:52:38 +02:00
simon lehericey
b8f01d06d7 more style
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
f2ba83a704 cout_dossier_termines_by_month for groupe_instructeurs
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
83d60c7b63 archive for all the groups
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
e933a80c55 remove useless archivable_months
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
d7ce26662f capitalize month
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
a02c598a43 some style
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
7cce505dce allow download whole procedure if small enough
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
1c1e990d2a remove useless count
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
b5c1200bf1 disallow download archive button if to heavy
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
61b5085390 remove useless if
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
09b3cf98f6 use nb_dossiers to estimate total weight
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
1a6337cf37 remove useless if
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
f094c6c218 avoid useless count
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
895eed5a27 UI uses average_dossier_weight
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
simon lehericey
9e43823f9a add average_dossier_weight
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-09 10:52:38 +02:00
Christophe Robillard
7002811ba5 optim count nb_dossiers per month for archive
`Traitement#count_dossiers_termines_by_month` removes n+1 queries

Co-authored-by: LeSim <mail@simon.lehericey.net>
2021-06-09 10:52:38 +02:00
kara Diaby
b3c5fcb4c5 fix procedure not found 2021-06-08 17:55:38 +02:00
Christophe Robillard
9bb9462b3a optimise les stats termines by week 2021-06-08 15:23:31 +02:00
Paul Chavard
44ebd0e8a5 Fix api education wrong data type 2021-06-08 12:25:24 +02:00
Christophe Robillard
1a8a394cb7 fix stats view for users 2021-06-06 19:35:48 +02:00
Paul Chavard
1888f74b10 Prevent double processing of declarative dossiers 2021-06-04 17:55:40 +02:00
kara Diaby
66f0fa35f2 layout 2021-06-04 15:29:08 +02:00
kara Diaby
3555c9696a modify concern 2021-06-04 15:29:08 +02:00
kara Diaby
6ed339e7aa modify controllers 2021-06-04 15:29:08 +02:00
Paul Chavard
3071af220a Add revision date_publication 2021-06-03 13:11:16 +02:00
Paul Chavard
f526e303e8 Apply suggestions from code review
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-06-03 13:11:16 +02:00
Paul Chavard
3fb10fb4b8 Set published_at on revision when publishing a procedure 2021-06-03 13:11:16 +02:00
Paul Chavard
306e5d228d Add published_at to procedure_revisions 2021-06-03 13:11:16 +02:00
Paul Chavard
990ae10399 GraphQL byte_size should be BigInt 2021-06-03 10:53:17 +02:00
Paul Chavard
f076fa803e Handle GeoJSON validation errors 2021-06-02 12:43:24 +02:00
Pierre de La Morinerie
188b89a3c8 manager: fix polymorphic route exception when viewing user emails
Since the last Rails update, arguments to polymorphic routes must be
symbols, otherwise an exception is raised.
2021-06-01 11:29:57 +02:00
Paul Chavard
05380b9520 Fix destoying discarded procedures 2021-05-27 18:48:56 +02:00
François Vantomme
bc6d5aca0e Fix (Sentry): prefer Rails secrets over ENV variables 2021-05-27 11:12:27 +02:00
Paul Chavard
9b0dae4cc2 Fix apostrophes ‘ -> ’ 2021-05-26 18:05:14 +02:00
Paul Chavard
bd7bb2d0d2 Fix apostrophes ‘ -> ’ 2021-05-26 15:09:23 +02:00
Paul Chavard
4922bc88d6 Do not crash when properties is nil 2021-05-26 12:40:07 +02:00
Paul Chavard
dfc46a8736 Enable add descriptions to cadastres 2021-05-26 11:27:09 +02:00
Paul Chavard
18ce027b84 Update dossier serialize query to stop using deprecated fileds 2021-05-26 11:12:06 +02:00
lydiasan
2d6ad4f2c1
Merge branch 'main' into localize-dropdown-button 2021-05-25 14:45:52 +02:00
lydiasan
884e52326e
Update app/views/layouts/_locale_dropdown.html.haml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2021-05-25 13:36:50 +02:00
lydiasan
355616e9a7
Update app/views/layouts/_header.haml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2021-05-25 13:36:32 +02:00
lydiasan
e85dcf4c58
Update app/controllers/application_controller.rb
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2021-05-25 13:32:26 +02:00
Paul Chavard
179bb5a9fe Apply suggestions from code review
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-05-25 11:43:38 +02:00
Paul Chavard
acb277e650 Use stable_id when replacing tags 2021-05-25 11:43:38 +02:00
lydiasan
71069c0e1b correction de la variable d'environnement 'LOCALIZATION_ENABLED' 2021-05-25 10:05:52 +02:00
Paul Chavard
1b0cc62fc2 Add cadastres to MapReader 2021-05-24 11:57:00 +02:00
Paul Chavard
2244263b49 Add cadastres to MapEditor 2021-05-24 11:57:00 +02:00
Paul Chavard
19440afebf Improuve mapbox utilis and shared components 2021-05-24 11:57:00 +02:00
Paul Chavard
3b85ade440 Add compatibility cadsatre layer with old API GEO 2021-05-24 11:57:00 +02:00
Paul Chavard
e74dcb0056 Remove ign feature flag 2021-05-24 11:50:16 +02:00
Paul Chavard
01c558953b Remove API GEO legacy adapter 2021-05-24 11:50:16 +02:00
Paul Chavard
bf462380e6 MultiSelect: select values on blur 2021-05-20 17:21:13 +02:00
Paul Chavard
3313ea5885 MultiSelect: do not show empty results on free form inputs 2021-05-20 17:21:13 +02:00
Paul Chavard
e0d8d096f2 MultiSelect: improuve setters 2021-05-20 17:21:13 +02:00
Paul Chavard
868ec214ce MultiSelect: enable adding multiple emails with , or space 2021-05-20 17:21:13 +02:00
simon lehericey
b620888597 show only dossier avis 2021-05-20 16:18:04 +02:00
simon lehericey
63311eceb0 avoid serializing long id list in case of huge procedure, search on it before 2021-05-20 12:08:04 +02:00
Paul Chavard
bf9f29cc71 Fix messagerie scroll to last message 2021-05-20 11:58:54 +02:00
kara Diaby
20933579b0 do not display confidential avis to other experts 2021-05-19 21:30:22 +02:00
simon lehericey
17617fba43 address champ needs the data column 2021-05-19 15:59:18 +02:00
simon lehericey
a46000dc1f ensure to_s is used on specialized champ 2021-05-19 09:39:20 +02:00
simon lehericey
3c01488db2 use set to avoid duplicate in @dossier_count 2021-05-18 11:43:20 +02:00
simon lehericey
663d287962 proposition de simplification 2021-05-18 11:43:17 +02:00
simon lehericey
02e2128fb7 proposition de simplification 2021-05-18 11:42:11 +02:00
Paul Chavard
e043645a88 cleanup tests 2021-05-18 11:42:10 +02:00
kara Diaby
6a1ed2e02d layout 2021-05-18 11:42:10 +02:00
kara Diaby
fdde55f675 modify service 2021-05-18 11:42:10 +02:00
kara Diaby
7d9cf63056 add and modify controllers 2021-05-18 11:42:10 +02:00
Paul Chavard
5f419954b4 Fix dossier deleted user display 2021-05-13 10:43:55 +02:00
lydiasan
42153d1d37 ajout du selecteur de langue 2021-05-12 16:30:35 +02:00
Paul Chavard
3f7a2bea9b Dossier without user should be valid 2021-05-11 17:50:10 +02:00
Paul Chavard
8a74438dc1 Use conservation_extension instead of en_construction_conservation_extension 2021-05-11 17:33:53 +02:00
Paul Chavard
1e0d6ea28f Rename en_construction_conservation_extension to conservation_extension 2021-05-11 14:08:51 +02:00
simon lehericey
c5f6c9ae1e fix missing state translation 2021-05-10 11:17:34 +02:00
Pierre de La Morinerie
b398485d97 manager: localize dossier enums
In the previous commit, we cleaned up the localization of the
Dossier.state enum. This prevented administrate from crashing, but now
the dossier enum are no longer localized in the Manager.

By using a `Field::Enum` type, we instruct the administrate plugin
to look up our localized name for the Dossier state enum.
2021-05-06 14:41:08 +02:00
Pierre de La Morinerie
b8f71bd52c i18n: fix enum values for Dossier.state
According to Rails i18n guide, enum values should be localized
as `<model>/<enum>`, not as sub-values to the attribute.

This fixes an exception in administrate when displaying a Dossier
in the Manager.

Note: we need to change the way GraphQL attributes are generated, because
`AASM::Core::State#display_name` doesn’t honor the `model/attribute.value`
convention (and instead tries to localize as `model.attribute/value`).
So instead we lookup the localized name using ActiveRecord.
2021-05-06 14:38:25 +02:00
Pierre de La Morinerie
dc33f4a395 manager: use administrate helper to retrieve resource path
This is lifted from the current default template provided by
administrate.
2021-05-06 11:11:04 +02:00
Christophe Robillard
6086f05524 corrige le lien annuaire lorsque le siren n'est pas connu 2021-05-06 09:59:27 +02:00
simon lehericey
55b80df29d display count before text in tabs 2021-05-06 09:13:20 +02:00
simon lehericey
f55c6ee371 stick arrow with label 2021-05-06 09:13:20 +02:00
simon lehericey
8d0082419c do not know how it worked before 2021-05-05 14:36:34 +02:00
simon lehericey
4dc314d24b [fix #6084] add db constraints to france_connect_informations table 2021-05-05 14:28:20 +02:00
simon lehericey
9fd1c604a1 display follower instructeur emails in alphabetic order 2021-05-04 16:38:34 +02:00
simon lehericey
50f679746f do not extract twice the same dossier_id if the dossier is followed twice 2021-05-04 16:38:34 +02:00
Paul Chavard
bcbfcdc537 Revert "Merge pull request #6142 from tchak/enable_brouillon_extend_conservation"
This reverts commit 48eb4d9778, reversing
changes made to 5539d5cb8c.

# Conflicts:
#	app/models/dossier.rb
#	db/schema.rb
2021-05-04 16:03:29 +02:00
Christophe Robillard
01f180022b prend en compte uniquement les pj pour estimer la taille d'un dossier 2021-05-04 12:50:12 +02:00
Paul Chavard
f6508899de Refactor NotificationMailer 2021-05-04 12:05:06 +02:00
Paul Chavard
a4fd629f4a Enable user destruction 2021-05-04 12:05:06 +02:00
Paul Chavard
e240dd6d2c remove NewAttestationMailer 2021-05-04 12:05:06 +02:00
Pierre de La Morinerie
13d2364fd5 jobs: add Excon::Error::Socket to the list of transient errors
In ActiveStorage::Purge job we see a lot of SSL errors:

> Connection reset by peer - SSL_connect (Errno::ECONNRESET)

These errors seem transient, and resolve themselves after a while.
2021-05-04 11:38:22 +02:00
François Vantomme
cb717aede2 Fix (GraphQL): raise exception when blob is missing
Failures:

  1) API::V2::GraphqlController when authenticated mutations dossierEnvoyerMessage upload error should fail
     Failure/Error: expect(gql_errors).to eq(nil)

       expected: nil
            got: [{:backtrace=>["/usr/local/bundle/ruby/2.7.0/gems/graphql-1.12.5/lib/graphql/backtrace/tracer.rb:64:i...]
2021-05-04 11:26:23 +02:00
Paul Chavard
b2a867266a Allow users to extend conservation on drafts 2021-04-29 19:50:30 +02:00
Christophe Robillard
3d04221dab generate pdf export for dossier only on demand 2021-04-29 17:30:38 +02:00
Christophe Robillard
f40d96fbd2 Revert "Revert "Export de tous les dossier d'une démarche""
This reverts commit d9a588b52e.
2021-04-29 17:29:47 +02:00
krichtof
d9a588b52e
Revert "Export de tous les dossier d'une démarche" 2021-04-29 16:07:18 +02:00
Paul Chavard
69ab7854c2 replace fontawesome with heroicons 2021-04-29 15:20:05 +02:00
Pierre de La Morinerie
2cb6ec7c51 jobs: add more transient errors
These errors occur frequently during interactions with OVH's
ObjectStorage.
2021-04-29 14:08:12 +02:00
Pierre de La Morinerie
684af77e35 jobs: extract an RetryOnTranscientErrors concern 2021-04-29 14:08:12 +02:00
simon lehericey
7b94c2de88 remove extra Dossier call in projection 2021-04-29 11:46:00 +02:00
simon lehericey
fd6f110210 do not calculate pagination twice 2021-04-29 11:23:41 +02:00
simon lehericey
22811e1cc2 remove unused kaminari stuff 2021-04-29 11:23:41 +02:00
simon lehericey
db23a853a9 fetch all notification at once 2021-04-29 11:23:41 +02:00
simon lehericey
87bee9d234 set img height and width 2021-04-29 11:23:41 +02:00
simon lehericey
a4e813380a one query for avis count 2021-04-29 11:23:41 +02:00
simon lehericey
5cfb4114ce one query per table 2021-04-29 11:23:41 +02:00
simon lehericey
20fb756097 one less count 2021-04-29 11:23:41 +02:00
simon lehericey
8b73d8804c fetch all exports at once by groupe_instructeurs_ids 2021-04-29 11:23:41 +02:00
simon lehericey
951d4c0025 eager load procedure logo 2021-04-29 11:23:41 +02:00
Paul Chavard
6e1b4a2067 Update and pin mapbox-gl 2021-04-28 15:34:53 +02:00
Paul Chavard
85b907807a Improuve ComboMultipleDropdownList style 2021-04-28 12:54:45 +02:00
Christophe Robillard
09870c918d prevent race conditions when creating archives 2021-04-28 11:40:58 +02:00
Christophe Robillard
dfbe004122 rename content_type to time_span_type for archives 2021-04-28 11:40:58 +02:00
Christophe Robillard
9134114c2e fix rubocop offenses 2021-04-28 11:40:58 +02:00
Christophe Robillard
aa407d5607 place le cronjob PurgeStaleArchives dans le bon répertoire 2021-04-28 11:40:58 +02:00
Christophe Robillard
8bee53fe77 rend plus robuste la création de l'archive 2021-04-28 11:40:58 +02:00
Christophe Robillard
59a08ad307 affiche quand l'archive a été générée 2021-04-28 11:40:58 +02:00
Christophe Robillard
fa4f6190c4 exporte aussi les démarches archivées 2021-04-28 11:40:58 +02:00
Christophe Robillard
71a5e41e5b add archive_zip_globale feature flag 2021-04-28 11:40:58 +02:00
Christophe Robillard
8b2849408c instructeurs can create and download archives 2021-04-28 11:40:58 +02:00
Christophe Robillard
609a1aa45b add archive creation and purge archives jobs 2021-04-28 11:40:58 +02:00
Christophe Robillard
07cc4fa97f add service to create procedure archive 2021-04-28 11:40:58 +02:00
Christophe Robillard
fba0d78153 generate pdf export inside pieces_justificatives_service 2021-04-28 11:40:58 +02:00
Christophe Robillard
c25f3c79d9 add archive model 2021-04-28 11:40:58 +02:00
Pierre de La Morinerie
0cb2162a65 db: fix out-to-date Procedure comments 2021-04-27 15:36:22 +02:00
Pierre de La Morinerie
ac3bc38c75 views: fix invalid locale name 2021-04-27 14:51:00 +02:00
simon lehericey
275b71abac includes champs: :type_de_champ 2021-04-27 13:45:57 +02:00
Pierre de La Morinerie
51d6faabee controllers: log invalid tokens in Users::SessionsController
This is an attempt to understand why we have so many of these
errors in production.
2021-04-22 19:23:47 +02:00
Paul Chavard
2a068fb9b0 Remove user feedback buttons 2021-04-22 15:40:40 +01:00
Paul Chavard
c20ad5ca17 Remove the link between commentaire and user 2021-04-22 15:10:47 +01:00
Pierre de La Morinerie
360f4be4c9 views: replace link by a round_button in the password reset email 2021-04-22 14:24:15 +02:00
Pierre de La Morinerie
d530b272a1 password: add specific page for reset instructions 2021-04-22 14:24:15 +02:00
Pierre de La Morinerie
fb55c76829 views: cleanup link_sent HTML and CSS
This prepares for re-using the CSS in the reset_link_sent page.
2021-04-22 14:24:15 +02:00
Paul Chavard
6836191ca5 Improuve commune autocomplete results 2021-04-22 09:59:21 +01:00
simon lehericey
b20296f8c6 less object (-350) 2021-04-22 10:46:04 +02:00
simon lehericey
553e1d973c remove old methods 2021-04-22 10:46:04 +02:00
simon lehericey
0c845c937d use DossierProjectionService 2021-04-22 10:46:04 +02:00
simon lehericey
5bfd4ecbbf add DossierProjectionService 2021-04-22 10:46:04 +02:00
kara Diaby
d5cea74ee9 add procedure number and link into admin dashboard (show) 2021-04-21 17:01:46 +02:00
Pierre de La Morinerie
8cb7a49dd9 password: add password reset instructions 2021-04-20 09:34:53 +02:00
Pierre de La Morinerie
53fc7386f1 sign_in: fix the procedure preview not being hidden on mobile 2021-04-20 09:34:52 +02:00
Pierre de La Morinerie
6b14420ffa sign_in: improve "Forgot password?" appearance on mobile 2021-04-20 09:34:52 +02:00
Pierre de La Morinerie
0749d981ab password: make the "Reset password" button clearer 2021-04-20 09:34:52 +02:00
Pierre de La Morinerie
fffb85987c app: retain user email on sign-in error 2021-04-20 09:34:52 +02:00
kara Diaby
6524b6bcb7 layout 2021-04-19 10:23:45 +02:00
kara Diaby
01a91fb35b modify controllers 2021-04-19 10:23:45 +02:00
kara Diaby
541a36abbf Add boolean to procedures table 2021-04-19 10:23:45 +02:00
simon lehericey
e0959cda1e constantize hot strings
- 1131 objects over 4220 (-25%) created in app/
2021-04-16 13:13:22 +02:00
simon lehericey
47f13219ed Avoid useless TypeDeChamp deserialization
- 520 objects overs 4720 (10%) created in app/ (using ?pp=profile-memory&memory_profiler_allow_files=app/)
2021-04-16 13:13:22 +02:00
simon lehericey
e728a3fcb7 include type_de_champ
Avoid n+1 when matching champ.stable_id in procedure.presentation.displayed_fields_values
win 2s in the worst 3s scenario
2021-04-16 13:13:22 +02:00
Paul Chavard
ea484b879e Prevent expert users to be deleted 2021-04-15 16:17:36 +01:00
kara Diaby
663fa50f02 notify expert when a decision is taken on a dossier 2021-04-15 11:29:55 +02:00
Christophe Robillard
db48ea02aa [manager] list superadmins 2021-04-15 10:12:11 +02:00
Paul Chavard
6d37e1d133 Fix discarded procedures destruction 2021-04-14 12:24:16 +01:00
Paul Chavard
5b56ec425b Fix discarded dossiers destruction 2021-04-14 12:24:16 +01:00
Pierre de La Morinerie
872f6b0153 lib: add migration helpers for making a column unique 2021-04-13 18:09:59 +02:00
Paul Chavard
f152c51d12 Remove ignored_columns 2021-04-13 17:00:07 +01:00
simon lehericey
fde433a7cf do not ask for avis if the dossier is absent 2021-04-13 12:04:45 +02:00
Pierre de La Morinerie
16f695031b manager: add Mailjet emails to the sent emails list 2021-04-13 10:58:30 +02:00
Pierre de La Morinerie
773c18babf manager: improve clarity of emails page 2021-04-13 10:57:26 +02:00
Pierre de La Morinerie
5e8327ff09 manager: refactor SendInBlue unblock action 2021-04-13 10:57:26 +02:00
Pierre de La Morinerie
76e74003ad manager: fix SendInBlue emails 2021-04-13 10:57:26 +02:00
simon lehericey
76e261691a add data column to france_connect_infromations 2021-04-13 09:59:28 +02:00
simon lehericey
cd6cb99c3c add bypass_email_login_token to instructeur 2021-04-13 09:43:38 +02:00
simon lehericey
594cda3ee3 Remove previous attempt but steal its spec 2021-04-13 09:32:48 +02:00
simon lehericey
376013ef03 simplify ever more 2021-04-13 09:32:48 +02:00
simon lehericey
6055fd1b0b remove for_procedure 2021-04-13 09:32:48 +02:00
simon lehericey
e7bc53237b simplify followed_dossiers 2021-04-13 09:32:48 +02:00
simon lehericey
430acb1cb0 Fetch all count at once (- 400ms on pass culture) 2021-04-13 09:32:48 +02:00
simon lehericey
9a5a41d0bb add assign_tos and groupe_instructeur_ids methods 2021-04-13 09:32:48 +02:00
simon lehericey
46517e997b extract procedure_id 2021-04-13 09:32:48 +02:00
kara Diaby
6bb61ca64f add condition regarding experts emails in dossier controller instructeur 2021-04-09 13:09:22 +02:00
simon lehericey
b24faae7e3 remove obsolete procedure_id column in assign_to table 2021-04-09 11:41:13 +02:00
Paul Chavard
5a7312f775 Ensure address to_s never returns nil 2021-04-08 16:43:45 +01:00
Paul Chavard
651a928b7c Improuve export UI 2021-04-08 14:40:26 +01:00
Paul Chavard
371d612fdb Remove unused columns 2021-04-08 12:43:29 +01:00
Paul Chavard
3ac4a1b339 Revert "New attemp to fix orange badge hell"
This reverts commit e83762c4e3.
2021-04-07 20:02:53 +01:00
Paul Chavard
e83762c4e3 New attemp to fix orange badge hell 2021-04-07 18:43:09 +01:00
Paul Chavard
3f994a6fc8 Revert "Try to fix orange badge hell"
This reverts commit 1fd92565f3.
2021-04-07 18:43:09 +01:00
Paul Chavard
1fd92565f3 Try to fix orange badge hell 2021-04-07 15:07:05 +01:00
Paul Chavard
5e5122a436 Prevent crash in preview where there is no siblings 2021-04-06 18:15:29 +01:00
simon lehericey
b87a691176 use env for localization to avoid db round trip 2021-04-06 18:23:14 +02:00
simon lehericey
cd4ad6878c remove insee_api_v3 feature 2021-04-06 18:23:14 +02:00
simon lehericey
06d2eb2d21 remove feature xray 2021-04-06 18:23:14 +02:00
simon lehericey
6f2b2c3c1f use env for maintenance mode to avoid DB roundtrip 2021-04-06 18:23:14 +02:00
simon lehericey
1715a4899f remove coronavirus banner 2021-04-06 18:23:14 +02:00
simon lehericey
7567e51a3f add ui for integrity error 2021-04-06 18:11:26 +02:00
simon lehericey
e636e3a752 add merge_and_update_metadata method 2021-04-06 18:11:26 +02:00
simon lehericey
d552e364fc retry 5 times on integrity error and then block processing 2021-04-06 18:03:39 +02:00
Christophe Robillard
10cd0fece6 modifie la cible des liens du footer 2021-04-06 17:09:56 +02:00
Christophe Robillard
2f7a7f8c83 indique que l'accessibilité n'est pas conforme 2021-04-06 17:09:56 +02:00
Christophe Robillard
b8d203fbf8 rend accessible les liens avec cible _blank 2021-04-06 17:09:56 +02:00
Pierre de La Morinerie
62051c926a app: move update_allow_decision_access to ExpertsController 2021-04-06 14:54:18 +02:00
Pierre de La Morinerie
c82c72402d app: move the experts list to ExpertsProceduresController 2021-04-06 14:29:02 +02:00
Pierre de La Morinerie
7acb4cee83 controllers: use standard action names in ExpertsProceduresController 2021-04-06 13:45:51 +02:00
Pierre de La Morinerie
3f25624a5a routes: nest ExpertsProcedures routes in a resource 2021-04-06 13:18:51 +02:00
Pierre de La Morinerie
c2ce20d40c config: form_with now generates local forms by default
We can remove the `local: true` parameter, as it is now implied by
default.
2021-04-06 12:12:57 +02:00
Pierre de La Morinerie
95b6fdf86d controllers: unload failed avis from dossier
This avoid the subsequent dossier update to fail because some Avis
may be invalid.
2021-04-06 12:12:57 +02:00
Paul Chavard
2702660d72 Update app/models/champs/header_section_champ.rb
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-04-06 10:45:16 +01:00
Paul Chavard
4feda01b6f Show section numbers only if none of sections start with numbers 2021-04-06 10:45:16 +01:00
kara Diaby
2a0c40c25f add experts_procedures controller 2021-04-06 10:39:25 +02:00
kara Diaby
a8b30c0cdc add react component (expert view) and block it when the flag is activated 2021-04-06 10:39:24 +02:00
kara Diaby
03fd6eaeea add react component to invite an expert 2021-04-06 10:39:24 +02:00
kara Diaby
f9e4d9c982 add variable to dossier controller 2021-04-06 10:39:24 +02:00
kara Diaby
436f567067 change create avis concern 2021-04-06 10:39:24 +02:00
kara Diaby
60c06b6d8c add revoked at to experts_procedures 2021-04-06 10:39:22 +02:00
kara Diaby
d6bed42a3e add css helper 2021-04-06 10:38:46 +02:00
kara Diaby
62b7d752f9 layout 2021-04-06 10:38:46 +02:00
kara Diaby
f4acc83269 change procedures controller 2021-04-06 10:38:46 +02:00
Pierre de La Morinerie
3499f5af9a models: remove invalid Dossier ↔︎ Champ inverse relationship
`Dossier.champs` is not really an inverse of `Champs.dossier`: when a
Champ record is created, it should not always be added to dossier.champs
(for instance if the champ is private).

NB: this breaks the workaround we added in #3907 to fix the parent
dossier not being touched in some cases (the workaround was to add an
inverse relationship, but we now have to remove it).

The new workaround is to watch for `changed_for_autosave?` on champs.
Unlike `changed?`, `changed_for_autosave?` also detects changes to
attachments. This allows us to touch both `last_champ_updated_at` and
`updated_at` in a single pass.
2021-04-06 10:26:17 +02:00
Pierre de La Morinerie
fc4d8362dc models: fix typo in comments 2021-04-06 10:26:17 +02:00
Paul Chavard
7f3d4a26ad Make exports#key not-null 2021-04-02 17:42:24 +01:00
Paul Chavard
ac17352693 Improuve generated dossier PDF 2021-04-02 14:22:59 +01:00
Paul Chavard
fd48b86b7f Simplify export unicity check and use create_or_find_by 2021-04-01 21:14:16 +01:00
Christophe Robillard
dbfc878bf5 supprime la page accessibilité 2021-03-30 15:12:18 +02:00
Christophe Robillard
d89dc785f0 met à jour le lien de bas de page Accessibilité
Ce lien pointe désormais vers notre site de documentation
2021-03-30 15:08:20 +02:00
Pierre de La Morinerie
798b4a65cc models: fix db structure comment in etablissement.rb
The column is not removed yet, but it is ignored.
2021-03-30 10:45:31 +02:00
kara Diaby
4fc4e19ee6 Ajoute l'onglet avis sur l'interface instructeur, qui renvoie vers le profil expert 2021-03-27 17:00:19 +01:00
Paul Chavard
23104f15a4 Fix export n+1 queries 2021-03-25 19:22:12 +01:00
Pierre de La Morinerie
3f3d6ae399 controllers: use template: rather than file: to render PDFs
ActionView now throws an error if a relative path is used with `file:`.
2021-03-25 13:24:53 +01:00
Pierre de La Morinerie
185c74d891 dossier: fix SQL deprecation error
ActiveRecord 6.1 disallows passing strings to the `order()` function, to
prevent SQL injections.

Here we know that the order string is safe: `ts_vector` is constant,
and `ts_query` is properly escaped.

Wrap the SQL fragment in Arel.sql to bypass the error.
2021-03-25 13:24:53 +01:00
lydiasan
8dce3e5d2a i18n: localize users/sign_in page 2021-03-25 11:59:05 +01:00
kara Diaby
fff6725799 modify api and serializer 2021-03-24 17:47:24 +01:00
kara Diaby
d17fdfec77 modify layout 2021-03-24 17:47:24 +01:00
kara Diaby
2930de1015 remove useless code in models 2021-03-24 17:47:24 +01:00
kara Diaby
71973de17c remove useless columns from the db 2021-03-24 16:20:44 +01:00
Christophe Robillard
83cf0fa903 detect staging env 2021-03-24 15:30:12 +01:00
maatinito
a29fb5cc5b dossier pdf: display form fields in two columns (instead of 2 lines)
Identity fields are displayed on two columns, but until now Dossier
fields were displayed on two lines.

This was because of a bug in format_in_2_columns, where the multiple-
lines fields were not handled properly.

This has been fixed a while back by @maatinito, so we can now enable
two-columns formatting even for Dossier fields.
2021-03-23 17:02:52 +01:00
maatinito
cc19453f68 views: fix warning message about incomplete fields for attestation
The labels for the champs and private champs were inverted.
2021-03-23 16:56:02 +01:00
Paul Chavard
0b22788d60 experts_procedure should not be optional 2021-03-23 13:46:33 +01:00
Paul Chavard
84214f4bd4 Do not export non exportable champs on draft procedures 2021-03-23 09:55:37 +01:00
Kara Diaby
38837443aa
Merge branch 'main' into fix-experts-lookup 2021-03-18 20:46:56 +01:00
Pierre de La Morinerie
239169e925 dossier: fix looking-up avis from Expert
This line causes an error on Rails 6.1.

And it isn't even necessary: this line is supposed to query avis where
the expert advice has been requested – but this is handled by the
`if expert.dossiers.include?(self)` condition just above.
2021-03-18 17:59:30 +01:00
Paul Chavard
1449fbbe67 Fix multiple_drop_down_list mandatory check 2021-03-18 15:22:28 +01:00
kara Diaby
64b94100f4 fix dossier link helper 2021-03-18 14:36:08 +01:00
kara Diaby
5e88ecc24c improve request to find an expert 2021-03-18 11:38:53 +01:00
kara Diaby
81f5a5254b tests 2021-03-18 11:38:52 +01:00
kara Diaby
328c2a8e3c change email to display for expert 2021-03-18 11:38:52 +01:00
kara Diaby
e7945594cf eager_load for expert 2021-03-18 11:38:52 +01:00
kara Diaby
38740d1b5b modify experts avis controllers, concern and serializer 2021-03-18 11:38:52 +01:00
kara Diaby
5519ee8417 Expert Layout 2021-03-18 11:38:52 +01:00
kara Diaby
e79b1204e0 change avis invitation mailer 2021-03-18 11:38:52 +01:00
kara Diaby
c55e4d0d98 remove unused instructeur logic 2021-03-18 11:38:52 +01:00
kara Diaby
e8207535ea modify instructeur views 2021-03-18 11:27:51 +01:00
kara Diaby
568b1c4e53 remove instructeur unused layout 2021-03-18 11:27:51 +01:00
kara Diaby
54d414b3b7 add expert to export 2021-03-18 11:27:51 +01:00
kara Diaby
a710116371 add expert profile to api 2021-03-18 11:27:51 +01:00
kara Diaby
d47fde3fcb add polymorphic relation to claimant on avis table 2021-03-18 11:27:51 +01:00
kara Diaby
d2ab2debb6 add expert logic 2021-03-18 11:27:51 +01:00
Paul Chavard
d59867c73b Exposer plus d’informations dans l’interface pour certains champs 2021-03-17 16:28:05 +01:00
Paul Chavard
e96d2fb083 Return empty strings for incomplete api entreprise adresses 2021-03-17 12:12:21 +01:00
Paul Chavard
a6fe1df201 update graphql schema 2021-03-17 11:53:48 +01:00
Paul Chavard
4efc5ff273 Update app/graphql/schema.graphql
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-03-17 11:53:48 +01:00
Paul Chavard
046b36d386 Update app/graphql/schema.graphql
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-03-17 11:53:48 +01:00
Paul Chavard
866ae256a3 Add revision dossiers filters 2021-03-17 11:53:48 +01:00
Christophe Robillard
f47e2e62cd add button role to supprimer link 2021-03-17 11:31:51 +01:00
Christophe Robillard
6026793c1d focus to target after toggle 2021-03-17 11:31:51 +01:00
Christophe Robillard
df3bd3a1d2 handle focus during and after upload 2021-03-17 11:31:51 +01:00
Christophe Robillard
43039d1755 add aria-value min, max and now for progressbar upload 2021-03-17 11:31:51 +01:00
Christophe Robillard
dfed8f32ae update link to download dossier and all pjs 2021-03-16 15:13:17 +01:00
Christophe Robillard
858bbde2d6 remove dead code 2021-03-16 15:13:17 +01:00
Christophe Robillard
60cc4d3697 add pdf to pjs export 2021-03-16 15:13:17 +01:00
Paul Chavard
76aa7bdfe3 Add default nil value for numero_tva_intracommunautaire 2021-03-16 12:57:10 +01:00
Pierre de La Morinerie
75a1046315 active_storage: refactor concerns
Follow-up of #5953.

Refactor the concerns with two goals:

- Getting closer from the way ActiveStorage adds its own hooks.
  Usually ActiveStorage does this using an `Attachment#after_create`
  hook, which then delegates to the blob to enqueue the job.
- Enqueuing each job only once. By hooking on `Attachment#after_create`,
  we guarantee each job will be added only once.

We then let the jobs themselves check if they are relevant or not, and
retry or discard themselves if necessary.

We also need to update the tests a bit, because Rails'
`perform_enqueued_jobs(&block)` test helper doesn't honor the `retry_on`
clause of jobs. Instead it forwards the exception to the caller – which
makes the test fail.

Instead we use the inline version of `perform_enqueued_jobs()`, without
a block, which properly ignores errors catched by retry_on.
2021-03-16 11:49:14 +01:00
Pierre de La Morinerie
08094e5384 jobs: retry on ActiveStorage::IntegrityError during virus scan
This is the same setting than what ActiveStorage::AnalyzeJob uses.
2021-03-16 10:52:12 +01:00
Paul Chavard
6f543d3770 Handle invalid GeoJSON in the editor 2021-03-11 15:51:09 +01:00
Paul Chavard
a7fb7bf1ef Add geo json validation 2021-03-11 15:51:09 +01:00
Paul Chavard
d24ee27cac Try to reduce the number of external data fetches
Only fetch external data if the external_id is the current one and data is not yet fetched
2021-03-11 14:56:37 +01:00
Paul Chavard
21d5da379f remove unused job 2021-03-11 14:56:37 +01:00
Paul Chavard
bee66d41c4 capital_social and numero_tva_intracommunautaire can be null 2021-03-11 11:13:50 +01:00
kara Diaby
6383e6b9e7 Revert "Revert "Claimant type to avis table""
This reverts commit f4fd220d43.
2021-03-10 08:48:55 +01:00
Paul Chavard
70500e3d56 Groupe instructeur selector default blank 2021-03-09 14:47:23 +01:00
Paul Chavard
9c3e72c84a Use revision instead of groupe instructeur as dossier procedure link 2021-03-09 14:47:23 +01:00
Kara Diaby
f4fd220d43
Revert "Claimant type to avis table" 2021-03-09 13:40:10 +01:00
kara Diaby
0211d1f105 modify create_avis_concern 2021-03-07 22:47:53 +01:00
kara Diaby
af4a27f4e0 add claimant type on avis table 2021-03-07 22:47:24 +01:00
Paul Chavard
82fca8be0b Make more association fields nullable 2021-03-05 10:13:22 +01:00
Christophe Robillard
6169399a6b fix limit date for notice validation 2021-03-05 08:34:39 +01:00
Pierre de La Morinerie
b0735aafe0 config: fix DynamicSmtpSettingsInterceptor warning again
This warning re-appeared when running mailer tests:

```
DISABLE_SPRING=1 bin/rspec spec/mailers/administration_mailer_spec.rb
```

It is now fixed properly, in a way recommanded by the documentation.
2021-03-04 22:52:19 +01:00
Paul Chavard
47e232f439 Some associations have no date_creation 2021-03-04 16:28:20 +01:00
Christophe Robillard
7f496c43e5 no validation for old procedures 2021-03-04 16:13:19 +01:00
Pierre de La Morinerie
2f948f7e46 active_storage: fix blob update hooks
For some reason on Rails 6.1 the `after_update_commit` hook is properly
registered – but disappears from the record later, and in the end is
never run.

Fix it by using the general `after_commit` hook instead.
2021-03-04 14:30:38 +01:00
Paul Chavard
f31096b33e When procedure is reset delete only draft revision dossiers 2021-03-04 13:10:58 +01:00
Paul Chavard
79606e8696 Some addresses have no street_address 2021-03-04 12:52:01 +01:00
Paul Chavard
600f49a0ff Hide groupe instructeur selector when routage is done via API 2021-03-04 11:06:04 +01:00
Paul Chavard
1c811083c0 Cleanup feature flags usage 2021-03-04 11:06:04 +01:00
Pierre de La Morinerie
9537342c06 procedure: fix query for finding champs without stable_id
It would break on ActiveRecord 6.1.
2021-03-04 09:54:22 +00:00
Paul Chavard
5d4f025be0 Rename for consistency with defaut_groupe_instructeur 2021-03-04 10:45:02 +01:00
Paul Chavard
89ec3923f2 Defaut groupe instructeur ordered by label 2021-03-04 10:35:44 +01:00
Paul Chavard
9f8c55969d Add proper external data API errors handling 2021-03-04 10:16:06 +01:00
Paul Chavard
e7ba380d95 Fix JSON.parse crashing on empty values 2021-03-03 17:31:05 +01:00
Paul Chavard
96a832bc19 Add SerializerService 2021-03-02 12:42:22 +01:00
Paul Chavard
bb072ba9e9 Add id argument to most collections on dossier 2021-03-02 12:42:22 +01:00
Paul Chavard
0bd8721776 Add a way to authoraize any query through context 2021-03-02 12:35:47 +01:00
Paul Chavard
ac5a860e1b remove unused print.css reference 2021-02-25 17:20:11 +01:00
Paul Chavard
ff8ccbd088 Try to parse SIB email date when it is a string 2021-02-25 15:20:14 +01:00
Pierre de La Morinerie
9f676c76e1 config: fix zeitwerk warning about DynamicSmtpSettingsInterceptor
Fix a warning when running tests:

> DEPRECATION WARNING: Initialization autoloaded the constant DynamicSmtpSettingsInterceptor.
>
> Being able to do this is deprecated. Autoloading during initialization is going
to be an error condition in future versions of Rails.
> 
> Reloading does not reboot the application, and therefore code executed during
> initialization does not run again. So, if you reload DynamicSmtpSettingsInterceptor, for example,
> the expected changes won't be reflected in that stale Class object.
> 
> This autoloaded constant has been unloaded.
> 
> Please, check the "Autoloading and Reloading Constants" guide for solutions.

However if we fix as recommanded, the interceptor will get added
each time the classes are reloaded. And as the actual class instance
changed after the reloading, they won't be de-duplicated – *and*
there's no way to remove the old interceptor without having a reference
to the (now-deleted) class.

Instead we load the interceptor once, and add a message about the class
not being auto-reloaded.
2021-02-24 19:00:29 +01:00
Pierre de La Morinerie
2e3ddd6190 gems: upgrade to Sprockets 4 2021-02-24 17:09:51 +01:00
Pierre de La Morinerie
e51948ab5c stylesheets: merge print rules with the application stylesheet
- Having a separate stylesheet for print rules is not a best practice
  (it makes an extra network request)
- It makes migrating to Sprockets 4 easier
2021-02-24 17:09:51 +01:00
Paul Chavard
2c2b392d6c Fix multiselect labels
only add values to new values if it is a new value
2021-02-19 12:08:54 +01:00
Paul Chavard
92158cecb6 fix constant 2021-02-19 11:29:08 +01:00
Paul Chavard
24f71ccc1a Improuve multi select
In multi select with acceptNewValues option alway keep the new value as the first item in the list to make it easier to add it
2021-02-19 10:53:16 +01:00
Paul Chavard
a0b53d7d80 Expose structured address on the API
fix #4290
2021-02-17 19:10:16 +01:00
Paul Chavard
75392272fb Add champ address model 2021-02-17 19:10:16 +01:00
Paul Chavard
228a83f8a5 Add api address external data fetch 2021-02-17 19:10:16 +01:00
Paul Chavard
7eee14feef Add ChampFetchExternalDataJob 2021-02-17 19:10:16 +01:00
Christophe Robillard
ac56581ccf fix indent 2021-02-17 16:41:57 +01:00
Christophe Robillard
d55f156aec admin: durée de conservation des données hors ds n'est plus demandée
La colonne est tout de même gardée en base
2021-02-17 16:41:57 +01:00
Christophe Robillard
2be4bcf22d admin: peut modifier durée de conservation d'une procédure publiée 2021-02-17 16:41:57 +01:00
Paul Chavard
6756db1013 Update react-query 2021-02-16 18:14:11 +01:00
Paul Chavard
bb49f6e151 replace react-use with use-debounce
this is a much lighter dependencie
2021-02-16 18:14:10 +01:00
Paul Chavard
3dae5b5c04 update react 2021-02-16 18:14:10 +01:00
Paul Chavard
df80f5681d remove react-scroll-to-component 2021-02-16 18:14:10 +01:00
Paul Chavard
1c164c4376 Use jsx extension 2021-02-16 18:14:10 +01:00
Pierre de La Morinerie
98be7e2076 Fix new Rubocop warnings 2021-02-16 16:31:30 +00:00
Pierre de La Morinerie
aae452cc67 gems: update chunky_png
And pass it a proper IO object, to avoid "Undefined method
`set_encoding`" errors.
2021-02-16 16:31:30 +00:00
Pierre de La Morinerie
b04afed20e gems: update graphql 2021-02-16 16:31:30 +00:00
Paul Chavard
881820888a Use stable cache key for useMemo 2021-02-16 16:47:15 +01:00
Christophe Robillard
8b55f67964 accepte nouvelles valeurs pour ComboMultipleDropdownList 2021-02-16 16:47:15 +01:00
Paul Chavard
06e282b839 supprime select2
select2 n'est plus utilisé. Il est remplacé par
ComboMultipleDropdownList
2021-02-16 16:47:15 +01:00
Christophe Robillard
f9ad9444a9 add style for ComboMultipleDropdownList 2021-02-16 16:47:14 +01:00
Christophe Robillard
7565a25b51 rend accessible l'affectation d'un instructeur
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
3fc7b57b8c rend accessible la personnalisation des filtres instructeurs
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
c855d13994 rend accessible l'envoi de dossier par un instructeur
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
b8097e782a rend accessible la selection multiple usager
en remplaçant select2 par ComboMultipleDropdownList
2021-02-16 16:47:14 +01:00
Christophe Robillard
e048f48241 create ComboMultipleDropdownList component 2021-02-16 16:47:14 +01:00
kara Diaby
3817210649 layout 2021-02-16 09:46:18 +00:00
kara Diaby
9492b09f85 make and expert notifiable (controller and routes) 2021-02-16 09:46:18 +00:00
kara Diaby
7b4ec486ec change active record request to get expert list 2021-02-16 09:46:18 +00:00
Paul Chavard
9ce07be1ee [GraphQL] modifier annotation 2021-02-11 17:45:14 +01:00
Paul Chavard
e0f7f1f20c Do not hide graphql controller errors in test env 2021-02-11 17:45:14 +01:00
Pierre de La Morinerie
819325c761 zeitwerk: move our Array extension to initializers/core_ext 2021-02-11 12:30:43 +01:00
Pierre de La Morinerie
12cd996af9 super_admin: fix OTP generation 2021-02-11 11:14:14 +01:00
Christophe Robillard
966ee33529 ignore when FranceConnect calls callback 2 times 2021-02-10 18:13:47 +01:00
Christophe Robillard
a288a13805 disable france connect authentication for admin and instructeurs 2021-02-10 18:13:47 +01:00
Paul Chavard
434e99bf4f fix print css 2021-02-10 17:10:58 +01:00
simon lehericey
f7ae974f29 Add throttling for api entreprise 2021-02-10 12:40:14 +01:00
Pierre de La Morinerie
7d1c79bf4b zeitwerk: Url -> URL 2021-02-09 13:07:30 +01:00
Pierre de La Morinerie
150ddab660 zeitwerk: Api -> API 2021-02-09 13:07:30 +01:00
Pierre de La Morinerie
29ded36e86 stylesheets: fix the dossiers number wrapping on two lines 2021-02-09 11:01:52 +01:00
Fabrice Gangler
229f495753 allow email footer logo to be configured in .env file
Refs: #5873
2021-02-09 09:39:02 +01:00
Pierre de La Morinerie
2d1c50917f mailers: fix Ruby 2.7 arguments passing 2021-02-09 09:20:46 +01:00
Pierre de La Morinerie
4ad9adc510 models: fix Ruby 2.7 arguments passing
Arguments to an ActiveRecord scope will always been passed as a
Dictionnary. Thus
`Dossier.with_notifiable_procedure(notify_on_closed: true)` will trigger
a Ruby 2.7 warning:

> /ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

Fix the issue by always expecting a Dictionary (rather than keyword
arguments).
2021-02-09 09:20:46 +01:00
Paul Chavard
0223eabcce fix annotations n+1 2021-02-08 10:41:36 +01:00
Paul Chavard
9156754cf6 After maximum ammount of retries discard the job and log exception 2021-02-05 18:56:27 +01:00
Paul Chavard
a591d5528e Add job exception log methods to champ and dossier 2021-02-05 18:56:27 +01:00
Paul Chavard
78a07ef021 Add job exception logs to dossier and champ 2021-02-04 19:27:27 +01:00
Fabrice Gangler
3034716963 allow mailers/_bizdev_signature to be configured in .env file
Refs: #5871
2021-02-04 13:09:40 +01:00
Fabrice Gangler
d039798ac8 allow logo in PDF export to be configured in .env file
Refs: #5869
2021-02-04 12:24:31 +01:00
Judith
6d89a83d14 unused locales clean-up 2021-02-04 12:15:13 +01:00
Pierre de La Morinerie
0d101f3f1a views: remove old design's leftbars 2021-02-02 15:33:09 +01:00
Pierre de La Morinerie
334e50d4f8 views: remove old design's navbars 2021-02-02 15:33:09 +01:00
Paul Chavard
a503417298 Remove old css and js 2021-02-02 15:26:11 +01:00
Paul Chavard
41c3a98d7d Update Raven references to use Sentry 2021-01-28 19:46:36 +01:00
Paul Chavard
6ea44eefa9 fix upstream change in i18n
c4dfcda202
2021-01-28 19:46:36 +01:00
Paul Chavard
1b5aef10f2 Stop crashing when removed repetition row is submitted 2021-01-27 17:33:55 +01:00
Paul Chavard
3d0c888058 Stop crashing if a selection utilisateur contains no geometry 2021-01-27 17:18:55 +01:00
Paul Chavard
0633d43868 Stop crashing if attachment can not be watermarked and mark blob as invalid 2021-01-27 16:49:09 +01:00
Paul Chavard
df475dc306 Make siren_siret on annuaire education optional 2021-01-27 15:25:58 +01:00
Paul Chavard
1bba12dc3a Make some annuaire education fields optional 2021-01-27 12:51:59 +01:00
Paul Chavard
a26537c77d Make some api entreprise fields optional 2021-01-27 11:53:00 +01:00
Paul Chavard
03ddd17884 Ignore entreprise_id on etablissements 2021-01-27 11:53:00 +01:00
Paul Chavard
96f8b9e2bf Enforce siret validity for champ siret 2021-01-27 11:13:00 +01:00
kara Diaby
9b8d2f6fd3 instead of call Avis table, we now call Experts Procedure table to see the experts list 2021-01-26 13:59:10 +01:00
kara Diaby
85242e118b add an email method to expert model 2021-01-26 13:59:09 +01:00
Paul Chavard
4452b2cf45 fix order of types de champ on procedure 2021-01-26 10:45:34 +01:00
Christophe Robillard
d8aaba9975 update entreprise annuaire link 2021-01-25 19:50:32 +01:00
kara Diaby
2987139dd6 Link avis to an expert 2021-01-22 14:31:02 +01:00
kara Diaby
b683c2023b add expert to avis table 2021-01-22 14:31:02 +01:00
kara Diaby
da067597ab Add create expert method 2021-01-20 18:03:05 +01:00
simon lehericey
d409a9a6c5 Procedure and expert link 2021-01-20 18:03:05 +01:00
simon lehericey
29e9f2dd32 Ajout du model expert
Co-authored-by: Kara Diaby <kdiaby.pro@gmail.com>
2021-01-20 18:03:05 +01:00
Christophe Robillard
792b53beeb import several instructeurs for a routee procedure
Co-authored-by: simon lehericey <mail@simon.lehericey.net>
2021-01-20 15:03:17 +01:00
simon lehericey
650a598698 ensure a buggy procedure does not block the others from being closed 2021-01-19 10:42:16 +01:00
simon lehericey
685534e827 Add content validation for avis and messages 2021-01-18 17:23:08 +01:00
simon lehericey
d72f0c6dd2 Add authorized content type for pj 2021-01-18 17:23:08 +01:00
simon lehericey
da71031801 add skip_content_type_pj_validation attr to pj 2021-01-18 15:12:17 +01:00
Paul Chavard
97ce8f312b Use external_id to fetch annuaire_education data 2021-01-15 11:50:02 +01:00
Paul Chavard
9f691dce4c Set external_id from combo search inputs 2021-01-15 11:50:02 +01:00
Paul Chavard
09a3cacd88 Add external_id to champs 2021-01-15 11:50:02 +01:00
Paul Chavard
91be115c70 Add annuaire_education champ ui 2021-01-14 17:57:48 +01:00
Paul Chavard
54f2084aef Add annuaire_education champ 2021-01-14 17:57:48 +01:00
Paul Chavard
5c9f2e8783 Add api education adapter and job 2021-01-14 17:57:48 +01:00
Paul Chavard
a1643dad84 Add data column to champ 2021-01-14 17:31:37 +01:00
Paul Chavard
6ca9daab0f Ensure a combo always autosave value on change 2021-01-14 17:31:37 +01:00
Paul Chavard
dc08993a89 Add DateTime champ to GraphQL 2021-01-14 14:08:42 +01:00
Paul Chavard
d509fe2edb GraphQL: add has_fragment to context 2021-01-12 16:24:14 +01:00
Paul Chavard
082b4830f3 Fix a crash when champ carte has no options 2021-01-12 14:47:20 +01:00
Paul Chavard
f33544f067 Fix type_de_champ repetition revision after clone
fix #5769
2021-01-12 10:57:34 +01:00
simon lehericey
d766779b8c allow wrap in radio buttons 2021-01-04 17:14:28 +01:00
simon lehericey
d43c7364fc add image to notice and deliberation valid content type 2021-01-04 15:13:26 +01:00
kara Diaby
0bd0fef8d5 fixes regarding invited expert list 2021-01-04 14:15:24 +01:00
kara Diaby
8f6440f615 Admins can see the list of invited experts 2020-12-21 14:55:51 +01:00
kara Diaby
2b06ee95e1 Add a method to retrieve all invited experts for all procedure dossiers 2020-12-21 14:55:51 +01:00
Paul Chavard
7a8b1fa639 [GraphQL] hide dossiers brouillon from api 2020-12-18 16:34:42 +01:00
Paul Chavard
d31f4d4e25 GraphQL: render api errors as json 2020-12-18 12:25:52 +01:00
Paul Chavard
09128cb85e Add titre identite champ to GraphQL 2020-12-17 17:23:34 +01:00
simon lehericey
1348b883e3 Add cron to complete missing analysis 2020-12-17 11:05:33 +01:00
Paul Chavard
a9a4f6e2a8 Add migration task to use stable_id in filters 2020-12-17 10:51:09 +01:00
simon lehericey
116b3c8189 update link ? 2020-12-17 10:51:09 +01:00
simon lehericey
024cc70667 human_value use stable_id ? 2020-12-17 10:51:09 +01:00
simon lehericey
4960eda5cb use stable id 2020-12-17 10:51:09 +01:00
simon lehericey
f07b395d95 sort : remove superfluous return 2020-12-17 10:51:08 +01:00
simon lehericey
f37c27a243 nicer find_field 2020-12-17 10:51:08 +01:00
simon lehericey
e5da1d7111 move remove_filter 2020-12-17 10:51:08 +01:00
simon lehericey
4241ea05f3 move add_filter 2020-12-17 10:51:08 +01:00
simon lehericey
e3ee756da4 move update_sort 2020-12-17 10:51:08 +01:00
simon lehericey
b7a43f3f44 move update_displayed_fields to procedure_presentation 2020-12-17 10:51:08 +01:00
simon lehericey
cbccdea8e0 move displayed_fields for select to procedure_controller 2020-12-17 10:51:08 +01:00
simon lehericey
55998b1284 remove unused dossier_field service 2020-12-17 10:51:08 +01:00
simon lehericey
0399bb7dcf cosmetic move 2020-12-17 10:51:08 +01:00
Paul Chavard
a2e87cbb56 Add attestation, justificatifs, operation_logs and bill_signatures to dossier export 2020-12-16 16:34:31 +01:00
simon lehericey
ef11190cda wording to be consistent with the other entries 2020-12-16 15:00:26 +01:00
simon lehericey
d760402393 fix typo 2020-12-16 15:00:26 +01:00
simon lehericey
996180bf24 add folder icon to dossier 2020-12-16 15:00:26 +01:00
simon lehericey
57bff8ca70 improve deletion mail 2020-12-16 15:00:26 +01:00
kara Diaby
c7643154d1 final optims after sim review 2020-12-16 15:00:26 +01:00
kara Diaby
f3c4040d2d add grace period to deleted dossiers 2020-12-16 15:00:26 +01:00
simon lehericey
d2f3bb18f9 instructeur can delete a dossier UI 2020-12-16 15:00:26 +01:00
kara Diaby
00b5ad7a10 EQT instructeur, je peux supprimer un dossier terminé 2020-12-16 15:00:26 +01:00
Paul Chavard
43976550cf GraphQL: make parts of address nullable 2020-12-15 17:57:37 +01:00
Christophe Robillard
3428c58b9e extract password complexity validator
for user and superadmin
2020-12-15 16:26:09 +01:00
Christophe Robillard
15a395fbc7 superadmin: check complexity password server side 2020-12-15 16:26:09 +01:00
Christophe Robillard
94b3ec942b super_admin: check password complexity client side 2020-12-15 16:26:09 +01:00
Fabrice Gangler
3a9f82bd6f Fix(form /contact-admin): use APPLICATION_NAME
Refs: #5799
2020-12-15 16:14:51 +01:00
Fabrice Gangler
107ad1d28e Fix(form add/edit a service): use APPLICATION_NAME
Refs: #5797
2020-12-14 14:26:09 +01:00
simon lehericey
a941626d45 factorize read_attachment 2020-12-14 14:09:15 +01:00
simon lehericey
38a5847ca4 rewind io before reading to allow multiple read 2020-12-14 14:09:15 +01:00
Fabrice Gangler
064ea776c7 allow default logo of a procedure to be configured in .env file
Refs: #5795
2020-12-14 13:41:10 +01:00
simon lehericey
5a9cd71783 fix bill signature 2020-12-11 15:49:05 +01:00
Paul Chavard
075ee9dcde Fix cadastres layer 2020-12-11 14:47:50 +01:00
Paul Chavard
fed300bfe1 Fix and test ActiveStorage::IntegrityError on upload 2020-12-11 10:30:17 +01:00
Paul Chavard
65d650eba6 Better graphql mutation error messages 2020-12-10 18:35:24 +01:00
kara Diaby
f748ccfc9e Appelle l'API entreprise avec le token en Header 2020-12-10 17:49:49 +01:00
Paul Chavard
3c6e30a326 Show titre identite link only once watermark is added 2020-12-10 16:50:03 +01:00
Paul Chavard
48e7822e34 Remove titres identite after a dossier is processed 2020-12-10 15:21:25 +01:00
Paul Chavard
5c07882679
Merge pull request #5768 from adullact/5764_allow_images_to_be_configured
#5764 - Allow logos (mail, webapp) and favicons to be configured in .env file
2020-12-10 12:54:55 +01:00
Paul Chavard
1af0d30d94 Use new optional layers in maps module 2020-12-10 11:26:16 +01:00
Paul Chavard
eaa9b1c071 Expose all optional layers in TypeDeChamp editor 2020-12-10 11:26:16 +01:00
Paul Chavard
cad8ee31d8 Remove legacy geo sources 2020-12-10 11:26:16 +01:00
Christophe Robillard
23ae528c6b affiche Madame ou Monsieur
mais continue à enregistrer en base Mme ou M.
2020-12-08 21:30:54 +01:00
Christophe Robillard
2066e3db87 rend plus compréhensible la civilité 2020-12-08 18:31:38 +01:00
Christophe Robillard
30b9d603bd presente la civilite par ordre alphabétique 2020-12-08 17:29:07 +01:00
clemkeirua
513d4f6ff1 move all the cron jobs in a dedicated directory 2020-12-08 13:22:43 +00:00
Christophe Robillard
ddd50993a5 cache pays 2020-12-08 13:09:08 +00:00
Christophe Robillard
a8ed9ef172 remove dead code 2020-12-08 13:09:08 +00:00
Christophe Robillard
12d1a5bece implement ComboPaysSearch 2020-12-08 13:09:08 +00:00
Paul Chavard
43b6f198d5 Adapt 2FA issuer for local and staging environements 2020-12-08 12:55:28 +00:00
simon lehericey
b187244a29 extract and refactor api errors 2020-12-04 17:07:30 +01:00
simon lehericey
46c355beb2 Add comments 2020-12-03 11:52:01 +01:00
simon lehericey
f56235c7ee retry exponentially on api entreprise timeout 2020-12-03 11:52:01 +01:00
simon lehericey
78a40b5176 Increase api_entreprise_timeout 2020-12-03 10:26:05 +01:00
simon lehericey
9eab310565 [#5675] for all api entreprise job, retry on 502, 503 2020-12-02 18:25:31 +01:00
simon lehericey
02e7de0003 more details when Typhoeus request fails 2020-12-02 18:25:31 +01:00
Christophe Robillard
2a5086f7df indique depuis quand il y a des nouveautés 2020-12-02 18:06:37 +01:00
Christophe Robillard
5ffe0f618f rend plus compréhensible le mail quotidien des nouveautés 2020-12-02 17:26:44 +01:00
Fabrice Gangler
0d80d2ddd1 allow logos (mail, webapp) and favicons to be configured in .env file
Refs: #5764
2020-11-27 01:41:47 +01:00
Paul Chavard
18dfacb933 Make watermark configurable 2020-11-25 16:19:06 +01:00
Paul Chavard
b48e7813d2 Put watermark code behind a feature flag 2020-11-25 16:19:06 +01:00
Paul Chavard
371179dc5b Watermark titres identite 2020-11-25 16:19:06 +01:00
Paul Chavard
00ef56db10 [GraphQL] fix attachment upload
- `identify` will return `true` sometime
2020-11-25 10:46:20 +01:00
Christophe Robillard
6f3bf48d30 add specific totp label for dev env 2020-11-17 15:33:13 +00:00
kara Diaby
d9dea779ea Remove foreign key dossier on dossier operations logs 2020-11-17 16:02:53 +01:00
Paul Chavard
b897e0cc1c [GraphQL] add better errors when attachments are not properly used 2020-11-17 12:40:14 +01:00
Christophe Robillard
f368255f91 fix saml entity id 2020-11-16 15:01:16 +01:00
Christophe Robillard
d91e9b372f add sendinblue login link to manager 2020-11-16 12:19:54 +01:00
Christophe Robillard
9347951cea act as an saml identity provider 2020-11-16 12:19:54 +01:00
Paul Chavard
e74c32446e Fix champ->type_de_champ n+1 2020-11-12 15:48:31 +01:00
kara Diaby
06f6cf7771 add new columns to deleted dossiers 2020-11-12 12:18:59 +01:00
clemkeirua
dae65c49f6 revert counters display
in Instructeur::ProceduresController::show, we recently used a grouped query for counters

for some reason, this grouped query in procedure#dossiers_count_for_instructeur
gives incorrect results.
I keep this method as is for now (instructeurs are complaining) and hotfix the controllers
2020-11-12 08:15:00 +00:00
clemkeirua
64c964bf5e fix broken nil values in france_connect_informatio 2020-11-11 15:40:44 +01:00
kara Diaby
bc0f77978f add an api token verification for api entreprise 2020-11-09 16:58:24 +01:00
Paul Chavard
20cdefad63 GraphQL: bump timeout to 10 sec 2020-11-06 12:00:00 +01:00
kara Diaby
c033ef0910 Ajoute a l'information de connexion France Connect dans les informations du dossier ainsi que sur la demande usager 2020-11-05 19:30:13 +01:00
kara Diaby
4b2e3b5be7 Revert "Merge pull request #5710 from betagouv/revert-5705-feat/5701"
This reverts commit aae77c77b0, reversing
changes made to 4c2c5c630c.
2020-11-05 19:30:13 +01:00
Christophe Robillard
0e43b5e5c0 fix refacto super_admin 2020-11-05 17:51:38 +01:00
Christophe Robillard
5562e65bf3 refacto: rename administration to super_admin 2020-11-05 16:03:55 +01:00
Christophe Robillard
a88172eb01 configure otp_secret_key secret 2020-11-05 16:03:55 +01:00
Christophe Robillard
efd8ec85e8 recover superadmin password or reset otp 2020-11-05 16:03:55 +01:00
Christophe Robillard
8d23f6ae99 remove useless redirection for manager sign_in and out
The manager alias for signin causes layout problems
2020-11-05 16:03:55 +01:00
Christophe Robillard
2a0ebd062a enable 2FA for manager
when trying to access manager, if superadmin did'nt enable otp, he/she is redirected to a page to enable 2FA. When superadmin is enabling 2FA, he has to to scan a qrcode with the 2FA application client. And afterwards, the superadmin has to log in with email, password and OTP code.
2020-11-05 16:03:55 +01:00
Christophe Robillard
305ccdc0cd add recoverable and two_factor stragegy for administration 2020-11-05 16:03:55 +01:00
Christophe Robillard
6c2eb22960 remove github authentication for manager 2020-11-05 16:03:55 +01:00
clemkeirua
30dfe7fbd0 fix a_suivre 2020-11-04 11:07:53 +01:00
Kara Diaby
f78e0ced3a
Revert "feat 5701 - Ajoute l'information lorsqu'un usager s'authentifie via France Connect" 2020-10-30 18:28:08 +01:00
kara Diaby
e6c1a20329 Ajoute l'information lorsqu'un usager s'authentifie via France Connect 2020-10-30 17:28:54 +01:00
simon lehericey
d82d1132c2 Remove rack_mini_profiler from prod as it could show env var and force us to allow unsafe_eval and script in csp 2020-10-30 17:08:31 +01:00
kara Diaby
7d157eac12 Modifie la description dans le champ titre identité 2020-10-30 14:17:09 +01:00
simon lehericey
c563956a9f retry each day during 5 days to fetch attestation social 2020-10-28 15:53:58 +00:00
clemkeirua
89316c0689 fix counter for dossiers suivis/à suivre when unfollow 2020-10-28 13:51:35 +00:00
clemkeirua
640984f9b6 moins de count dans Instructeurs::ProceduresController#show
exploitation de dossiers_count_for_instructeur dans Instructeurs::ProceduresController#showpour sortir les chiffres facilement
2020-10-28 13:51:35 +00:00
clemkeirua
b4910c557d ajout de procedure.dossiers_count_for_instructeur 2020-10-28 13:51:35 +00:00
clemkeirua
5d7680150b cache encours/termine has notifications 2020-10-28 13:51:35 +00:00
clemkeirua
e96709a4f8 cache not_archived notification list 2020-10-28 13:51:35 +00:00
clemkeirua
47181ca80b remove assert_matching_procedure 2020-10-28 13:51:35 +00:00
simon lehericey
0f719b4fa2 update dinum logo and shrunk size from 70K to 4K 2020-10-28 12:09:31 +01:00
simon lehericey
42d0ffb977 update marianne logo and shrunk size from 5K to 0.5K 2020-10-28 12:07:44 +01:00
simon lehericey
576a740bb2 do not load an entire italic font for 10 words 2020-10-28 11:55:21 +01:00
simon lehericey
5f74584c6a reduce font size by subsetting and using woff2 (https://www.fontsquirrel.com/tools/webfont-generator) 2020-10-28 11:55:21 +01:00
simon lehericey
3c0c829a29 add dimensions to img tag to avoid reflow, add loading: lazy to avoid blocking 2020-10-28 11:39:10 +01:00
Paul Chavard
618c81b9a6 Mount react components on page updates 2020-10-15 18:46:12 +02:00
Paul Chavard
ca0ba4ba2d replace deprecated react-loadable with suspense 2020-10-15 17:30:49 +02:00
clemkeirua
421e8384af fix blocked user 2020-10-13 17:36:43 +02:00
clemkeirua
2d492226e3 added helscout link for emails 2020-10-13 17:36:43 +02:00
clemkeirua
f298d2c2ba dedicated screen for inspecting user emails 2020-10-13 17:36:43 +02:00
clemkeirua
27b8797296 ajout d'une route /manager/users/:id/emails 2020-10-13 17:36:43 +02:00
clemkeirua
e9c33ecbd0 added meta user info 2020-10-13 17:36:43 +02:00
Paul Chavard
752ee78c49 Use fetch instead of jQuery 2020-10-13 10:55:10 +02:00
Kara Diaby
0bd48999bd
Revert "feat/5635 - Supprime la possibilité pour l'expert invité d'envoyer un message" 2020-10-12 09:24:34 +02:00
Paul Chavard
7c58f06c60 always validate geometries returned from api 2020-10-08 16:03:28 +02:00
Paul Chavard
70bf9ea92f remove unused select2 code 2020-10-08 15:26:15 +02:00
Paul Chavard
653270d02f Update specs 2020-10-08 15:26:15 +02:00
Paul Chavard
8a2f079acb Implement ComboAdresseSearch 2020-10-08 15:26:14 +02:00
Paul Chavard
b6c94a3758 Implement ComboCommunesSearch 2020-10-08 15:26:14 +02:00
Paul Chavard
4217dcd94b Implement ComboDepartementsSearch 2020-10-08 15:26:14 +02:00
Paul Chavard
2c7ee82d31 Implement ComboRegionsSearch 2020-10-08 15:26:14 +02:00
Paul Chavard
1b57d94d93 Use @reach/combobox instead of select2 2020-10-08 15:26:14 +02:00
kara Diaby
6636b7f14c Supprime la possibilité pour l'expert invité d'envoyer un message à l'usager 2020-10-08 11:14:09 +02:00
simon lehericey
185193086b preload fonts for faster rendering
It's a lighthouse recommendation
2020-10-08 09:03:08 +02:00
Paul Chavard
5df7a729e7 Add a wrapper to catch chart rendering before chartkick is loaded 2020-10-07 11:40:07 +02:00
Paul Chavard
d8852c7dc5 Lazily load trix 2020-10-07 11:40:07 +02:00
Paul Chavard
95eb907090 remove unused javascript 2020-10-07 11:39:57 +02:00
clemkeirua
9edab7c851 add missing procedure_id 2020-10-07 11:16:02 +02:00
Christophe Robillard
d572a892df show masked token if token already been defined 2020-10-07 09:02:33 +00:00
Paul Chavard
e9ed3dcb92 Update graphql schema 2020-10-06 21:54:44 +02:00
Paul Chavard
393dc9578d Fix apostrophes 2020-10-06 21:54:43 +02:00
Paul Chavard
0aa06d0197 [GraphQL] expose dossier pdf, geojson and attestation 2020-10-06 21:54:43 +02:00
simon lehericey
4af8bd47ac cache landing data 2020-10-06 16:12:01 +02:00
simon lehericey
ad01d4dee5 really faster stats by precomputing some of them 2020-10-06 16:12:01 +02:00
simon lehericey
f5f363ae99 add 3 counts to @dossiers_states 2020-10-06 16:12:01 +02:00
simon lehericey
e9adcdd7fc add @dossiers_states to compute more dossier count 2020-10-06 16:12:01 +02:00
simon lehericey
6e17eeb635 reduce dossiers count 2020-10-06 16:12:01 +02:00
kara Diaby
75ab403611 fixe le choix du service lorsque la démarche en a déjà un d'affecté 2020-10-06 14:45:48 +02:00
kara Diaby
73399ae072 Fixe le nombre de caractères maximum dans l'url de la démarche (back end) 2020-10-06 14:26:14 +02:00
kara Diaby
c0a517e028 Fixe la longueur de l'url de la démarche 2020-10-05 16:54:10 +02:00
kara Diaby
9207cc5aa5 Ajoute un flag pour qu'un expert ne puisse pas inviter une autre personne à donner son avis sur un dossier 2020-10-02 18:57:29 +02:00
Paul Chavard
59086cc728 Fix geo length computations 2020-10-01 15:09:38 +02:00
Paul Chavard
4dfc1c719f Fix geo areas computations 2020-10-01 15:09:38 +02:00
kara Diaby
57adb90c8f add the possibility for administrator to refuse external review on a specific procedure 2020-10-01 10:55:19 +02:00
clemkeirua
9019a8b380 ensure a dossier_id is set if possible 2020-09-30 16:50:28 +02:00
Paul Chavard
775a677465 GraphQL handle parse errors 2020-09-30 14:18:37 +02:00
clemkeirua
67b8bf4754 smaller font-size for large footers in attestation 2020-09-30 14:05:12 +02:00
Paul Chavard
1bd59c72e5 Include in exports types_de_champ from all revisions 2020-09-30 13:42:38 +02:00
kara Diaby
e174079850 fix send a copy link 2020-09-30 10:03:08 +02:00
clemkeirua
4fc038fe1b use after_create instead of after_save 2020-09-29 18:15:38 +00:00
clemkeirua
d23b1136ad send invite notifications using a hook 2020-09-29 18:15:38 +00:00
clemkeirua
dd7840cdc4 Notify new draft after dossier commit 2020-09-29 18:15:38 +00:00
kara Diaby
2a69e2fbeb fix services choice into a procedure 2020-09-29 19:53:28 +02:00
Keirua
3fa628235e Nettoyage de I18n.transliterate pour les noms de feuilles d'exports
Co-authored-by: LeSim <mail@simon.lehericey.net>
2020-09-29 15:50:19 +00:00
clemkeirua
9714b607aa ensure valid excel worksheet names 2020-09-29 15:50:19 +00:00
Paul Chavard
a55be55c6a Add mandatory * to secondary value 2020-09-29 14:33:27 +00:00
simon lehericey
1eb780b0c9 convert sheet_name to ascii before tuncate to 30 to ensure length < 31 bytes 2020-09-29 14:11:06 +02:00
simon lehericey
29ef5e6785 compute async only after create 2020-09-29 14:00:31 +02:00
simon lehericey
5ed491b958 export are kept for 1 hour 2020-09-29 13:59:57 +02:00
clemkeirua
245e9e59c7 do not run ApiEntreprise jobs on missing etablissements 2020-09-28 17:36:38 +02:00
clemkeirua
bf02238662 fix for missing user_sign_in_count 2020-09-28 15:55:18 +02:00
clemkeirua
560e1fc4fe tag.span instead of content_tag 2020-09-25 12:53:11 +00:00
clemkeirua
2cb3b1c68e more idiomatic count 2020-09-25 12:53:11 +00:00
clemkeirua
f7ebbdc7c2 use match if possible 2020-09-25 12:53:11 +00:00
clemkeirua
9b324614b8 transform_values instead of map+to_h 2020-09-25 12:53:11 +00:00
clemkeirua
eb46cc6425 piecejusticative file validation focus on size 2020-09-25 09:35:16 +00:00
clemkeirua
c155de1d7e ajout de la liste des extensions 2020-09-25 09:35:16 +00:00
clemkeirua
31d48c2879 validation is enableed only for 'new' procedures 2020-09-25 09:35:16 +00:00
clemkeirua
0d88674cea better translations 2020-09-25 09:35:16 +00:00
clemkeirua
8711e8f911 reenable validator on piece_justificative 2020-09-25 09:35:16 +00:00
clemkeirua
d617a4b252 create export after commiting the export object 2020-09-24 18:56:22 +00:00
clemkeirua
c19b653581 higher level length sanitization for worksheet length 2020-09-24 14:59:46 +02:00
Paul Chavard
a49c962ab3 Redirect demandes to DEMANDE_INSCRIPTION_ADMIN_PAGE_URL 2020-09-24 09:57:43 +02:00
Paul Chavard
26a6e18cb9 Do not crash when rgeo can’t calculate polygon area
example are “hourglass” shaped polygons
2020-09-23 16:52:08 +02:00
Paul Chavard
61c315b276 Fix geo area point coordinates display 2020-09-23 16:52:08 +02:00
Paul Chavard
ea4bcf59ad remove demandes/new page 2020-09-23 16:27:17 +02:00
kara Diaby
cb4e91c405 Add iban type de champ 2020-09-23 15:56:26 +02:00
Paul Chavard
dea78c49f6 Run jobs in named queues 2020-09-23 08:22:17 +02:00
Paul Chavard
973973ab6a Do not enqueue web hooks for empty urls 2020-09-22 17:03:19 +02:00
Christophe Robillard
6fd0134b6d convert to es6 classes 2020-09-22 16:09:15 +02:00
Christophe Robillard
8baaee8810 load expanded buttons only for contact form 2020-09-22 16:09:15 +02:00
Christophe Robillard
5bd4644c2c fix js lint errors 2020-09-22 16:09:15 +02:00
Christophe Robillard
9be015752a set input value for question type of contact page 2020-09-22 16:09:15 +02:00
Christophe Robillard
df9a15a224 expand buttons for contact page 2020-09-22 16:09:15 +02:00
Christophe Robillard
61ea73580f use buttons instead of select for contact page 2020-09-22 16:09:15 +02:00
Paul Chavard
c9f2224991 Remove ignored_columns from type_de_champ 2020-09-22 11:28:48 +02:00
Paul Chavard
3d3d0259a0 Remove TypeDeChamp.to_stable_id 2020-09-22 11:28:48 +02:00
Paul Chavard
a3f3b8a8e0 procedure.dossiers through revisions 2020-09-22 10:55:17 +02:00
Paul Chavard
061a743759 [GraphQL] Add archiver mutation 2020-09-22 08:34:38 +00:00
Paul Chavard
a911a71db9 Log dossier archiver/desarchiver operations 2020-09-22 08:34:38 +00:00
clemkeirua
7ba8ab9e6a maj du schema json 2020-09-22 10:14:55 +02:00
clemkeirua
412a87e532 add fix for nil values on numeroVoie and typeVoie 2020-09-22 09:43:44 +02:00
clemkeirua
1173f1e459 add default values when nil 2020-09-22 09:43:44 +02:00
Paul Chavard
512cdeb6ff normalize features on import 2020-09-22 09:12:55 +02:00
Paul Chavard
50c0955465 Avoid an error if area can’t be computed 2020-09-22 09:12:55 +02:00
clemkeirua
111f309c7f changement de l'adresse de création de compte administrateur 2020-09-21 17:02:37 +02:00
simon lehericey
95cd176bf2 bump administrate 2020-09-21 11:15:25 +02:00
clemkeirua
f9c4e967d6 remove :autosave_dossier_draft 2020-09-21 08:46:01 +00:00
clemkeirua
f96377d878 refactor Dossier#with_notifications 2020-09-21 08:28:42 +00:00
clemkeirua
d01a53eb72 remove :cached_notifications gate 2020-09-21 08:28:42 +00:00
kara Diaby
5c68d75107 add titre_identite champ 2020-09-18 14:57:08 +02:00
clemkeirua
1e32a3c11f add complexity check to admin account creation 2020-09-18 11:16:34 +02:00
clemkeirua
5a8fbde0e7 remove dead code in admin model 2020-09-18 11:16:34 +02:00
clemkeirua
14e1f8d06c more accurate naming in AdministrationMailer#invite_admin 2020-09-18 11:16:34 +02:00
clemkeirua
de3118bc7b force password reset on admin promotion or creation 2020-09-17 16:39:13 +02:00
clemkeirua
0307beecd6 Revert "Merge pull request #5576 from tchak/soft-delete-users"
This reverts commit bf0d3914ce, reversing
changes made to 503527459e.
2020-09-17 15:39:16 +02:00
clemkeirua
08d0fa80fa remove old route 2020-09-17 14:03:31 +02:00
Paul Chavard
a0dd3604a4 User discard_and_anonymize! 2020-09-17 11:16:56 +02:00
Paul Chavard
337b20661a Add discared_at to users 2020-09-17 11:16:56 +02:00
clemkeirua
6643b598c3 remove :administrateur_graphql 2020-09-17 09:24:50 +02:00
clemkeirua
4a760287d4 make xray available in development only 2020-09-17 09:24:50 +02:00
clemkeirua
2c418f63a8 remove :team_on_strike 2020-09-17 09:24:50 +02:00
clemkeirua
01ac4d7e19 remove operation_log_serialize_subject 2020-09-17 09:24:50 +02:00
kara Diaby
13e4589905 Publications page to the new UI (admin) 2020-09-16 09:15:44 +02:00
Christophe Robillard
4b86586ca0 add aria-disclosure for all dropdown buttons 2020-09-15 18:12:26 +02:00
Christophe Robillard
5158b73e86 add alt info for 'Mon compte' image 2020-09-15 18:12:26 +02:00
Christophe Robillard
51c4001a1a add aria-disclosure for Mon compte button 2020-09-15 18:12:26 +02:00
Paul Chavard
bbcdff0ccf Use IGN plan v2 and add MNHN data sources 2020-09-15 14:39:02 +02:00
kara Diaby
f1445c3e51 Remove contactez nous from administration page and put Faq instead 2020-09-11 11:58:31 +02:00
simon lehericey
9bd4c11d52 Use render collection to speed up render 2020-09-11 09:43:04 +00:00
simon lehericey
b124579681 cache procedure_ids_with_notifications to avoid seeking the AR cache by going through the stack 2020-09-11 09:43:04 +00:00
simon lehericey
e4de522b48 only retrieve id of procedures with notifications 2020-09-11 09:43:04 +00:00
simon lehericey
d9c7051a00 Avoid superfluous count 2020-09-11 09:43:04 +00:00
simon lehericey
63ea2045a7 Improve admin query on landing 2020-09-11 09:46:54 +02:00
clemkeirua
47fd8f48cb replace tabs with 2 spaces in attestation PDF, instead of one 2020-09-09 07:18:58 +00:00
clemkeirua
19c1043b94 replace tabs with spaces in attestation 2020-09-09 07:18:58 +00:00
clemkeirua
3697c610b6 make polynesia mobile phone number valid 2020-09-09 09:00:07 +02:00
simon lehericey
5459c2fa7f Fix uninitialized excon constant 2020-09-08 18:36:24 +02:00
clemkeirua
c7b96d3d43 add feature-flip for instructeurs on cached notifications 2020-09-08 15:40:42 +00:00
clemkeirua
52ea5ef89a make Dossier#with_notifications great again
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-09-08 15:40:42 +00:00
simon lehericey
19d73f13f0 variabilize banner message 2020-09-08 14:52:42 +02:00
Paul Chavard
91bc2db594 Expose revisions on GraphQL API 2020-09-08 10:54:13 +02:00
clemkeirua
61cf33e3ca remove duplicate private champ 2020-09-04 15:40:23 +02:00
Paul Chavard
6d4425885d Fix champ order joins sql error 2020-09-03 18:32:43 +02:00
Paul Chavard
11a1e44fbe Remove procedure_id from type_de_champ 2020-09-03 15:23:58 +02:00
Paul Chavard
d1de1587d3 Always serialize type_de_champ stable_id as id 2020-09-03 15:23:58 +02:00
Pierre de La Morinerie
e033ec3404 js: ignore missing DOM element on ProgressBar
Currently ProgressBar is used to monitor upload progress of attachments.

But there's two cases where the associated DOM element may be removed:

- In the champs editor, when the list scrolls, DOM elements are removed
and added dynamically by React;
- In the user form, the user might start an upload on a repetition, and
then remove the associated row during the download.

In both those cases, we don't want the missing DOM element to trigger
an error.
2020-09-03 15:03:13 +02:00
kara Diaby
ae61c279af migrate emails text editor to new interface 2020-09-03 14:42:22 +02:00
Pierre de La Morinerie
292dc84eb4 jobs: ignore deleted file in Virus Scan
We have errors in production where the job starts correctly (i.e. the
blob exists), but `blob.open` fails with a `ActiveStorage::FileNotFound`
error.

When checking later in production, the blob has been deleted.

This points to the blob (and the file) being deleted during the virus
scan job.

In that case, ignore the error (rather than retrying the job).
2020-09-03 11:00:59 +02:00
simon lehericey
49aa426d1b application job swallow BadRequest error and retry 2020-09-02 16:59:54 +02:00
Paul Chavard
5ceae8235b Ignore type_de_champ procedure_id 2020-09-02 11:26:26 +02:00
Paul Chavard
ec72fdd164 Remove migration service 2020-09-02 11:26:26 +02:00
Pierre de La Morinerie
d5a2fc0788 views: fix Safari stretching logos in admin procedures list 2020-09-01 18:09:32 +02:00
Pierre de La Morinerie
ae1f14a3f9 views: reduce nested flex containers in admin procedures list
We can achieve the same layout with fewer nested flex containers.
2020-09-01 18:09:32 +02:00
kara Diaby
1788471664 carto hack : traduce edition buttons in french 2020-09-01 17:41:20 +02:00
Judith
25a24ba7c8 removal of translation keys already present in the gem rails-i18n 2020-09-01 16:33:58 +02:00
Fabrice Gangler
1a43f888fb Feat: allow to disable France-Connect
Refs: #5440
2020-09-01 15:51:10 +02:00
Fabrice Gangler
f2c4378596 fix: use APPLICATION_NAME in view/users/sessions/new
Refs: #5462
2020-09-01 15:18:29 +02:00
Judith
7bc5a0a278 internationalization of /contact-admin 2020-09-01 12:58:19 +00:00
Fabrice Gangler
bfb28e5a2b Fix(mailers/_signature): use APPLICATION_NAME
Refs: #5456
2020-08-28 03:44:46 +02:00
Judith
af25fdd77c gem http_accept_language installed and (de)activable with feature flag 2020-08-27 16:15:01 +02:00
Pierre de La Morinerie
0800bf68d0 views: allow unselecting all values from a multiple dropdown
Currently, deselecting all values from a multiple dropdown rendered as
checkboxes doesn't have any effect when submitting the form (the
previous values are still there, instead of being deselected).

This is because unchecked checkboxes are not sent by the browser – so
the "empty selection" never gets sent.

Rails `form.check_box` usually works around this by inserting an empty
hidden checkbox element, that will be sent even if all others are
de-selected. But the documentation warns that this is not possible when
iterating over an array (rather than a model). Which is our case here.

To fix this, this commit uses `collection_check_boxes` instead. It will
insert the proper hidden checkboxes in all cases, and fix our use case.

See https://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_check_boxes
2020-08-27 11:13:40 +02:00
Judith
2f0953692c Internationalization of the Contact page in FR and EN 2020-08-27 11:03:34 +02:00
Pierre de La Morinerie
3fdecf0924 helpers: remove element immediately when no timeout is specified
This fixes an issue where clicking quickly on several "Remove row"
buttons on a repetition field results in autosave errors.

This is because the N+1 autosave request is correctly sent after the
Nth response from the server, but _before_ the row element is actually
removed from the DOM. So the N+1 request actually sends the fields for
the deleted row, which makes the server raise an error.

With this fix, the row gets properly removed when the server responds,
and before the next request is started.
2020-08-25 15:45:49 +02:00
Pierre de La Morinerie
ecc4f01c20 autosave: trigger an autosave after removing a row 2020-08-25 15:45:49 +02:00
Pierre de La Morinerie
96037069ff autosave: remove the repetition row after deletion
Before, when autosaving a draft, removing a repetition row would
send `_destroy` inputs to the controller – but not remove the row
from the DOM. This led to the `_destroy` inputs being sent again
on the next autosave request, which made the controller raise
(because the row fields were already deleted before).

To fix this, we let the controller response remove the deleted
row(s) from the DOM.

Doing it using a controller response avoids the need to keep track
of operations on the Javascript side: the controller can easily
know which row was just deleted, and emit the relevant changes for
the DOM. This keeps the autosave requests robust: even if a request
is skipped (e.g. because of a network interruption), the next request
will still contain the relevant informations to succeed, and not let the
form in an unstable state.

Fix #5470
2020-08-25 14:39:34 +02:00
Pierre de La Morinerie
e157a289e1 autosave: factorize some javascript code 2020-08-25 14:39:34 +02:00
Pierre de La Morinerie
3c91cfc83c jobs: add health-related keywords to dubious procedures scanner
We are not certified for hosting health-related data yet.
2020-08-25 12:04:10 +00:00
Pierre de La Morinerie
4bba1f0660 views: add a "None" option to optional radio lists
After clicking on a radio button option, it is impossible to revert to
the "None of the values selected" state.

However on non-mandatory fields, reverting to the no-selection value
should be possible.

To fix this, add an explicit "N/A" option.
2020-08-25 11:42:30 +02:00
Pierre de La Morinerie
50f61ee37b views: remove "Select a value" text on radio lists
This text:

- Isn't present on other form controls
- Should only be displayed if the field is mandatory anyway
2020-08-25 11:42:30 +02:00
Christophe Robillard
abe62398b6 very light client-side validation for phone 2020-08-20 15:33:03 +02:00
Christophe Robillard
090a247ba9 validates phone champ server side 2020-08-20 15:33:03 +02:00
Christophe Robillard
f77cc06a91 prend en compte le nom de l'enseigne pour l'établissement 2020-08-20 14:23:02 +02:00
Judith
74cff31876 autofocus on 'input: password' removed according to accessibility audit requirements. No change noticed 2020-08-19 14:35:34 +00:00
Judith
206646f765 date champs: adding a placeholder for IE and Safari (which do not support the input type date) 2020-08-19 14:10:58 +00:00
Pierre de La Morinerie
a7361fdbd3 models: require belong_to associations on mail templates 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
29e8c43e5e models: require belong_to associations on groupe_instructeur 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
5a7bd24fba models: require belong_to associations on type_de_champ
- Make `type_de_champ.procedure` a requirement;
- Move the procedure_id assignation to `before_validation` (otherwise
the record is invalid, and never gets saved);
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
6328011f60 models: require belong_to associations on champ
- Make `champ.dossier` a requirement;
- Move the dossier_id assignation to `before_validation` (otherwise
the record is invalid, and never gets saved);
- Allow specs to only build the champ (instead of saving it to the
database), which bypasses the requirement to have a dossier.
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
eb22dc9d8f models: require belong_to associations on module_api_carto 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
71d9774d58 models: require belong_to associations on trusted_device_token 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
d807700c7b models: require belong_to associations on traitement 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
059c147ffc models: require belong_to associations on service 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
ce53e219e0 models: require belong_to associations on procedure_presentation
Some tests are still failing
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
802d3804f5 models: require belong_to associations on invite 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
fe8804f208 models: require belong_to associations on individual 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
afb1c33154 models: require belong_to associations on geo_area 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
aff2713032 models: require belong_to associations on follow 2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
91619b16e8 models: require belong_to associations on feedback 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
79fcf5e814 models: require belong_to associations on exercice 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
51d392a1dc models: require belong_to associations on dossier 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
01248022bf models: require belong_to associations on deleted_dossier 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
dd1bed9340 models: require belong_to associations on commentaire 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
32e55a6d37 models: require belong_to associations on avis 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
aefdd5d2a1 models: require belong_to associations on attestation_template 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
1ea4c2aa36 models: require belong_to associations on attestation 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
c1e2928ce7 models: require belong_to associations on assign_to 2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
11456109c0 models: explicitly mark optional belongs_to relationship as so
This prepares making the `belongs_to` relationship required by default.
2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
7d4c748432 services: make etablissement save raise on error
Before, if saving the etablissement failed, the error would be ignored silently.
2020-08-18 14:56:40 +02:00
Pierre de La Morinerie
c01d640997 models: return procedure revisions in deterministic order
Fixes a randomly-failing spec in spec/models/procedure_revision_spec.rb.
2020-08-13 17:27:37 +02:00
Judith
c27b2da90b datetime type de champ: changed the years range from [1950;2100] to [to current year - 1;
current year + 50] (or [entered_date; current_year + 50] if old date already entered) because:
The type_de_champ Datetime is used for close future dates and very close past dates (for accident declaration for ex.)
The select currently has a range from 1950 to 2100, so 70+ years not supposed to be used, leading to:
- many bad data entered (0000 or 1950 to not scroll)
- making it difficult for users to give the proper date (current date is lost in the middle of 149 others) so risk to be lazy and select a random one or genuinely make a mistake
2020-08-13 13:41:45 +00:00
Christophe Robillard
f2dcb61521 transform job in task for set dossiers_last_updated_at 2020-08-12 16:10:15 +02:00
Pierre de La Morinerie
2892fdbeef models: remove columns that have been deleted from db schema
These columns are gone, so we can't stop ignoring them.
2020-08-12 12:06:58 +02:00
Pierre de La Morinerie
6d28069539 models: generate annotations 2020-08-12 11:45:53 +02:00
Christophe Robillard
eea5fd66ad corrige mise en forme commentaire 2020-08-10 17:36:23 +02:00
Christophe Robillard
0b35619322 skip verify authenticity token for helpscout
Co-authored-by: LeSim <mail@simon.lehericey.net>
2020-08-10 17:19:22 +02:00
kara Diaby
9b66c894b2 Adapt configuration email view to the new UI 2020-08-06 16:56:24 +02:00
Fabrice Gangler
cf7a4437e5 Fix syntax for using APPLICATION_NAME in mailers/layout
Refs: #5453
2020-08-06 12:45:19 +02:00
Pierre de La Morinerie
54a4db1c47 config: flip config.active_storage.queues
ActiveStorage jobs are now moved to their own queue.

For consistency, we also move our own analysis jobs (VirusScannerJob)
on the same `:active_storage_analysis` queue.
2020-08-05 16:48:36 +02:00
Pierre de La Morinerie
7708dbbc71 views: explicitely marks form_with as non-remote forms
Starting from Rails 5.1, `form_with` behavior is to generate remote
forms by default.

However with Turbolinks disabled, the form gets sent, but nothing is set
up to handle the server response (like replacing the content of the
page).

So we have two choices: either enable a global config option that makes
`form_with` generate non-remote forms, or do it explicitely on each
form. I chose the explicit way, so that developers expecting the usual
remote behavior of `form_with` are not surprised.
2020-08-05 13:02:56 +02:00
Pierre de La Morinerie
8962db38cc models: render attestations in a simpler way
The older method of instanciating an entire new rendering stack can be
made simpler using Rails >= 5.0 methods.

See https://api.rubyonrails.org/classes/ActionController/Renderer.html#method-i-render
2020-08-04 16:53:46 +02:00
clemkeirua
21221a7c49 fix missing alt 2020-08-04 13:41:10 +00:00
clemkeirua
101acafb65 fix hidden label 2020-08-04 13:41:10 +00:00
clemkeirua
cc9341a83c fix missing header for account creation 2020-08-04 13:41:10 +00:00
kara Diaby
c983622805 fix attestation template boolean on procedure detail page (new admin interface) 2020-08-04 10:56:48 +02:00
Kara Diaby
4afc07c677
Merge pull request #5403 from tchak/add-carte-ign
Add carte ign
2020-08-03 11:04:32 +02:00
jpoulvel
bf94cc021b
Merge pull request #5424 from betagouv/new_design_edit_attestation
New design page admin/attestation_templates/edit
2020-07-31 11:18:22 +02:00
Paul Chavard
4c87e547b3 Put IGN map behind a feature flag 2020-07-30 17:22:28 +02:00
Paul Chavard
f1cbc9846e Add carte ign 2020-07-30 16:58:20 +02:00
kara Diaby
db3e40ebf8 Fixe la non possibilité de cloner une démarche pour une procédure archivée (nouvelle interface administrateur) 2020-07-30 12:00:43 +02:00
clemkeirua
952a43058f last_commentaire_updated_at does not take system email into account 2020-07-30 11:52:41 +02:00
Keirua
808e2fb53f
Merge pull request #5426 from betagouv/5288-optim-instructeur-dashboard
5288 optim instructeur dashboard
2020-07-30 10:42:48 +02:00
Keirua
b3e98048f9
Merge pull request #5418 from betagouv/mise-en-avant-france-connect
#5428 - France connect avant les boutons de login/signup
2020-07-30 10:32:12 +02:00
clemkeirua
153c6aebd7 add temp job to set last_updated_at_* values for dossier
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-07-30 10:31:14 +02:00
Christophe Robillard
03e3e8fb1c rename Dossier#modifier_annotations!
give a more accurate name to the method

Co-authored-by: clemkeirua <clement@keiruaprod.fr>
2020-07-30 10:18:44 +02:00
clemkeirua
c772c3454c update dossier after saving champ
update last_champ_updated_at without hook
update last_champ_private_updated_at without hook

Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-07-30 10:18:44 +02:00
Christophe Robillard
b940d2e1b0 update dossier after saving avis
update last_avis_updated_at without hook

Co-authored-by: clemkeirua <clement@keiruaprod.fr>
2020-07-30 10:18:44 +02:00
clemkeirua
f3a675c3bc update dossier after saving commentaire
update last_commentaire_updated_at without hook

Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-07-30 10:18:44 +02:00
jpoulvel
62e04a6ca9
Merge branch 'dev' into new_design_edit_attestation 2020-07-30 09:53:09 +02:00
krichtof
19e6cfc5ff
Merge pull request #5432 from betagouv/fix_mail_footer
fix footer for mail notifications
2020-07-29 17:49:46 +02:00
Kara Diaby
5894a86bd8
Merge pull request #5423 from betagouv/feat/5402
Feat/5402 - [Admin] new UI for procedures listing
2020-07-29 17:38:49 +02:00
Kara Diaby
db1df32976
Merge pull request #5431 from betagouv/add-procedure-copy-to-admin-interface
fix - Ajoute un bouton envoyer une copie à la nouvelle interface admin
2020-07-29 17:37:54 +02:00
Christophe Robillard
e3fe16462c fix footer for mail notifications 2020-07-29 17:37:33 +02:00
kara Diaby
d73cff2ccb Ajoute un bouton envoyer une copie à la nouvelle interface administrateurs 2020-07-29 17:07:17 +02:00
clemkeirua
c404f92107 graphql: possibility to filter dossiers by archived 2020-07-29 16:59:34 +02:00
kara Diaby
d4c6e501c6 Ajoute la liste des démarches de l'interface administrateur sur la nouvelle UI 2020-07-29 15:35:52 +02:00
Judith
69fbd7903b use of scroll-margins-for-sticky-footer where we have sticky-footers 2020-07-29 15:28:03 +02:00
Judith
84171f4328 .scroll-margins-for-sticky-footer class created for html 2020-07-29 15:19:23 +02:00
Judith
0a5170f8cc new-administateur/attestation_templates views 2020-07-29 13:15:07 +02:00
Judith
b8a49e9012 creation of attachment_upload_helpers and integration in the code 2020-07-29 12:26:27 +02:00
Judith
5df3838173 - tranferred controllers from admin to mew_administrateur
- removed admin/attestation_templates views
- changed routes accordingly
2020-07-29 12:26:27 +02:00
kara Diaby
dddecc6872 fixup! Merge pull request #5400 from betagouv/add-test-for-zip-download 2020-07-29 11:41:36 +02:00
Keirua
347dbe4c87
Merge pull request #5417 from betagouv/cleanup-incident-janvier
Suppression du message d'alerte suite aux problèmes d'upload
2020-07-29 11:00:12 +02:00
Keirua
42c6900139
Merge pull request #5411 from betagouv/toggle-switch-creation
Création d'un toggle-switch
2020-07-29 10:34:19 +02:00
clemkeirua
b8eea05163 ajout de traductions 2020-07-29 09:27:16 +02:00
clemkeirua
c07ce374a8 france connect avant les boutons de login/signup 2020-07-29 09:18:51 +02:00
Paul Chavard
a6eef6fb19 Expose draft_revision types_de_champ to editor 2020-07-28 17:04:06 +02:00
Paul Chavard
1fca481c6e Cleanup after clone 2020-07-28 17:04:06 +02:00
Keirua
29aae2da08
Merge pull request #5404 from betagouv/fix-menu-active-link
instructeurs: fix demarches active link
2020-07-27 15:04:52 +02:00
clemkeirua
de1df85462 suppression du message d'alerte suite aux problèmes d'upload 2020-07-27 10:32:03 +02:00
Judith
9ae6e979d6 after Sim rediew: box-shadow homogenized with the rest of the app, rem changed into px and tabindex removed 2020-07-24 12:33:36 +02:00
LeSim
7f22cc86a9
Merge pull request #5405 from betagouv/set-app-name-as-parameter
Rendre le nom d'application paramètrable
2020-07-24 10:33:54 +02:00
clemkeirua
7e085c657d specific deactivation of rubocop DS/ApplicationName rule 2020-07-23 16:20:16 +02:00
clemkeirua
52548d7646 ajout du nom d'application dans les mailers 2020-07-23 16:17:52 +02:00
clemkeirua
c1208add62 remplacement de demarches-simplifiees.fr par un paramètre dans les vues 2020-07-23 16:16:36 +02:00
Paul Chavard
bb5a90da76 fix active_revision_id -> active_revision.id 2020-07-23 15:07:25 +02:00
Judith
19fa9e3f2e toggle-switch created and added in the patron 2020-07-23 11:22:57 +02:00
Paul Chavard
7d421d471c Fix revision migration job 2020-07-23 09:56:34 +02:00
Paul Chavard
a08e318617 Add implicit_order_column on revisions 2020-07-22 12:25:06 +02:00
Paul Chavard
733b8bd904 Add published revision to all non brouillon procedures 2020-07-22 11:27:49 +02:00
Paul Chavard
87a1661cdc fix prop type error 2020-07-22 11:10:14 +02:00
Paul Chavard
69ab2e44fb Insert type_de_champ with correct initial position 2020-07-22 11:09:51 +02:00
Paul Chavard
3193784c24 Remove unused revision_id from payload 2020-07-22 11:09:06 +02:00
Paul Chavard
ad4dff819e fix type_de_champ controller move param 2020-07-22 11:08:06 +02:00
Christophe Robillard
5950f6c93c fix demarches active link when action of procedures_controller 2020-07-22 10:04:32 +02:00
Paul Chavard
0338080430 Remove unused procedure move type_de_champ code 2020-07-21 19:35:30 +02:00
Paul Chavard
d18a9c8162 Migrate procedures “on demand” 2020-07-21 19:35:30 +02:00
Paul Chavard
0a0912503b Add type_de_champ mutation methods to revision 2020-07-21 19:35:30 +02:00
Paul Chavard
bc09b61684 Add migration service and task 2020-07-21 19:35:30 +02:00
Paul Chavard
9de917592b Add revisions models and relationships 2020-07-21 19:35:30 +02:00
Pierre de La Morinerie
213e325a8a
Merge pull request #5401 from betagouv/fix/5287-champs
Administrateur : indique plus clairement si des champs de formulaire ont été ajouté à la démarche
2020-07-21 18:23:41 +02:00
Keirua
f583b16f92
Merge pull request #5400 from betagouv/add-test-for-zip-download
Ajout d'un test pour le telechargement de zips de dossier
2020-07-21 17:39:39 +02:00
Keirua
b2aa90b729
Merge pull request #5392 from betagouv/fix-CI-accessibility-errors
Fix CI accessibility errors
2020-07-21 17:15:45 +02:00
kara Diaby
3ed7d6605d add counter to admin new interface for procedure detail, on the champ card 2020-07-21 17:01:03 +02:00
clemkeirua
d31b4b6848 ajout d'un test sur le telechargement de zips 2020-07-21 15:45:57 +02:00
krichtof
8c5308b9dc
Merge pull request #5396 from betagouv/5395-relancer-expert
5395 instructeur : relance un expert pour une demande d'avis
2020-07-21 15:02:53 +02:00
Christophe Robillard
7f90bdeec4 only instructeurs of the avis dossier or claimant can revive expert 2020-07-21 13:14:07 +02:00
Christophe Robillard
689a51588f translations for avis list view 2020-07-21 10:46:55 +02:00
Paul Chavard
86f562e7ea Expose repetitions and options on champ_descriptors 2020-07-21 10:37:33 +02:00
Christophe Robillard
d9cb5c067f relance un expert 2020-07-20 16:26:16 +02:00
Christophe Robillard
bde8fe2c5d update wording for revoke 2020-07-20 16:08:35 +02:00
kara Diaby
06b90077d3 some fixes to new admin interface 2020-07-20 15:45:18 +02:00
Keirua
fd8507b531
Merge pull request #5393 from betagouv/zip-with-identical-files
Zip with identical files
2020-07-20 15:35:35 +02:00
clemkeirua
48b96046f1 pad file name with creation date
During zip creation, when 2 files have an identical name it creates a corrupted zip file
Duplicate files can now be downloaded with all the versions, the file names contain a timestamp
2020-07-20 15:33:22 +02:00
clemkeirua
c0cf8b1341 fix display of labels for datetime on screenreaders 2020-07-20 11:37:01 +02:00
clemkeirua
bc34905742 fix heading order by removing useless h4 2020-07-20 11:36:55 +02:00
Christophe Robillard
4476f00be2 fix active link menu for demarches 2020-07-20 11:26:19 +02:00
clemkeirua
def81f9de8 fix zip download for everybody 2020-07-20 11:14:34 +02:00
krichtof
0c95e41c6f
Merge pull request #5386 from betagouv/5138-revoque-avis-expert
[Revoque une demande d'avis à un expert](https://github.com/betagouv/demarches-simplifiees.fr/pull/5386)
2020-07-17 20:42:13 +02:00
Paul Chavard
6dbe2fe165 fix patron drop down list 2020-07-17 12:11:46 +02:00
kara Diaby
5e43559329 fix new admin interface regarding test links and previsualisation 2020-07-17 11:10:54 +02:00
Christophe Robillard
52e8f32e19 expert can only revoke avis claimed by him/her 2020-07-16 21:07:20 +02:00
Christophe Robillard
3ea34834a7 revoke expert avis 2020-07-16 21:05:11 +02:00
clemkeirua
889cdd6874 ajout des annotations privées 2020-07-16 18:13:51 +02:00
Paul Chavard
b628169053 Remove unsused drop_down_list model 2020-07-16 15:29:01 +02:00
kara Diaby
b69bc11ae4 new design for procedure detail (admin) 2020-07-16 10:40:58 +02:00
kara Diaby
9dc542af09 Revert "Revert "Feat/5287 - New design for admin procedure detail""
This reverts commit cf5eb3f251.
2020-07-15 17:00:03 +02:00
krichtof
0c924be222
Merge pull request #5374 from betagouv/3451-revoquer-invite
usager: revoque un invité sur un dossier
2020-07-15 15:46:16 +02:00
clemkeirua
7b9a954473 include procedure in usual_traitement_time 2020-07-15 09:27:23 +00:00
clemkeirua
96e82c75d6 use more idiomatic update 2020-07-15 09:00:12 +00:00
clemkeirua
299c86141c added before_save to PieceJustificativeChamp in order to set skip_pj_validation 2020-07-15 09:00:12 +00:00
clemkeirua
bdbe57debd add skip_pj_validation accessor to TypeDeChamp 2020-07-15 09:00:12 +00:00
Christophe Robillard
8111babdd6 user: revoque un invité sur un dossier 2020-07-14 18:25:31 +02:00
Pierre de La Morinerie
e34f82a6fb mailers: ignore more SMTP errors
Although we already ignore "invalid recipient" errors, a new type
of error recently popped: the mail service responds with
> Net::SMTPServerBusy '400 unexpected recipients: want atleast 1, got 0'

We want to also ignore this kind of errors.
2020-07-13 16:17:55 +02:00
Pierre de La Morinerie
7a67f1a802 jobs: ignore missing blob during virus scan
We currently have many failed VirusScannerJob enqueued, because the
underlying blob is missing.

This PR fixes the issue by discarding the job in those cases (because if
the blob is gone, the job is never going to succeed).

The implementation is based on a similar issue encoutered by the
ActiveStorage::AnalyzeJob. See 06f8baf73c
2020-07-13 14:35:41 +02:00
Kara Diaby
cf5eb3f251
Revert "Feat/5287 - New design for admin procedure detail" 2020-07-13 11:36:42 +02:00
Paul Chavard
cc7e6853e7 Disable usual_traitement_time 2020-07-12 12:32:28 +02:00
kara Diaby
7f3b38cfee Merge admin dashboard to new design for procedure details 2020-07-09 12:18:22 +02:00
Paul Chavard
ef259c361d Fix exception when purge_later is called before save 2020-07-08 19:25:05 +02:00
Paul Chavard
a74e52c828 Call remove_drop_down_list on before_save 2020-07-08 19:25:05 +02:00
Paul Chavard
3c9cc6c070 Remove repetition types_de_champ on type_champ change 2020-07-08 19:25:05 +02:00
Christophe Robillard
2c56511204 validate api_entreprise_token 2020-07-08 18:59:22 +02:00
Christophe Robillard
f38e16e371 avoid n+1 queries 2020-07-08 18:15:15 +02:00
Christophe Robillard
dfc97d8d87 allège l'affichage des décisions rendues 2020-07-08 18:15:15 +02:00
Christophe Robillard
f0e0554da9 display instructeur_email who took decision only if email is present 2020-07-08 18:15:15 +02:00
Christophe Robillard
1253bb5994 store instructeur_email in traitement 2020-07-08 18:15:15 +02:00
Christophe Robillard
9b6c5fd7fd update termine_close_to_expiration with traitement 2020-07-08 18:15:15 +02:00
Christophe Robillard
8f9d6d2871 show which instructeur took decision and when
and also replace "sans suite" by "classé sans suite"
2020-07-08 18:15:15 +02:00
Christophe Robillard
cea170e4a6 update stats with traitement model 2020-07-08 18:15:15 +02:00
Christophe Robillard
0be4b50ade update usual_traitement_time with traitement model 2020-07-08 18:15:15 +02:00
Christophe Robillard
a072d35211 use traitement model
when a dossier is terminated (accepte, refuse or classe_sans_suite),
we store now `processed_at` and `motivation` in a traitement instance
2020-07-08 18:15:15 +02:00
Christophe Robillard
f631acd118 update state date in aasm after callbacks
call aasm event methods, not state methods directly
2020-07-08 18:15:15 +02:00
Christophe Robillard
d20d91bc07 no sentry reporting for api-entreprise 2020-07-08 17:58:33 +02:00
clemkeirua
b440f41cd8 change link from to contact to FAQ on home 2020-07-08 16:22:55 +02:00
Pierre de La Morinerie
cd65dc14dd models: fix ProcedurePresentation#sorted_ids
The `Dossier#with_notifications` scope needs to be composed with an
`instructeurs` scope. But it seems Rails 6 will only generate proper
SQL if the `instructeurs` scope is merged before filtering on
`with_notifications`.
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
4aeb8c392f bill_signature: fix reading unsaved attachments
Since Rails 6, an unsaved attachment_changes can contain either
a Tempfile, or an hash with an :io key.

squash! bill_signature: fix reading unsaved attachments
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
a4ed845e43 models: fix attestation template rendering on Rails 6 2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
b8706757e3 controllers: disable explicit purge of invalid file 2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
35240e2219 lint: fix Rubocop warnings
The Rails/UniqueValidationWithoutIndex rule is disabled for now, but
we'll need to re-enable it (and fix the underlying issues) after the
migration to Rails 6.
2020-07-07 18:03:56 +02:00
Paul Chavard
04feada77e Use respond_to 2020-07-07 18:03:56 +02:00
Paul Chavard
c9ab80c880 WIP 2020-07-07 18:03:56 +02:00
Paul Chavard
6a24c3f812 Rails app:update 2020-07-07 18:03:56 +02:00
Judith
927a3b3efd fix all instructeur procedure_path into instructeur_procedure_path 2020-07-07 17:11:46 +02:00
Judith
060022df78 fix instructeur_mail_notifications 2020-07-07 17:11:46 +02:00
Judith
2adb854bf8 new_from_existing : added new route for 'Consulter' 2020-07-07 14:51:08 +00:00
Judith
9793128f61 'Services' routes moved under 'new_administrateur' scope and '/admn' added in their url 2020-07-07 14:08:01 +00:00
Judith
782706537d Changed the routes to pass all new design admin pages under
'new_administrateur' scope, except 'services'.
As a result, the url of these pages will all include '/admin'.
2020-07-07 14:08:01 +00:00
Pierre de La Morinerie
f5f7a47de3 stylesheet: make the selected tab more visible
Tabs are notoriously hard to notice. Make them stand out more.
2020-07-07 11:02:15 +02:00
Pierre de La Morinerie
c3b648f975 stylesheets: hide summary details marker on procedure summary
Chrome needs a specific syntax, but other browsers use the standard way.

See developer.mozilla.org/fr/docs/Web/HTML/Element/details#Personnaliser_le_marqueur_de_r%C3%A9v%C3%A9lation
2020-07-07 10:20:01 +02:00
Pierre de La Morinerie
b6fbf9bd4b gems: update scss_lint
Fix false-positive on pseudo-elements.
2020-07-07 10:20:01 +02:00
clemkeirua
90efbe66a9 define SHOW_PAGE_ATTRIBUTES for bill dashboard 2020-07-07 08:06:37 +00:00
clemkeirua
d5c955080b fix demandes adapter when no demandes 2020-07-07 09:24:23 +02:00
Pierre de La Morinerie
5f1d38a555 stylesheets: improve procedure synthese badges
- Align with baseline
- More padding
- More margin
- Use constants for colors and margins
2020-07-06 15:11:45 +02:00
Pierre de La Morinerie
975d1648d5 dossier: fix PDF rendering of effectif_mensuel
The effectif_mensuel was a number, it needs to be converted explicitely
into a string.

As a bonus, `nil.to_s` is `""`, so we can remove the special case for
nil.
2020-07-06 11:41:25 +02:00
Pierre de La Morinerie
a810daeb0c stylesheets: fix with of large select elements
Select elements with very long options would overflow the form
width, and create a disgraceful scroller bar on the bottom of the
screen.
2020-07-06 10:55:34 +02:00
clemkeirua
ca74ae5a5e ajout d'une bannière de dépréciation pour IE11 2020-07-06 10:01:02 +02:00
maatinito
1c29e903da pdf dossier: better layout for etablissement fields 2020-07-02 13:53:36 +02:00
Myriam
0f542527fb Instructeur : add overview table with counts for files
- changement du design
- tableau visible seulement si plus d'une procédure
2020-07-02 09:02:49 +00:00
Myriam
a486fe9a2e Instructeur : add overview table with counts for files
nombre total de dossier :
- 'à suivre'
- 'suivi'
- 'traité'
- 'dossier'
- 'archivé'
2020-07-02 09:02:49 +00:00
Pierre de La Morinerie
b8f6545963
Revert "pdf dossier: better layout for etablissement fields" 2020-07-01 15:59:05 +02:00
bors[bot]
b135b5cfb0
Merge #5316
5316: fix missing aria-labels in footer r=Keirua a=Keirua

début du cleanup des exclusions d'accessibilité
(et bon candidat pour tester si bors fonctionne comme prévu)

Co-authored-by: clemkeirua <clement@keiruaprod.fr>
2020-07-01 09:28:02 +00:00
bors[bot]
dbba5644e3
Merge #5319
5319: pdf dossier: better layout for etablissement fields r=Keirua a=maatinito

Dans l'export du dossier PDF, comme je le mettais au couleurs de Polynésie, je me suis rendu compte que c'était moche, principalement parce que la fonction format_in_2_column ne savait pas calculer la hauteur qu'elle prend. 
Donc voilà une petite PR pour améliorer l'affichage de la personne morale, qui s'adapte en fonction de la longueur des textes à afficher, à tester sur une démarche 'Personne Morale'. 
J'aurais bien voulu vous montrer une image du résultat pour accélérer la revue mais je n'ai pas accès à l'API entreprise pour faire une démo sur la branche dev. 

Co-authored-by: maatinito <15379878+maatinito@users.noreply.github.com>
2020-07-01 08:48:44 +00:00
Christophe Robillard
cce1435faf remove precision for currency 2020-07-01 09:28:18 +02:00
maatinito
bc8d88af73 pdf dossier: better layout for etablissement fields 2020-06-30 15:09:38 -10:00
Christophe Robillard
1d86f863d3 rename avis#all to avis#index 2020-06-30 09:17:27 +02:00
Christophe Robillard
bbec76d33b rename avis#index to avis#procedure 2020-06-30 09:17:27 +02:00
Christophe Robillard
8f2b09ae06 fix active_links in header 2020-06-30 09:17:27 +02:00
Christophe Robillard
63dd71aed4 display all avis for an expert 2020-06-30 09:17:27 +02:00
Christophe Robillard
29e2d3d7eb display all avis for a procedure for an expert 2020-06-30 09:17:27 +02:00
Christophe Robillard
c565c9c87b refactor sign_up_instructeur_avis_url 2020-06-30 09:17:27 +02:00
Christophe Robillard
4839506374 refactor instructeur_avis_url 2020-06-30 09:17:27 +02:00
Christophe Robillard
b0cfb2c02a refactor messagerie_instructeur_avis_url 2020-06-30 09:17:27 +02:00
Christophe Robillard
83fba55b29 refactor instruction_instructeur_avis_url 2020-06-30 09:17:27 +02:00
Christophe Robillard
72d27ffdb2 replace instructeur_avis_index url by instructeur_all_avis url 2020-06-30 09:17:27 +02:00
clemkeirua
1072bacb12 fix missing aria-labels in footer 2020-06-29 15:31:14 +02:00
kara Diaby
6b07cc0659 Move admin/assigns to the new UI like groupe_instructeurs 2020-06-29 14:44:28 +02:00
Pierre de La Morinerie
d25e173f11 attachment: disable Delete button during request
Prevent users from clicking the Delete button more than once.
2020-06-29 12:28:53 +00:00
Judith
bbcd432eaa class 'sr-only' transfered to accessibilite.scss 2020-06-29 11:57:48 +00:00
Judith
73ee4d69ca usager/dossiers: the link to the dossier is present:
- in the 'N° de dossier' column for mouse users and screen reader users.
- in the 'Démarche' column for mouse users, screen reader users and keyboard users.
Also added a sr-only class for text which should be read by screen-readers but not visible or accessible to other users
2020-06-29 11:57:48 +00:00
clemkeirua
3a9204af56 rename 'Menu déroulant' in graphql 2020-06-29 08:59:12 +00:00
Pierre de La Morinerie
5949266e89 javascript: silence Crisp warning in Javascript console 2020-06-26 15:57:14 +02:00
Paul Chavard
210389d0f8 Remove admin creation notification email 2020-06-25 16:29:06 +02:00
Paul Chavard
97f91513c8 Store drop_down_list values as jsonb 2020-06-25 13:14:17 +02:00
Pierre de La Morinerie
acc1cb1abd dossier: export PJs from private champs
Fix #5297
2020-06-24 15:42:30 +02:00
Pierre de La Morinerie
6f14e7783f dossier: refactor piece_justificative service 2020-06-24 15:42:30 +02:00
Pierre de La Morinerie
84149218db dossier: refactor piece_justificative export helpers 2020-06-24 15:42:30 +02:00
Pierre de La Morinerie
df13bce0e0 policies: clarify the role of ChampPolicy 2020-06-24 15:42:30 +02:00
Pierre de La Morinerie
812aef978d controllers: rename pundit_user to current_account
It makes epxlicity what is the name of the structure returned by
`pundit_user`: not an actual User, but an `account` structure.
2020-06-24 15:42:30 +02:00
Judith
235a406295 Spectral removed and replaced by Marianne-thin 2020-06-24 13:11:04 +00:00
Judith
b7fe9418fd adapting font size to fit previous size with LiberationSerif 2020-06-24 13:11:04 +00:00
Judith
c3a6f671c8 replaced LiberationSerif regular and bold by Marianne, italic by Spectral-Italic 2020-06-24 13:11:04 +00:00
clemkeirua
6b3631dbfe extract rendering condition 2020-06-24 14:11:58 +02:00
clemkeirua
5c39f22417 seuil d'affichages des checbox/radio à 5 elements 2020-06-24 12:18:56 +02:00
clemkeirua
342129c893 display small multiple selects as checkboxes 2020-06-24 12:18:56 +02:00
clemkeirua
22fc4c4195 display small selects as radio buttons 2020-06-24 12:18:56 +02:00
Christophe Robillard
954d41ce4e fetch effectifs mensuels for may month 2020-06-24 10:23:00 +02:00
clemkeirua
53ecd48be2 set email autocomplete during registration
username is an invalid autocomplete attribute for input type=email, but email is not
2020-06-23 14:58:56 +00:00
clemkeirua
cca84a62ca meilleurs descriptions aria au signup 2020-06-23 14:58:56 +00:00
clemkeirua
58b110b88a invalid image width '-_- 2020-06-23 14:58:56 +00:00
Paul Chavard
34df07bc96 Fix oui/non filter on type_de_champ_private 2020-06-23 11:33:46 +02:00
Pierre de La Morinerie
af5b36ea6a helpers: prevent some texts to be incorrectly detected as links
Users were having issues with texts like:

> Pour info: penser à faire cette action.

where `info:` was detected as being an URI.
2020-06-22 14:42:41 +02:00
simon lehericey
fecad19b91 add maintenance mode 2020-06-22 11:17:22 +02:00
jpoulvel
841758fdcf
Merge branch 'dev' into 5162-fix-help-button 2020-06-18 17:12:58 +02:00
kara Diaby
3dacff19d5 [CARTO] fix the GPX and KML imports in order to manage multiples draw types in the same file 2020-06-18 16:28:46 +02:00
Judith
af60b1dddc help_dropdown_procedure contains now a <button> and not a <div>, which makes it accessible for keyboard navigation 2020-06-18 11:17:39 +02:00
Judith
65d6f12958 added new green for higher contrasts. Previous green remains accessible as old-green 2020-06-16 14:58:28 +00:00
Judith
75b1642c0d changed grey by dark-grey for texts 2020-06-16 14:58:28 +00:00
Judith
76160b48bd _colors.scss: added dark-grey for more contrasted texts 2020-06-16 14:58:28 +00:00
Judith
19e54a73b0 replacing ' with ’ in text 2020-06-16 14:39:27 +00:00
Judith
1b7a4574e8 headers : aria-label in print button 2020-06-16 14:39:27 +00:00
Judith
b02f1e4c34 fixed empty links in contact footer 2020-06-16 14:39:27 +00:00
Judith
ef242649c6 homogenization of the mandatory-explanation 2020-06-16 14:39:27 +00:00
Judith
b88dc6ec72 mandatory_explanation added in the description and changed PJ label_tag to :piece_jointe 2020-06-16 14:39:27 +00:00
Paul Chavard
e89f0846bb Fix job max attempts 2020-06-16 15:57:18 +02:00
jpoulvel
adaf0753b0
Merge branch 'dev' into instruct-filter-yes-no 2020-06-16 14:53:22 +02:00
Christophe Robillard
f8b170836c report to sentry for BadFormatRequest and ResourceNotFound exceptions 2020-06-11 23:09:50 +02:00
Christophe Robillard
b90513f456 no sentry report when error 400 for exercices 2020-06-11 18:16:19 +02:00
Christophe Robillard
f9b1b8217a more verbose exception when RequestFailed for apientreprise occurs 2020-06-11 17:24:45 +02:00
Paul Chavard
c4896b45ad Prepare to remove dossier procedure_id 2020-06-11 16:13:44 +02:00
Christophe Robillard
8b802ae2c8 add destroy dependent option for exports 2020-06-11 12:33:29 +02:00
Christophe Robillard
56ed8dd36a remove useless dependent option 2020-06-11 10:24:04 +02:00
Christophe Robillard
8df9ae3a8d ask only effectifs for april 2020-06-10 17:41:13 +02:00
Paul Chavard
0c16a9b1a6 Remove quartiers_prioritaires and parcelles_agricoles from the geo areas list 2020-06-10 17:26:09 +02:00
Paul Chavard
711a80746d Display geo areas descriptions 2020-06-10 17:26:09 +02:00
Judith
0e75910d58 ajout de human_to_filter 2020-06-10 15:53:09 +02:00
Judith
ad53dfa84d Instructeurs: Changed the filters from 'true/false' to 'oui/non' for yes_no type_de_champ 2020-06-10 15:50:41 +02:00
Paul Chavard
d9f7d10425 Refactor Map Reader|Editor to handle events from geo areas list 2020-06-09 18:45:45 +02:00
Paul Chavard
95d61c85e1 Dispatch events from geo areas list view 2020-06-09 18:45:45 +02:00
Paul Chavard
83baa58aa6 Add editing flag to geo areas list 2020-06-09 18:45:45 +02:00
Paul Chavard
d099314e56 Add decription to geo_area 2020-06-09 18:45:45 +02:00
Christophe Robillard
95cca8e0d5 affiche les chiffres clés des 3 derniers bilans 2020-06-09 17:51:54 +02:00
Christophe Robillard
2fd88e3a17 affiche uniquement l'année pour les bilans 2020-06-09 17:06:08 +02:00
Christophe Robillard
75b24fbad5 suffixe les libellés par ':' 2020-06-09 17:01:03 +02:00
Christophe Robillard
81fa1d0e89 utilise un ordre plus logique pour identite entreprise
homogenise l'affichage des valeurs monétaires
elargit la colonne libellé
2020-06-09 16:59:57 +02:00
Paul Chavard
901b6e23a8 Remove legacy carto 2020-06-04 16:03:23 +02:00
Christophe Robillard
23cc618dda export bilans for avis 2020-06-04 15:31:16 +02:00
Christophe Robillard
cf9d6ccf34 export bilans in ods and xlsx 2020-06-04 15:31:16 +02:00
clemkeirua
f101658d1a add a h1 title to the page 2020-06-04 13:16:44 +00:00
clemkeirua
571875e0f3 replace invalid h3 2020-06-04 13:16:44 +00:00
clemkeirua
e6efddd886 remove redundant links 2020-06-04 13:02:35 +00:00
clemkeirua
abe0e321ac include the libelle with the redirection link 2020-06-04 13:02:35 +00:00
clemkeirua
32dd76dd77 clarification des éléments de création de compte 2020-06-04 12:34:19 +00:00
Christophe Robillard
75a268aed6 show some info from bilans 2020-06-04 12:33:33 +02:00
Christophe Robillard
6535324ae9 ask effectifs only for 2020/02 2020-06-04 09:18:01 +02:00
Christophe Robillard
d06867822b reorder bilans bdf csv 2020-06-03 15:45:11 +02:00
Christophe Robillard
705487dab6 define max_attempts for jobs 2020-06-02 20:21:11 +02:00
kara Diaby
f104567619 Add 2 cards style for MapEditor + optim import gpx kml 2020-06-02 13:24:29 +02:00
Pierre de La Morinerie
ab54b8a45e views: modernisation.gouv.fr -> numerique.gouv.fr
Fix #4161
2020-06-02 11:40:59 +02:00
kara Diaby
1e3a042a69 Add styles without cadastres in mapReader + tutorials pages in MapEditor 2020-05-28 17:50:14 +02:00
Judith
d930124839 change procedure_auto_archive helper name and added a helper for 23 h 59 2020-05-28 13:22:02 +00:00
Judith
6b65ee8d15 mailers: display auto-archive date in notifications 2020-05-28 13:22:02 +00:00
Judith
38eb60f2ac views: display auto-archive date on procedure description 2020-05-28 13:22:02 +00:00
Judith
59346ee868 mailers: mention the auto_archive in notify_new_draft 2020-05-28 13:22:02 +00:00
Judith
e73086ee4c views: added the precision of the time zone for auto_archive
fix #5181
2020-05-28 13:22:02 +00:00
Paul Chavard
20705d6e30 Do not send draft norifications to users on inactive démarches 2020-05-27 16:36:46 +02:00
Christophe Robillard
fb87a09c02 doesn't update dossier etablissement for siret controller 2020-05-26 18:13:20 +02:00
clemkeirua
87f1e63e1b ajout de precisions pour les emails non reçus 2020-05-26 15:46:51 +02:00
Keirua
0727f99ac8
reformulation d'un libelle de l'editeur de services
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2020-05-26 15:28:27 +02:00
clemkeirua
21ad7055a2 precisions sur le caractère obligatoire des infos de service 2020-05-25 15:47:02 +02:00
Christophe Robillard
1b509c15f8 raise exception with url 2020-05-20 15:53:08 +02:00
kara Diaby
d8ae089e93 [Carto] Improve files import UX + import KML files 2020-05-20 14:17:27 +02:00
Christophe Robillard
8c66b2cab1 rescue ResourceNotFound and BadFormatRequest errors
we don't have to retry this kind of errors, but just to send it to
sentry
2020-05-20 11:09:54 +02:00
Christophe Robillard
d92a0ba8f3 raise BadFormatRequest error
L'intention est de distinguer ce type d'erreur avec les erreurs serveur
5xx.
Lorsque l'api est appelé par un Job, les erreurs serveur seront retry, car éphémères.
Alors que les erreurs de type BadFormatRequest ou ResourceNotFound n'ont
pas être retried.
2020-05-20 11:09:54 +02:00
Christophe Robillard
f40123fee1 display only etablissement infos
all the other infos are not yet available because the jobs which
retrieve it are performed later
2020-05-20 11:09:54 +02:00
Christophe Robillard
3b46594e60 precise http error code for api calls 2020-05-20 11:09:54 +02:00
Christophe Robillard
637bde7326 update siret_controller when finding etablissement
now, `ApiEntrepriseService` does'nt return a hash anymore but an
etablissement which is already persisted.
2020-05-20 11:09:54 +02:00
Christophe Robillard
eebfb5ee5b update dossiers_controller when updating siret
now, `ApiEntrepriseService` does'nt return a hash anymore but an
etablissement which is already persisted.
2020-05-20 11:09:54 +02:00
Christophe Robillard
ba5fa9aa4b update ApiEntrepriseService
There is now the `create_etablissement` method which
create etablissement with EtablissementAdapter
and enqueue api_entreprise jobs to retrieve
all informations we can get based on SIRET
2020-05-20 11:09:54 +02:00
Christophe Robillard
f4ebb5d107 create api_entreprise jobs 2020-05-20 11:09:54 +02:00
Christophe Robillard
e3ee423197 call api_entreprise adapters with siret 2020-05-20 11:09:54 +02:00
kara Diaby
c37b32ac94 fix the search input addresses return box bug [Carto] 2020-05-19 15:34:48 +02:00
Pierre de La Morinerie
c9820adbc4 urls: fix link to autosave FAQ article 2020-05-18 16:53:19 +02:00
Pierre de La Morinerie
9f1407b6d7 expiration: fix the mailer arguments
The mailers expect serializable arguments, but were given
ActiveRecord::Relation objects instead. This made the mailers throw an
exception.

But how was that possible ? This code is tested, and the tests were
green.

Well, the specs spy on the mailer implementation, in order to check that
the mailers methods were properly called. Fair enough.

But if the specs mock the mailer code (instead of calling the original
implementation), we may not notice that the original implementation
rejects our method parameters.

Here this is the case: once we actually call the original implementation
the tests start to fail, because some arguments are not converted from
an ActiveRecord::Relation to a serializable array.

This is fixed by ensuring that the mailer code is executed (and doesn't
throw an exception).
2020-05-18 16:24:08 +02:00
Christophe Robillard
d4bb5d1f56 indique à l'usager les pièces ajoutées au dossier
- attestation sociale
- attestation fiscale
- bilans bdf
2020-05-18 16:01:13 +02:00
Pierre de La Morinerie
b63fa0e6b8 dossier: remove "Birthdate" column from export 2020-05-18 13:14:28 +00:00
clemkeirua
77101208a4 Anonymisation de l'instructeur dans la messagerie 2020-05-18 12:56:30 +00:00
clemkeirua
8542fd9f47 unique emails + remove n+1 2020-05-18 12:46:42 +00:00
clemkeirua
22a518c921 ajout d'un bouton d'export des mails des demandeurs 2020-05-18 12:46:42 +00:00
clemkeirua
9454017dd9 afficher le nom du service en alt si possible 2020-05-18 14:17:21 +02:00
Pierre de La Morinerie
833d7a3b59 javascript: ignore most common upload errors also in standard uploads
In #5149, we ignored most common upload errors, but only for
auto-uploads.

This PR ignores those errors also for standard uploads.
2020-05-18 11:50:29 +02:00
kara Diaby
db5fd9bd0f fix bug on mandatory carto champ for the new map editor 2020-05-15 13:44:50 +02:00
Pierre de La Morinerie
93bb5283ff app: remove the feature flag for pieces justificatives auto-upload
The feature works as intended: we can remove the feature flag.
2020-05-14 17:39:07 +02:00
clemkeirua
a49581cbe9 replaced marianne logo for homepage 2020-05-14 14:08:05 +00:00
clemkeirua
46940ec2a7 compression du nouveau logo via svgo 2020-05-14 14:08:05 +00:00
clemkeirua
1702903ffd ajout d'une alternative sur la marianne en header 2020-05-14 14:08:05 +00:00
clemkeirua
c5d2b4abd8 new logo in footer on home 2020-05-14 14:08:05 +00:00
clemkeirua
3c751ac696 small logo for procedures 2020-05-14 14:08:05 +00:00
clemkeirua
f6ef7944c1 add new logo 2020-05-14 14:08:05 +00:00
Paul Chavard
d44df9cc2a Fix map apercu 2020-05-14 14:28:54 +02:00
Pierre de La Morinerie
bbc0aa5465 javascript: remove debug code for FileReader errors 2020-05-14 13:29:54 +02:00
Pierre de La Morinerie
86357b65f0 javascript: ignore most common upload errors 2020-05-14 13:29:54 +02:00
Pierre de La Morinerie
4b288038d3 javascript: human-readable message for reading errors during upload 2020-05-14 13:29:54 +02:00
Paul Chavard
03075afa5b Update javascript dependencies 2020-05-14 13:21:42 +02:00
clemkeirua
236fd0291b bump zip sizes from 50 to 100 mb 2020-05-14 10:37:01 +00:00
Pierre de La Morinerie
190548844a dossiers: add piece justificative filename to spreadsheet export 2020-05-14 10:18:10 +00:00
clemkeirua
84888be255 clarification de l'archivage/suppression 2020-05-13 16:45:27 +02:00
Paul Chavard
f0148184ca Remove legacy carto code 2020-05-13 12:17:04 +02:00
Pierre de La Morinerie
51cb3a04a3 app: fix JS redirection with Turbolinks disabled
When Turbolinks is enabled, a `redirect_to` in a `format: :js` request
will emit code that instructs Turbolinks to navigate to the page.
Turbolinks will then load the redirection target as HTML, and display
it.

But with Turbolinks disabled, the same `redirect_to` will instead
respond with a standard `302: redirect`. `Rails.ajax` will interpret
this redirect as "Please perform the same call again to the redirected
URL, in the same format" – and request our redirection target, but
using `format: :js`.


This breaks the "Publish procedure" button. In that case, we really want
the page to be navigated to. Add an explicit JS redirect, so that the
redirection occurs in HTML.
2020-05-13 11:04:16 +02:00
Pierre de La Morinerie
b5f1d97629 app: disable Turbolinks
Fix #5039
2020-05-13 11:04:16 +02:00
Paul Chavard
dfc004d7bb Unarchive dossier when repasser_en_instruction 2020-05-12 19:05:18 +02:00
Paul Chavard
43a1ead1cb fix new prettier defaults 2020-05-12 18:18:37 +02:00
kara Diaby
474521c841 Adapt style for Map reader (point, line) 2020-05-12 17:47:28 +02:00
Pierre de La Morinerie
82cf9e26e1 app: remove tooltips on the old design
- Tooltips are no longer used anywhere
- They cause an error on app initialisation

Fixes "TypeError: dataAttributes.hasOwnProperty is not a function" error
that we've been seeing recently on Sentry.
2020-05-11 17:26:29 +02:00
Christophe Robillard
aab4bb81ee return bilan bdf csv for expert 2020-05-11 13:05:50 +02:00
Christophe Robillard
cad8245540 fix bilans bdf link 2020-05-11 13:05:50 +02:00
kara Diaby
1cc04092f4 import GPX file in browser [Carto] 2020-05-11 11:36:36 +02:00
Paul Chavard
4f2e504cc2 Add carto import api
takes a FeatureCollection to import and returns an augmented champ FeatureCollection
2020-05-07 12:06:42 +02:00
Christophe Robillard
5a27629ee9 add effectifs in instructeur dossier pdf export 2020-05-06 18:01:01 +02:00
Christophe Robillard
10a21f9010 expose attestationSocialeAttachment and attestationFiscaleAttachment 2020-05-06 17:25:04 +02:00
Paul Chavard
05e408225b Implement atomic operations on MapEditor 2020-05-06 16:46:14 +02:00
Christophe Robillard
dbf04dd0d8 make api entreprise call only if token not expired 2020-05-06 10:57:45 +02:00
Christophe Robillard
f587e6600a extract class ApiEntrepriseToken
and check if token is expired
2020-05-06 10:57:45 +02:00
clemkeirua
088e08ff55 descriptions sur tous les types de champs 2020-05-05 20:50:39 +02:00
clemkeirua
f8519a6920 ajout des descriptions - cas general 2020-05-05 20:50:39 +02:00
clemkeirua
7065accf64 ajout du descriptif de procedure dans le pdf 2020-05-05 20:50:39 +02:00
Paul Chavard
6556df2a85 Fix a crash in case of invalid geometry 2020-05-05 15:56:05 +02:00
Christophe Robillard
733e282e76 fix identite entreprise view 2020-04-30 16:53:33 +02:00
Christophe Robillard
9de2c7c85a improve csv generation for bilans bdf 2020-04-30 16:15:16 +02:00
Christophe Robillard
9873826dd4 remove date computed column
we will add it when more info of business
2020-04-30 16:15:16 +02:00
Christophe Robillard
22e2c2e133 render csv bidf bilans 2020-04-30 16:15:16 +02:00
Christophe Robillard
b12226c667 fetch and store bilans bdf 2020-04-30 16:15:16 +02:00
Christophe Robillard
85b2e9ef44 create bilans_bdf_adapter 2020-04-30 16:15:16 +02:00
Paul Chavard
843e033c38 Allow instructeurs to download a GeoJSON document for a given dossier 2020-04-30 15:49:43 +02:00
Paul Chavard
ef2d9e1138 Expose stable_id on champ 2020-04-30 15:49:31 +02:00
Christophe Robillard
59357f2100 show attestations sociales and fiscales only for instructeurs 2020-04-30 11:53:17 +02:00
Christophe Robillard
3ddb5a4cb4 store attestation fiscale and display 2020-04-30 11:39:54 +02:00
Christophe Robillard
38c68b16e3 create attestation_fiscale_adapter 2020-04-30 11:39:54 +02:00
Paul Chavard
b516cbc179 Enable republish on démarches dépubliée 2020-04-29 18:04:35 +02:00
Christophe Robillard
ddd3e6bb02 don't copy api_entreprise_token when cloning
except for an admin who owns the parent procedure
2020-04-29 17:17:20 +02:00
Christophe Robillard
158b4802ab store attestation sociale and display 2020-04-29 16:25:47 +02:00
Christophe Robillard
d74b14c205 fetch attestation sociale url 2020-04-29 14:25:55 +02:00
Christophe Robillard
b147956a92 create attestation_sociale_adapter 2020-04-29 14:01:48 +02:00
Christophe Robillard
e29af48420 call api_entreprise with specific token if exist 2020-04-28 15:17:11 +02:00
Christophe Robillard
14ff18ca80 store specific api-entreprise token for a procedure 2020-04-28 15:17:11 +02:00
clemkeirua
1ac7ec2dca precision dans mail suppression dossier en construction 2020-04-28 12:42:00 +00:00
kara Diaby
9aea1fffee Migrate the map editor to mapbox-gl with react component 2020-04-27 11:30:32 +02:00
Paul Chavard
2a3530738d Do not crash on boot if geos is not installed 2020-04-23 20:12:31 +02:00
Pierre de La Morinerie
04cf174039 Revert "app: add a warning about the file upload"
This reverts commit 7f45c7d97b.
2020-04-23 18:31:59 +02:00
Pierre de La Morinerie
0845777fa0 Merge branch 'file-banner' into dev 2020-04-23 17:00:49 +02:00
Pierre de La Morinerie
7f45c7d97b app: add a warning about the file upload 2020-04-23 16:54:27 +02:00
Christophe Robillard
339066778d send notif only to the right instructeurs
after a dossier creation, only the instructeurs that belong to the group
instructeur of the dossier, and who want notif will be notified by mail
2020-04-23 13:01:57 +02:00
Pierre de La Morinerie
6f4075f38e javascript: fix FileUploadError stacktraces
When subclassing a JS error, most browsers include the constructor
stacktrace :/

This is an issue, because:
- The stacktrace is deeper than it should be
- The stacktrace reaches into a polyfill for which there is not source
map, which causes Sentry to infer the issue grouping from the JS file
name. And the fingerprinted name changes on each release. So for each
release, the stacktrace is different ; and Sentry can't group issues
properly.
2020-04-23 12:27:26 +02:00
Paul Chavard
9cb612bb3d Show area and length on champ carto selections utilisateur 2020-04-23 10:21:18 +02:00
Christophe Robillard
792e755af9 expose effectif_annuel dans api graphql 2020-04-23 09:53:27 +02:00
Christophe Robillard
453adf3c74 instructeurs: affiche l'effectif moyen annuel n-1 2020-04-23 09:53:27 +02:00
Christophe Robillard
85d119fa4d n'affiche plus le code effectif 2020-04-23 09:53:27 +02:00
Christophe Robillard
a507359f5c précise source pour effectifs mensuels 2020-04-23 09:53:27 +02:00
Paul Chavard
b849fc6fc3 Mark as sent or destroy right after each notification is sent to enable a better recovery in case of mid loop failures 2020-04-23 09:36:09 +02:00
Paul Chavard
31943f7d9c Add handeling of expired processed dossiers to deletion service 2020-04-22 15:39:10 +02:00
Paul Chavard
f1b531911b Handle processed dossiers in deletion mailers 2020-04-22 15:39:10 +02:00
Paul Chavard
bdbee38ff1 Add expired termine scopes to dossier 2020-04-22 15:39:10 +02:00
Pierre de La Morinerie
f29ec5c775 instucteurs: don't show discarded procedures in the list 2020-04-22 15:16:21 +02:00
Pierre de La Morinerie
1cb18e51ac champ: return the parent dossier even when discarded
Dossier has a `default_scope { kept }`.

Because of that, when the parent dossier is discarded, `champ.dossier`
will return nil.

We should kill the default scope. But meanwhile, ensure that
`champ.dossier` returns even a discarded dossier.
2020-04-22 11:46:42 +02:00
Pierre de La Morinerie
ef009f73e2 javascript: report upload FileReader errors to Sentry
We have quite a lot of `Error reading file` errors when uploading files.
These errors are generated by ActiveStorage `file_checksum.js` component
but it eats the actual reason of errors.

(See https://github.com/rails/rails/blob/5-2-stable/activestorage/app/javascript/activestorage/file_checksum.js#L38)

We can't really override the class to generate better errors, as they
are deeply nested in ActiveStorage class hierarchy, and not exported to
external code.

Instead, we hook into the FileReader event handler, to insert a logger
when this error occur. The original event handler will also still be
called as usual.

This is intended to be temporary. The debug code will be removed once
we get a better idea of what is going on.
2020-04-22 11:26:16 +02:00
Christophe Robillard
149b98007f add effectif mensuel to graphql api 2020-04-21 21:13:07 +02:00
Christophe Robillard
1165f8483d rename effectif columns 2020-04-21 21:13:07 +02:00
Christophe Robillard
db3ef195ad fetch and show effectif mensuel
- fetch and store effectif mensuel (at the creation of the dossier or
when updating a siret field

- show effectif mensuel only for instructeurs
2020-04-21 14:22:11 +02:00
Christophe Robillard
599d8e33e8 create ApiEntreprise::EffectifsAdapter 2020-04-21 14:22:11 +02:00
Paul Chavard
fcd136c566 Enable deletion of expired dossiers en_construction
fix #4977
2020-04-21 10:41:54 +02:00
clemkeirua
2d68d7dc59 fix to_tsquery disallowed chars 2020-04-20 15:15:22 +02:00
Pierre de La Morinerie
52a491bde3 instructeur: improve description of unfiltered tab
The previous text was misleading: filters can be applied to this tab.
What it really does is present all dossiers regardless of their status.

Fix #5056
2020-04-20 11:34:57 +02:00
Paul Chavard
8f01eebf1f fix legacy api carte serializer 2020-04-17 12:48:42 +02:00
Paul Chavard
e512870fd2 Cleanup procedure duree_conservation_dossiers_dans_ds validations 2020-04-16 19:40:19 +02:00
Paul Chavard
bc8217e030 Carte Editor sends FeatureCollection to the server 2020-04-16 18:29:19 +02:00
Pierre de La Morinerie
769e98f63e javascript: fix the progress bar removal on success
When using auto-attach, the response HTML fragment replaces the progress
bar – so it doesn't need to be removed twice.
2020-04-16 17:02:23 +02:00
Pierre de La Morinerie
647ad3ba10 javascript: consider unknown upload errors as client errors 2020-04-16 12:59:14 +02:00
Pierre de La Morinerie
b006c33ebe javascript: parse the upload status code correctly
Previously the status was "Status: 422" instead of just 422.
2020-04-16 12:54:18 +02:00
Pierre de La Morinerie
b2231e98d5 javascript: don't report connectivity issues to Sentry 2020-04-16 11:20:45 +02:00
Pierre de La Morinerie
55788990da javascript: add a helpful message on connectivity error 2020-04-16 11:20:45 +02:00
Pierre de La Morinerie
432967bd76 javascript: make Uploader always throw the same kind of errors
A DirectUpload may fail for several reasons, and return many types of
errors (string, xhr response, Error objects, etc).

For convenience, wrap all these errors in a FileUploadError object.

- It makes easier for clients of the Uploader class to handle errors;
- It allows to propagate the error code and failure responsability.
2020-04-16 11:20:45 +02:00
Pierre de La Morinerie
d8f3b86b0e javascript: move auto-upload attachment to the Uploader class
Rationale:

- It makes more sense to handle the progress bar updates in a single class;
- This will allow us to unify the error handling.
2020-04-16 11:20:45 +02:00
Paul Chavard
ee3ff78b12 Create constants for default map location 2020-04-16 10:22:07 +02:00
Paul Chavard
442a6a3cdd Remove deprecated map reader 2020-04-15 18:07:09 +02:00
Paul Chavard
22604013d0 Expose multiple user selections on champ carte 2020-04-15 18:07:09 +02:00
Paul Chavard
7c34795a1a Bring back font-awesome-rails
we need it untill we remove all the old admin pages
2020-04-15 17:41:05 +02:00
Pierre de La Morinerie
9e76135b27 views: add identifiers to fooker links
In Sentry, when an `ActionController::InvalidAuthenticityToken` error
occurs, the breadcrumbs mention that before hitting the error, the user
clicked on one of those links.

Unfortunately we don't know which one. For debugging purposes, adding
classes to the links should allow us to see which links users are
navigating to.
2020-04-14 18:02:52 +02:00
Paul Chavard
52d2ace823 Remove quartiers prioritaires 2020-04-14 10:29:59 +02:00
clemkeirua
8c2f589cbf fix admin deletion of empty service with archived procedures 2020-04-10 20:01:40 +02:00
clemkeirua
6df927a46f nom du demandeur dans user::dossiers#index si >=2 dossiers 2020-04-10 13:14:39 +02:00
Pierre de La Morinerie
61660b1b3b javascript: remove unused jQuery.active bookkeeping 2020-04-09 17:52:47 +02:00
Pierre de La Morinerie
c633cd0888 javascript: improve Sentry grouping of direct upload errors
DirectUpload returns errors as strings, including an HTTP status and a
file name (and without a stack trace).

But Sentry groups issues according to the stack trace, and maybe the
error message in last resort.

So we have an issue: as all DirectUpload errors logged by Sentry are
generated on the same line, with random-looking messages, Sentry groups
them either too or too little aggressively.

Instead of creating all the errors on the same line:

- add some `if`s statements to create them on different lines (and so
  with different stack traces),
- strip the file name from the error message.

This allows Sentry to group the errors properly, with meaningful error
messages.
2020-04-09 17:38:44 +02:00
Christophe Robillard
f683b850c3 Notifie instructeurs le souhaitant lors depot dossier
Notifie par mail uniquement les instructeurs qui le souhaitent à chaque dépôt de dossier
2020-04-09 15:02:05 +02:00
Christophe Robillard
ae18ff6627 Notifie tous les instructeurs lors dépôt dossier
- envoie un mail à tous les instructeurs d'une procédure après le dépôt
d'un nouveau dossier
2020-04-09 14:33:56 +02:00
Christophe Robillard
3ece41a614 homogénéise les majuscules en début de phrase 2020-04-09 14:17:07 +02:00
Christophe Robillard
969478b706 Envoie une notif aux followers_instructeurs le souhaitant
après chaque message déposé par l'usager
2020-04-09 14:17:07 +02:00
Christophe Robillard
415d5c765e envoie une notification à chaque follower_instructeur après un commentaire déposé 2020-04-09 14:17:07 +02:00
Paul Chavard
c83aaf69a6 Fix procedure.can_be_deleted_by_administrateur? check 2020-04-09 13:46:57 +02:00
Pierre de La Morinerie
bc1c15b81d javascript: make DirectUpload errors return true error objects
DirectUpload errors are string (instead of error objects). But Sentry
works better if we have true errors, which include the stacktrace.
2020-04-09 12:50:47 +02:00
Paul Chavard
61eaca928f remove WarnExpiringDossiersJob 2020-04-09 11:11:51 +02:00
kara Diaby
d18bc1c421 Improve the mapbox-gl support detection for older browsers 2020-04-09 11:01:20 +02:00
kara Diaby
56e9834389 Revert "Revert "Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react""""
This reverts commit 473ed00b6c.
2020-04-09 11:01:20 +02:00
Pierre de La Morinerie
7ff381b6f0 attachments: remove the buggy fallback
The fallback would fail on non-champ attachments.
2020-04-09 10:40:08 +02:00
Pierre de La Morinerie
7e19dd2cda Revert "Revert "Fix middle-click on "Delete attachment" button""
This reverts commit 6e8bd6957f.
2020-04-09 10:40:08 +02:00
clemkeirua
fbcf3de74c ajout du motif recherché dans l'écran de résultats 2020-04-09 09:42:31 +02:00
clemkeirua
76139dbc71 recherche usager full-text avec plusieurs resultats 2020-04-09 09:42:31 +02:00
clemkeirua
98337f2334 recherche usager full-text avec 1 resultat 2020-04-09 09:42:31 +02:00
clemkeirua
9eafeac622 extract layouts/search_dossiers_form partial 2020-04-09 09:42:31 +02:00
clemkeirua
34188c432c refactor _new_header so that user and instructeur search share similar signature 2020-04-09 09:42:31 +02:00
Paul Chavard
32f783142c [GraphQL] allow to query dossiers by groupe instructeur 2020-04-09 09:29:28 +02:00
Paul Chavard
e28c05bb92 [GraphQL] fix groupe instructeur type definition 2020-04-08 18:36:09 +02:00
Pierre de La Morinerie
6e8bd6957f
Revert "Fix middle-click on "Delete attachment" button" 2020-04-08 17:40:58 +02:00
Pierre de La Morinerie
72d003b62c javascript: fix missign argument to catch
Some browers complain about this.
2020-04-08 16:54:31 +02:00
Pierre de La Morinerie
444732b117 javascript: don't allow to retry on direct upload 422
When the authenticity token is invalid, the creation of the blob before
the direct upload returns a 422.

In that case, the token will never become valid again, and it is useless
to try again. Don’t show the "Retry" button in this case.

NB: of course the real fix is to understand why the authenticity token
is so often invalid – but this will be for later.
2020-04-08 15:48:23 +02:00
Pierre de La Morinerie
38b0bd645c javascript: fix clicking on the icon of the auto-upload Retry button
When clicking on the icon, `event target` would be the icon, not
the button.

However delegates configures `this` to be the requested event target.
2020-04-08 15:48:23 +02:00
Pierre de La Morinerie
b748e9773f attachments: fix opening the delete link directly
When cliking on the "Delete attachment" link, and opening the URL
in a new tab, the `DELETE /attachements/:id` will become
`GET /attachments/:id` – which will cause the `show` action to be
routed with an html format (instead of JS).

In that case, we don't want to throw an error at the user face.
Instead simply re-render the dossier page (if any).

Fix a long-standing error in Sentry.
2020-04-08 13:40:32 +02:00
kara Diaby
473ed00b6c Revert "Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react"""
This reverts commit fe0b3c2215.
2020-04-07 18:14:07 +02:00
kara Diaby
fe0b3c2215 Revert "Revert "feat/4893 - migrate the mapReader to mapbox-gl with react""
This reverts commit 3e21b78142.
2020-04-07 18:11:11 +02:00
Pierre de La Morinerie
3e21b78142
Revert "feat/4893 - migrate the mapReader to mapbox-gl with react" 2020-04-07 15:32:14 +02:00
Paul Chavard
6dc1f3e2c4 Use human readable expressions instead of cron gibberish
https://github.com/floraison/fugit#fugitnat
2020-04-07 12:44:58 +02:00
Pierre de La Morinerie
38c0cdc360 javascript: ignore errors of attachments pooler
Pooling for attachment status is a background operation. Errors should
not be reported to the user, who didn't even ask for this operation to
take place.

This is why we ignore all errors, whether Javascript exceptions or
network errors.
2020-04-07 12:35:54 +02:00
Pierre de La Morinerie
dc6ff3b4ea mailers: in avis requests, replace the small CTA link by a large button
Fix #3402
2020-04-07 12:05:36 +02:00
clemkeirua
ed45c88bdf do not clone groups instructeurs for admin outside the procedure 2020-04-07 09:25:40 +02:00
pedong
7806a26e2c copy groupe_instructeurs when clone 2020-04-07 09:22:33 +02:00
Pierre de La Morinerie
52afb41bab js: fix errors on browsers not supporting window.scroll options
IE and Safari only know about `window.scroll(x, y)`, and not the form
with options.
2020-04-06 18:30:15 +02:00
Christophe Robillard
5b6044803b forbid to create champ with same type_de_champ and same row 2020-04-06 17:39:51 +02:00
Pierre de La Morinerie
ded65cfdb9 dossier: fix rendering of piece_justificative in repetition
In repetitions we can't render the piece_justificative champ in the way
we do for normal champs (which was already a bit hackish).

Instead we render the whole form partial – and then extract the champ
from the form. In this way, we're sure to render the champ as it
appears in the form, without any hacks to reproduce the form structure.
2020-04-06 11:50:31 +02:00
Pierre de La Morinerie
c506402dcb dossier: remove the now unused champId in auto-upload 2020-04-06 11:50:31 +02:00
Pierre de La Morinerie
91260e2867 dossier: fix upload route of piece_justificative in repetitions
In repetitions, `form.index` doesn't make much sense. Turns out we
don't really need the index of the champ: we can just use the champ id.
2020-04-06 11:50:31 +02:00
Christophe Robillard
4fcbfffec1 laisse afficher le message flash avec le fichier à télécharger 2020-04-06 10:12:00 +02:00
Christophe Robillard
290edd9e69 ameliore la découvrabilité du fichier téléchargé 2020-04-06 10:12:00 +02:00
Pierre de La Morinerie
e166f89aa0 identite: remove the "*" for required labels
When all fields are required, it's better to say nothing.
2020-04-02 17:34:00 +02:00
Pierre de La Morinerie
7f629ffca1 identite: mark the radio buttons as actually required 2020-04-02 17:34:00 +02:00
kara Diaby
aa56cfd7a0 migrate map to mapbox-gl with a react component 2020-04-02 15:39:47 +02:00
Paul Chavard
725cfa45d3 Do not set processed_at if already defined 2020-04-02 15:23:53 +02:00
Paul Chavard
413abccd3c Add default order to dossier.dossier_operation_logs 2020-04-02 14:05:40 +02:00
Pierre de La Morinerie
c4f2e6cab0 credentials: add autocomplete attributes
Allow browsers to autofill more informations.

References:
- MDN: Autofill (https://developer.mozilla.org/fr/docs/Web/HTML/Attributs/autocomplete)
- Safari Password Autofill (https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element)
2020-04-02 12:07:42 +02:00
Pierre de La Morinerie
059e11601b policies: fix champ policy for guest users 2020-04-02 11:27:14 +02:00
Pierre de La Morinerie
c17ceb4440 policies: DRY the scope 2020-04-02 11:27:14 +02:00
Paul Chavard
c0bbfa42b7 Reassign discarded dossiers on group_instructeur
fix #4851
2020-04-01 18:10:12 +02:00
Paul Chavard
7ba4c513e6 Refactor notify near deletion mailers 2020-04-01 17:40:52 +02:00
Paul Chavard
288ace2f34 Dossier on discarded procedure should have access to discarded procedure 2020-03-31 17:08:29 +02:00
Paul Chavard
bd81970f67 DeletedDossier should have access to discarded demarche 2020-03-31 17:08:29 +02:00
Paul Chavard
e4ab2574ce Démarches discarded by administrateur can be reactivated in manager 2020-03-31 17:08:28 +02:00
Paul Chavard
58c126308c Add DiscardedProceduresDeletionJob job 2020-03-31 17:08:28 +02:00
Paul Chavard
da52ec30bd Undo discard dossiers and demarches from manager 2020-03-31 17:08:28 +02:00
Paul Chavard
876e05aed3 Discard demarches from manager 2020-03-31 17:08:28 +02:00
Paul Chavard
aa066bc20a Validate deleted dossiers dossier_id uniqueness 2020-03-31 16:54:33 +02:00
Paul Chavard
60cb9bcf09 Remove brouillons deleted dossiers 2020-03-31 16:54:33 +02:00
Pierre de La Morinerie
6417c0d2c0 dossiers: allow auto upload of attachments 2020-03-31 13:09:44 +02:00
Pierre de La Morinerie
a1083ca253 javascript: add some comments to the upload systems 2020-03-31 13:09:17 +02:00
Pierre de La Morinerie
7a27e78452 specs: remove unused wait-for-ajax helper
This helper is:
- no longer used;
- buggy (not all requests increment it);
- discouraged (we should instead match an UI change that signals the end
of an ajax request).

Good riddance.
2020-03-31 12:54:49 +02:00
Paul Chavard
742cc15209 Use base CronJob 2020-03-31 12:25:46 +02:00
Paul Chavard
5005c54891 Add base cron job 2020-03-31 12:25:46 +02:00
Paul Chavard
33bf2fe109 remove deprecated AutoReceiveDossiersForProcedureJob 2020-03-31 12:25:46 +02:00
Paul Chavard
39c47c21cf Remove explicit queue_as :default 2020-03-31 12:01:42 +02:00
Pierre de La Morinerie
54337a1603 editor: fix bottom padding of the list
Turns out Safari (and maybe IE) collapse the margins together. So we
need to give the footer an explicite height.

Fix #3570
2020-03-30 17:36:59 +02:00
Pierre de La Morinerie
ed5f2fa35f attestation: fix preview of logos
Turns out that assigning the params to the procedure calls `read` on the
images files. Calling `read` moves the seek offset to the end of the
file; which means that subsequent calls to `read` return an empty
string.

Fix the issue by calling `rewind` before attempting to `read` the file,
to ensure the seek offset is at the beginning of the file.

Fix #4958
2020-03-30 14:58:50 +02:00
Pierre de La Morinerie
fe13043efd dossier: prepare validations to piece_justificative champs
We can't yet enable the validations, because of an issue that will
(hopefully) be solved with Rails 6.

See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
2020-03-30 11:12:25 +02:00
Pierre de La Morinerie
f3c210e875 dossier: remove dead validation code
This code used to be called by CarrierWave, but is unused since the
migration to ActiveStorage.

This means that these validations are currently disabled though.
See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
2020-03-30 11:12:25 +02:00
clemkeirua
6a22ba7036 #4955 - ajout d'un bandeau d'informations coronavirus 2020-03-27 15:33:03 +01:00
Paul Chavard
a60b6b6776 Use ’ consistently instead of ' 2020-03-26 17:27:48 +01:00
Paul Chavard
c763679b54 Remove non-existant columns from manager dashboards 2020-03-26 16:17:07 +01:00
Paul Chavard
c707a21f97 Rename delete_and_keep_track -> discard_and_keep_track 2020-03-26 14:23:23 +01:00
Christian Lautier
806e5d5eed eIDAS level added to France Connect authorization call 2020-03-26 14:07:32 +01:00
Paul Chavard
08a5dd6a27 User should not be deleted if they have hidden dossiers with state_instruction_commencee
fix #4933
2020-03-25 18:15:14 +01:00
Paul Chavard
51224fad49 Refactor scopes with intervals and use Time.zone.now 2020-03-25 17:42:03 +01:00
Paul Chavard
c086f6d580 Add a job to remove discarded dossiers 2020-03-25 17:28:25 +01:00
Paul Chavard
ec1cd989ab Show the reason on deleted dossiers 2020-03-25 16:57:03 +01:00
Paul Chavard
5b5ae5a7a5 Do not send notifications or create operation logs on brouillon demarches 2020-03-25 15:04:52 +01:00
Pierre de La Morinerie
f895570b00 dossier: make the upload label a real label 2020-03-25 14:43:09 +01:00
clemkeirua
b4160e7554 added footer on static pages 2020-03-25 09:50:41 +00:00
clemkeirua
a34b45e4f4 make the 'male' field selected by default during identity creation 2020-03-25 09:50:41 +00:00
clemkeirua
1bdc0836a6 password length for screen reader on /users/sign_up
We use a placeholder (which is not made for this, but we have reasons to do that)
so using a visible labels or paragraph duplicates the information

I picked aria-describedby, which is not the ideal solution (it seems to be aria-labelledby) but which is the most widely supported

https://www.w3.org/WAI/tutorials/forms/instructions/#using-aria-describedby
2020-03-25 09:50:41 +00:00
Christophe Robillard
72783fd8fd replace status_badge partial by status_badge helper 2020-03-25 10:19:07 +01:00