Commit graph

509 commits

Author SHA1 Message Date
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
kara Diaby
2a69e2fbeb fix services choice into a procedure 2020-09-29 19:53:28 +02:00
kara Diaby
13e4589905 Publications page to the new UI (admin) 2020-09-16 09:15:44 +02:00
kara Diaby
ae61c279af migrate emails text editor to new interface 2020-09-03 14:42:22 +02: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
jpoulvel
62e04a6ca9
Merge branch 'dev' into new_design_edit_attestation 2020-07-30 09:53:09 +02:00
Judith
0075b508a3 adaptation of specs 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
clemkeirua
de1df85462 suppression du message d'alerte suite aux problèmes d'upload 2020-07-27 10:32:03 +02:00
Pierre de La Morinerie
2f7fbc8474 specs: fix shared/attachement/_update.html.haml spec
Avoid purging a non-saved file.
2020-07-07 18:03:56 +02: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
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
43569f687e specs: use fixture_file_upload rather than Rack::Test::UploadedFile
This is mostly for consistency (both styles were used before).

Note: we still have to use `Rack::Test::UploadedFile.new` in factories,
because of https://github.com/thoughtbot/factory_bot/issues/385.
2020-07-01 11:13:45 +02:00
kara Diaby
6b07cc0659 Move admin/assigns to the new UI like groupe_instructeurs 2020-06-29 14:44:28 +02:00
Judith
38eb60f2ac views: display auto-archive date on procedure description 2020-05-28 13:22:02 +00: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
clemkeirua
77101208a4 Anonymisation de l'instructeur dans la messagerie 2020-05-18 12:56:30 +00:00
Paul Chavard
b516cbc179 Enable republish on démarches dépubliée 2020-04-29 18:04:35 +02:00
Pierre de La Morinerie
4cb747fdb6 specs: always require rails_helper
Test helpers are separated between two files: spec_helper and
rails_helper. This separation is meant to allow tests that do not
require Rails (like testing standalone libs) to boot faster.

The spec_helper file is always loaded, through `--require spec_helper`
in the `.rspec` config file. When needed, the rails_helper file is
expected to be required manually.

This is fine, but:
- Many test files have a redundant `require 'spec_helper'` line;
- Many test files should require `rails_helper`, but don't.

Not requiring `rails_helper` will cause the Rails-concerned section of
the test environment not to be configured–which may cause subtle bugs
(like the test database not being properly initialized).

Moreover, Spring loads all the Rails files on preloading anyway. So the
gains from using only `spec_helper` are thin.

To streamline this process, this commit:
- Configures `.rspec` to require `rails_helper` by default;
- Remove all manual requires to spec_helper or rails_helper.

Reference: https://stackoverflow.com/questions/24145329/how-is-spec-rails-helper-rb-different-from-spec-spec-helper-rb-do-i-need-it
2020-03-31 12:48:32 +02: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
c21dd3b830 affiche infos d'un usager entreprise uniquement si diffusable
pour un usager de type entreprise qui a choisi de ne pas diffuser publiquement ses infos,
elles sont affichées uniquement aux instructeurs
2020-03-17 15:57:02 +00:00
kara Diaby
395af2fbb0 instructors : receive daily emails for declarative folders 2020-03-17 15:54:50 +01:00
Christophe Robillard
924702699f highlight routing criteria label when updated 2020-03-04 14:56:59 +01:00
Pierre de La Morinerie
d4574bade1 dossier: add a custom message for the dossier owner 2020-02-12 11:49:33 +01:00
Pierre de La Morinerie
7ba76c6658 dossier: add a notice when some attachments of the dossier were lost
On the 22/01/2020, a technical error on the demarches-simplifees.fr
instance made us delete some files attached to some dossiers.

This PR adds a warning when browsing a dossier containing attachments
that were deleted.
2020-02-12 11:49:33 +01:00
Pierre de La Morinerie
792ba73643 factories: ensure that dossiers with_entreprise are consistent 2020-01-21 17:24:56 +01:00
Pierre de La Morinerie
0efb62f03a factories: ensure that dossiers with_individual are consistent 2020-01-21 17:24:56 +01:00
Pierre de La Morinerie
724ff50363 factories: rename dossier for_individual to with_individual
This clarifies the distinction between

