Commit graph

72 commits

Author SHA1 Message Date
Paul Chavard
08a2a2c9aa
feat(dossier): fork dossier when editing en construction 2023-05-09 17:16:47 +02:00
Nicolas Cavigneaux
e483bfbc76
fix: remove hardcoded .html.haml from render calls since it no longer works 2023-05-03 10:10:38 +02:00
Paul Chavard
fce78bbf30 feat(dossier): multiselect without react 2023-04-03 16:54:50 +02:00
Colin Darie
37afd142cb
fix(entreprise): don't leak entreprise name if it's not diffusable 2023-03-15 12:43:56 +01:00
Sébastien Carceles
5c7b2ba1f3
feat(dossier): prefill drop down list champ (#8361)
* feat(dossier): prefill drop down list champ

* decorate the types de champ to avoid if / else

In order to avoid doing if this a drop down ? / else at several places,
we decorate the types de champ and let the decorator give the possible
and example values.

* show all possible values when there are too many

* allow to prefill 'other' option

* review: remove duplicate

* review: refactor for readability

* validate that value is in options

* review: exclude disabled options
2023-01-18 09:47:22 +01:00
Sébastien Carceles
fa6fc077b4
normalize boolean values (#8320)
* extract parent for yes no and checkbox champs

* checkbox stores true / false instead of on / off

* normalize blank value to nil

* normalize invalid value to false

* after party task: normalize checkbox values

* after party task: normalize yes_no values
2023-01-05 11:18:27 +00:00
Colin Darie
b609c3dae4 refactor(attachment): bring batch user_can_destroy, update tests 2022-12-05 10:47:10 +01:00
Paul Chavard
e6288c39f2 refactor(dossier): champs -> champs_public 2022-11-10 22:44:39 +00:00
Paul Chavard
5e87539d6d fix(groupe_instructeur): add explicit order to groupe_instructeurs 2022-11-09 10:56:40 +00:00
Eric Leroy-Terquem
5578115acf update routee? method 2022-11-04 12:03:43 +01:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +02:00
Colin Darie
6a943ad13f feat(champ_pj): warn administrators about ephemeral template links
Closes #7681
2022-09-28 17:01:25 +02:00
Damien Le Thiec
bd0df2b60b Clean rna champ_row 2022-09-22 17:14:05 +02:00
Colin Darie
fcb478eb53 refactor(fc_info): use Dsfr::Notice for france connect informations 2022-09-21 15:47:35 +02:00
Colin Darie
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +02:00
Paul Chavard
31d80d80bd fix(dossier): prevent users from removing mandatory fiels after submission 2022-07-28 11:19:47 +02:00
Colin Darie
dea1ce40a9 feat(dossier): allows user to edit identity from a brouillon dossier
Closes #7386
2022-07-18 09:57:19 +02:00
Colin Darie
8c08d0295b Revert "feat(champ): customizable placeholders for text & textarea champs"
This reverts commit 9e26ee932e.

Finalement les champs génériques ne doivent pas avoir de placeholder
personnalisable, ce sera uniquement via la description.
2022-07-12 11:37:58 +02:00
Colin Darie
93d18e2f53
fix: better email placeholder 2022-07-11 17:16:20 +02:00
Colin Darie
9e26ee932e
feat(champ): customizable placeholders for text & textarea champs
Closes #7429
2022-07-11 17:16:20 +02:00
Colin Darie
9768f4e1c9
style(champ): add placeholders for email, iban, phone, siret champs
Closes #7428
2022-07-11 17:16:19 +02:00
Paul Chavard
d2ab8b5593 feat(message): replace message partial with MessageComponent 2022-04-26 14:54:58 +02:00
Paul Chavard
009c44cc20 refactor(avis): remove unused controller action 2022-04-26 14:54:58 +02:00
Paul Chavard
64c599e208 refactor(stimulus): initiate react components via stimulus 2022-04-20 14:08:47 +02:00
Paul Chavard
c671f25d34 fix(dossier): do not show unwanted closed procedure banners 2022-04-14 12:22:37 +02:00
Kara Diaby
b2bcc34cfd tests 2022-03-31 15:48:18 +02:00
Kara Diaby
71614d4ba3 tests 2022-03-29 12:30:52 +02:00
Martin
8e9b15aef4 clean(expiration_banner): dedicated to user not shared 2021-12-06 07:05:17 +01:00
Martin
1bb868714c fix(spec/lint/review): lint and fix spec of previous commits, also fix based on tchak feedback 2021-12-06 07:05:17 +01:00
Martin
725521c3a1 fix(expiration_banner): only show expirations info when flip is enabled
fix(lint): lint haml

fix(spec): enable flipper and allow procedure to receive flipper check when checking banner presence

fix(doc): add missing documentation on readme regarding system testing with a visual feedback

fix(typo): add missing accent

clean(PR): feedback from Tchak, better to wrap feature check for expirability by procedure within dossier.expirable? helper
2021-11-30 16:05:32 +01:00
mfo
e7d9d047fe
Merge branch 'main' into 6649-etq-usager-instructeur-rendre-la-suppression-plus-visible 2021-11-24 14:07:32 +01:00
Pierre de La Morinerie
970c3e4b2b specs: avoid executing business logic in Procedure factory
Calling business logic in a factory is a code-smell, because it
usually requires the object to be saved into database, and may have
unintended consequences when the business logic is changed.

Also, this allows to just build a published procedure, without saving it
to the database.
2021-11-23 08:07:07 +01:00
Martin
b6adf5fc72 feat(dossiers/show): enhance header with expirations message/banner. also ensure consistent design between dossier states
fix(spec): broken due to last refactoring

spec(dossier.extend_conservation): add system spec

lint(ruby): still not yet ready for auto lint in IDE...
2021-11-23 05:50:25 +01:00
Martin
0aecc301c9 refactor(Commentarie.soft_delete): use discard 2021-11-16 14:28:38 +01:00
Martin
4042d51d1a tech(lint): rubocopify 2021-11-15 14:17:57 +01:00
Martin
3b78a9d81a feat(rc): first stable 2021-11-15 13:53:32 +01:00
Martin
b03dc6ad5d wip(dossiers/messages/_message): poc destroy button with expected ACL support 2021-11-15 11:30:41 +01:00
Pierre de La Morinerie
71741c5f98 views: fix checkbox wrongly selected in multiple_drop_down_list
The check for whether the checkbox should be checked or not was made by
matching the whole string. Thus, given two options 'valid' and
'invalid', the check for the presence of 'valid' would succeed even when
only 'invalid' was present in the values (because
`'valid'.includes?('invalid')`.

The code now checks against the list of items in the selected_options.
2021-07-20 09:01:07 +02:00
kara Diaby
81f5a5254b tests 2021-03-18 11:38:52 +01:00
Paul Chavard
70500e3d56 Groupe instructeur selector default blank 2021-03-09 14:47:23 +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
clemkeirua
64c964bf5e fix broken nil values in france_connect_informatio 2020-11-11 15:40:44 +01:00
Judith
25a24ba7c8 removal of translation keys already present in the gem rails-i18n 2020-09-01 16:33:58 +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
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
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
clemkeirua
de1df85462 suppression du message d'alerte suite aux problèmes d'upload 2020-07-27 10:32:03 +02:00
clemkeirua
77101208a4 Anonymisation de l'instructeur dans la messagerie 2020-05-18 12:56:30 +00:00
Christophe Robillard
8e7f210216 affiche infos entreprise uniquement si diffusable
le champ de type siret affiche les infos d'une entreprise dont les infos sont diffusables uniquement aux instructeurs
2020-03-17 15:57:02 +00:00
Christophe Robillard
924702699f highlight routing criteria label when updated 2020-03-04 14:56:59 +01:00