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
a3dd81a89f
Merge pull request #5496 from betagouv/add-health-keywords-to-dubious-procedures
...
Super-admin : ajout de termes médicaux au détecteur automatique de données sensibles
2020-08-25 14:16:47 +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
d2feb53532
Merge pull request #5488 from betagouv/allow-deselecting-optional-radio-buttons
...
Usager : un champ radio optionnel peut maintenant être dé-sélectionné
2020-08-25 12:46:24 +02: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
krichtof
2df7408547
Merge pull request #5490 from betagouv/5416-valid-phone
...
renforce la validation des numéros de téléphone
2020-08-20 15: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
krichtof
7faae3a438
Merge pull request #5492 from betagouv/5491-right-name-for-etablissement
...
prend en compte le nom de l'enseigne pour l'établissement
2020-08-20 15:29:36 +02:00
Christophe Robillard
f77cc06a91
prend en compte le nom de l'enseigne pour l'établissement
2020-08-20 14:23:02 +02:00
jpoulvel
0a5a5ef317
Merge pull request #5487 from betagouv/remove-autofocus-login
...
Sign-in page: autofocus on 'input: password' removed
2020-08-19 16:44:26 +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
jpoulvel
018b57b58d
Merge pull request #5469 from betagouv/placeholder-date
...
Date champs: adding a placeholder for IE and Safari
2020-08-19 16:26:53 +02: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
be0e71c6c2
Merge pull request #5398 from betagouv/belongs-to-required-by-default
...
Rails : les relations `belongs_to` sont maintenant requises par défaut. (Pour une relation optionnelle, mentionner explicitement `belongs_to :table, optional: true`)
2020-08-18 17:43:32 +02:00
Pierre de La Morinerie
d77efec7a0
config: enable active_record.belongs_to_required_by_default
2020-08-18 15:57:37 +02: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
31dfdbf993
Merge pull request #5475 from betagouv/api-entreprise-raise
...
Sauvegarder un établissement invalide remonte maintenant une erreur
2020-08-18 15:07:40 +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
889bd31de0
Merge pull request #5451 from betagouv/cleanup-load-paths
...
Rails : mise à jour des chemins de chargement par défaut
2020-08-18 11:28:49 +02:00
Pierre de La Morinerie
ededf5c6c5
config: don't explicitely eager-load lib/
...
Rationale:
- `lib/` is supposed to contain code mostly independant from Rails;
- By default, Rails doesn't eager-load `lib/` anymore (this used to be
the case, but since a few releases).
If this commits triggers some errors, then these errors should be fixed
(rather that `lib/` being added again to the load path).
2020-08-18 11:02:09 +02:00
Pierre de La Morinerie
c514898b84
config: don't explicitely eager-load controllers/concerns
...
Per the documentation, Rails automatically loads `**/concerns` paths.
See https://guides.rubyonrails.org/autoloading_and_reloading_constants_classic_mode.html#autoload-paths-and-eager-load-paths
2020-08-18 11:02:09 +02:00
Pierre de La Morinerie
4f0d9afbd6
Merge pull request #5479 from betagouv/improve-factories
...
Amélioration mineures des factories
2020-08-13 18:19:04 +02:00
Pierre de La Morinerie
df2429d7ad
factories: build type_de_champ instead of creating them
...
This allows to minimize the number of actual creations when only a
build is requested.
2020-08-13 17:39:49 +02:00
Pierre de La Morinerie
c8ec5c8846
factories: remove the Rubocop workaround
2020-08-13 17:39:49 +02:00
Pierre de La Morinerie
e523827213
Merge pull request #5476 from betagouv/fix-new-revision-spec
...
Les révisions d'une démarche sont renvoyées dans un ordre déterministe
2020-08-13 17:39:31 +02:00