```
create :procedure, :for_individual
```

and

```
create :dossier, :with_individual
```
2020-01-21 17:24:56 +01:00
Paul Chavard
c6326bfa77 Fix tests involving attachment urls 2020-01-08 14:46:18 +01:00
simon lehericey
745086cbb5 Simplify view 2019-12-18 13:13:15 +01:00
Paul Chavard
7b947feae4 Rename demarche archivée to demarche close 2019-11-28 15:07:16 +01:00
Pierre de La Morinerie
e7dd9e36d6 specs: fix Capybara warning
Capybara logs several warnings during tests:

> Locator Integer:243 for selector :link must be an instance of String
> or Symbol. This will raise an error in a future version of Capybara.

This is because we use selectors like `have_link(dossier.id)`, where the
locator is a Number (instead of a String or Symbol).
2019-11-28 12:09:12 +01:00
Pierre de La Morinerie
a462edb9bc instructeurs: alias instructeur.email
This also means we need to replace instances of `pluck` on the email
column.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
1c61f2de58 views: refactor the attachment/edit view
Make it more reusable, by:

- Renaming `attachment/update` to `attachment/edit`
- Refactoring the CSS styles into their own stylesheet
- Allow to specify the 'accept' option
2019-10-31 10:27:19 +01:00
Nicolas Bouilleaud
72b7ff221c move procedure to new design 2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
ec6ec6f4aa specs: improve avis factory
The instructeur, dossier and claimant where created regardless of
wether they already existed or not.

With this commit:

- Associations are declarated in a more idiomatic way
- They are correctly not created if they are provided when creating the
object.
2019-10-21 12:57:10 +02:00
simon lehericey
18de25fac7 Display the dossier.groupe_instructeur.label on various screens 2019-10-17 15:48:14 +02:00
Pierre de La Morinerie
db0fede521 views: improve the state button
- Turn the "accepted" infos into standard dropdown sections
- Display the justificatif even if there is no motivation
2019-10-15 12:48:14 +02:00
Pierre de La Morinerie
dd57953b76 views: refactor the state button
Now that all states have a dropdown, we can simplify the code.

This also brings the "Repasser en instruction" action for all states
(including when no attestation or motivation is present).
2019-10-15 12:48:14 +02:00
Pierre de La Morinerie
07f75ff20e views: fix missing attestation link
- Fix the missing link to see attestations (see #4400)
- Fix the "Repasser en instruction" wording being confusing for
  accepted state
- Add lot of tests
2019-10-15 12:48:14 +02:00
Pierre de La Morinerie
0e5f66c5ba views: make the "Voir l'attestation" UI simpler
Instead of adding a button, just turn the "attestation" text into a link
2019-10-15 12:41:37 +02:00
Pierre de La Morinerie
0064c2c610 views: tell an attestation will be sent only if it is true
Previously the message stating "an attestation will be sent" was
displayed even when the attestation was disabled.
2019-10-15 12:41:37 +02:00
Paul Chavard
e7ed408e08 Auto-link valeur des champs
closes #2865
2019-10-07 21:20:24 +02:00
Paul Chavard
11b4698ef3 Fix test 2019-09-17 16:58:11 +02:00
pedong
d2a78abc3a [fix #3975] set buttons floating in dossier page 2019-09-17 16:58:11 +02:00
Nicolas Bouilleaud
543f9894c1 Make sure the “commencer” link uses the proper test path 2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
c26a701a17 Refactor and redesign publish modal
* remove the autocomplete menu
* use ujs to pre-validate the procedure
* tweak the UI
2019-09-17 16:30:48 +02:00
simon lehericey
a2061fba79 wording 2019-09-02 11:41:12 +02:00
simon lehericey
caf1fbca44 Use assign_to 2019-09-02 11:41:12 +02:00
simon lehericey
b541ef0b41 Procedure has many instructeurs with defaut_groupe_instructeur 2019-09-02 11:41:12 +02:00
simon lehericey
dc816472e9 Stub administrateur devise methods in spec 2019-08-14 16:34:50 +02:00
simon lehericey
ad31822a68 Spec: sign_in with instructeur.user 2019-08-13 15:15:16 +02:00
simon lehericey
65a53909e1 Update instructeur factory 2019-08-13 15:15:16 +02:00
simon lehericey
0d71a820a8 Stub instructeur devise methods in spec 2019-08-13 15:15:16 +02:00
simon lehericey
e3fd1cc33a Remove weird switch_devise_profile_service 2019-08-13 15:15:16 +02:00
simon lehericey
3fde2a6f70 Rename gestionnaire in code to instructeur 2019-08-12 13:47:01 +02:00
simon lehericey
6902f84b85 Brutally rename gestionnaire filename to instructeur 2019-08-12 13:47:01 +02:00
simon lehericey
bb8d65c6b4 Subtly rename admin/instructeurs to admin/assigns 2019-08-12 13:47:01 +02:00
Pierre de La Morinerie
ffe081c1f2 specs: remove old pieces_justificative from specs and factories 2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
f825f62ce5 dossier: remove UI for viewing old pieces justificatives 2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
0c4cb3b498 admin: remove UI for managing old pj 2019-07-30 16:11:16 +02:00
clemkeirua
314b0f5dc0 fix tests 2019-07-25 17:15:19 +02:00
Pierre de La Morinerie
92dd91a31b messagerie: add a reply button next to the latest message 2019-07-17 11:43:21 +02:00
Pierre de La Morinerie
b5ed74c09d dossiers: always allow to create a new dossier
Turns out this is confusing for users (some UI elements are present for
some procedures, but not for others).

Better enable it for everyone.
2019-07-09 14:44:30 +02:00
Nicolas Bouilleaud
fac20ed190 Fix Commentaire factory so that the default case creates a valid object 2019-07-08 16:13:43 +02:00
Pierre de La Morinerie
9ce92d5c3b champs: show attachment actions only when the atachment is persisted
Fix #3961
2019-06-20 11:03:08 +02:00
pedong
7ef1a558f4 change date format for all, use try_format_date of helper 2019-06-12 17:48:12 +02:00
Paul Chavard
f6421e081a Refactor attachment view 2019-05-21 14:21:13 +02:00
Paul Chavard
3446782cd0 Remove deprecated editor 2019-05-14 16:18:29 +02:00
Paul Chavard
91f2d7d706 Remove deprecated virus_scan model 2019-05-03 11:07:19 +02:00
Paul Chavard
6e8b9cf668 Refactor piece_jointe template to avoid repetition 2019-05-02 15:58:09 +02:00
Pierre de La Morinerie
d855468cb6 dossiers: display the estimate of the entire processing time
Displaying separate estimations for en_construction and en_instruction
doesn't really make sense for the users: they want to know how
long it is going to take overall, not the petty details of our workflow.
2019-04-30 15:56:27 +02:00
Mathieu Magnin
14c3fb7224 [Fix #3064] Add a preview button for state notifications emails 2019-04-11 11:03:13 +02:00
Pierre de La Morinerie
158d6e1ae6 avis: format newlines in avis
Fix #3738
2019-04-04 10:20:57 +02:00
Pierre de La Morinerie
22f2ca105e commencer: display a FranceConnect button
Fix #3640
2019-04-03 16:08:09 +02:00
Pierre de La Morinerie
abeb58caa5 dossiers: displays an "Start an other dossier" item in action dropdown 2019-03-28 15:26:15 +01:00
Pierre de La Morinerie
d03e340345 dossiers: add an actions menu 2019-03-28 15:26:15 +01:00
Pierre de La Morinerie
d267d782b8 help: add administration contact on /commencer pages 2019-03-28 11:36:24 +01:00
Pierre de La Morinerie
30d11e0dac app: rename new_gestionnaire to gestionnaires 2019-03-26 10:48:59 +01:00
Pierre de La Morinerie
ded5b70444 app: rename new_user to users 2019-03-25 10:56:39 +01:00
Pierre de La Morinerie
69580288a4 help: add a custom help dropdown in gestionnaire context 2019-03-20 11:06:54 +01:00
Pierre de La Morinerie
549b17f75e help: add a custom help dropdown in dossier context 2019-03-20 11:06:54 +01:00
simon lehericey
6607de4827 Notification: add service to send notifications 2019-03-18 16:37:51 +01:00
Paul Chavard
c37f649453 Update specs to use multiple administrateurs 2019-03-12 11:59:01 +01:00
Mathieu Magnin
44f28ec565 Remove feature flag for publish draft 2019-03-12 11:26:07 +01:00
Pierre de La Morinerie
066672803b pj_link: fix an exception when the scan is not associated yet 2019-02-21 16:00:33 +01:00
clemkeirua
4ff9adde27 ajout d'un test auto pour l'affichage de la date de dépot coté instructeur 2019-02-19 12:00:36 +01:00
Paul Chavard
a4a421a91a Champ Repetition dossier display 2019-02-04 15:46:39 +01:00
Pierre de La Morinerie
23276cb9f9 commencer: add temporal context about the dossier
Ref #2225
2019-01-23 16:14:25 +01:00
pedong
6103176a78 [fix #1238] add previsualization attestation for gestionnaire 2019-01-22 14:54:24 +01:00
Pierre de La Morinerie
016e5f2e6f commencer: add an independant page 2019-01-21 14:45:38 +01:00
Paul Chavard
9136c9dfa0 Enable support_form for all 2019-01-17 15:17:48 +01:00
Mathieu Magnin
0e6b5678ad Fix tests 2019-01-17 14:04:59 +01:00
Pierre de La Morinerie
62ee710382 sign_in: remove hack for displaying the procedure context
Before there was no way to display the informations about a procedure
without having a dossier. Thus an empty dossier was created.

Now we can display the informations of a procedure using a @procedure
instance variable, so we can move this hack away.
2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
5d6005dbe9 views: make dossier optional on procedure_footer
This allow displaying the procedure footer even when
there is no dossier yet
2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
d36696442b layouts: migrate sign_in to the shared layout 2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
13f1d4c7d9 views: rename dossier_footer to procedure_footer 2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
6a0996c5f3 specs: refactor a view spec to be clearer and faster 2019-01-10 11:26:43 +01:00
Pierre de La Morinerie
5719107cbc views: fix misnamed textarea template 2019-01-10 11:26:43 +01:00
simon lehericey
e7d5f30192 Admin: small reword in admin procedure ui 2019-01-09 16:25:00 +01:00
Pierre de La Morinerie
e25bd7139f layouts: use a common procedure_context layout for the demarche overview 2019-01-07 15:39:58 +01:00
gregoirenovel
9466442aff Remove the TypeDeChamp decorators 2019-01-03 12:08:25 +01:00
gregoirenovel
b3d0a113eb Use non-breaking spaces in tests 2018-12-03 16:28:18 +01:00
Paul Chavard
c6ef30f3e1 Remove unused carto from instructeur interface 2018-11-27 16:11:25 +01:00
Paul Chavard
5632929d3d Remove old caro editor 2018-11-27 16:11:25 +01:00
pedong
0d02f5896e [Fix #1339] properly display avis confidentiality to experts 2018-11-22 18:38:31 +01:00
Paul Chavard
a7de2e68ed Refactor types_de_champ views to use service instead of facade 2018-11-07 11:36:10 +01:00
Paul Chavard
725e88a89a Rename :procedure_path -> :path 2018-10-30 12:01:45 +01:00
gregoirenovel
0ae8c1d719 [Fix #2880] Do not show our phone number to instructeurs 2018-10-18 18:38:04 +02:00
Pierre de La Morinerie
65bdfacd8c dossier: remove old SIRET code, controllers and views 2018-10-18 15:46:00 +02:00
gregoirenovel
3a973999a3 [Ref #2738] Hide exercices if not gestionnaire 2018-10-17 15:07:29 +02:00
Pierre de La Morinerie
93f1a53dfc dossier: add page for etablissement 2018-10-17 10:37:06 +02:00
Pierre de La Morinerie
54ba0f8e50 dossier: add new page for SIRET identification 2018-10-17 10:37:06 +02:00
gregoirenovel
baf69acbcb [Fix #2833] Move /support files to /fixtures 2018-10-16 10:47:41 +02:00
Paul Chavard
38091963c1 Update carto tests 2018-10-14 12:34:44 +02:00
gregoirenovel
7e4268db67 Enable Style/TrailingCommaInArguments 2018-10-03 12:03:21 +02:00
Paul Chavard
941c529b2c Remove CGU checkbox
fix #2725
2018-10-03 08:59:02 +02:00
Pierre de La Morinerie
36c1aa118d dossier: remove RecapitulatifController
And add a redirection to the new URLs.
2018-10-02 15:42:29 +02:00
Pierre de La Morinerie
f007eaa2ee dossier: enable new UI by default 2018-10-02 12:23:53 +02:00
Pierre de La Morinerie
c79c1a2636 carto: update link to dossier 2018-09-27 17:22:59 +02:00
simon lehericey
88f7e888c3 Administrateur: do not save api_token in clear text anymore 2018-09-27 10:24:56 +02:00
simon lehericey
17285b0368 Profil: display token only once 2018-09-27 10:14:32 +02:00
Pierre de La Morinerie
aae1a22b3b dossier spec: add tests to demande view 2018-09-25 16:47:16 +02:00
Pierre de La Morinerie
613900a053 dossier spec: mutualize demande view specs 2018-09-25 16:47:16 +02:00
Pierre de La Morinerie
23820988be fixup! dossier: allow inviting users on the dossier page 2018-09-24 17:12:15 +02:00
Pierre de La Morinerie
01599ac1e1 dossier: allow inviting users on the dossier page 2018-09-24 17:05:26 +02:00
Pierre de La Morinerie
ea3267c0d7 dossier: don't display 'brouillon' in the timeline if not required
Unless the user is actually editing a brouillon, we don't need to show
this state.
2018-09-18 10:33:11 +02:00
Pierre de La Morinerie
27727eabf3 dossier: add link to attestation when accepted 2018-09-17 16:29:48 +02:00
Pierre de La Morinerie
fd7f07a244 dossier: add link to messagerie when rejected 2018-09-17 16:29:48 +02:00
gregoirenovel
cedf1ba427 footer → dossier_footer 2018-09-13 10:46:32 +02:00
Pierre de La Morinerie
926dc3e107 dossier: display latest message on summary page 2018-09-12 10:09:16 +02:00
gregoirenovel
c1bec7cf0b Pass the connected_user object instead of its email 2018-09-11 18:17:40 +02:00
gregoirenovel
cd46ee06e1 Add DossierController#modifier 2018-09-07 10:19:10 +02:00
gregoirenovel
5ac8117c69 DossierController#modifier → #brouillon 2018-09-07 10:19:10 +02:00
Pierre de La Morinerie
19908ede25 gestionnaire: fix dossier printing page
Fix the invalid template, and add tests.
2018-09-05 16:17:26 +02:00
gregoirenovel
00ecae5f93 Procédure → Démarche 2018-09-05 15:46:24 +02:00
Pierre de La Morinerie
63472f00e6 messagerie: generalize the current user email 2018-09-05 13:56:12 +02:00
Pierre de La Morinerie
4e2a5f0b9b messagerie: move templates to a shared location 2018-09-05 13:56:12 +02:00
Pierre de La Morinerie
d77e0e938f dossier: fix status overview test 2018-09-05 13:55:52 +02:00
Pierre de La Morinerie
d99e606206 dossier: rename status_progress to status_overview 2018-09-05 11:52:04 +02:00
gregoirenovel
6b88968889 Formulaire → demande, when not editable 2018-09-05 11:07:11 +02:00
gregoirenovel
3662b82039 accompagnateur → instructeur 2018-08-29 23:09:08 +02:00
gregoirenovel
4b071ecf06 Use enum to the fullest with Dossier.states 2018-08-29 17:31:08 +02:00
Paul Chavard
509613afe6 Use contact_link helper instead of mailto 2018-08-29 16:08:01 +01:00
gregoirenovel
6b1ab9b552 Remove a now useless facade 2018-08-28 15:38:39 +02:00
gregoirenovel
3d7b239f2b Improve the feedback form question 2018-08-27 14:16:20 +02:00