Commit graph

5505 commits

Author SHA1 Message Date
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
Christophe Robillard
ba8cd8dde0 add explanation for deleted dossiers 2020-03-25 10:19:07 +01:00
Christophe Robillard
78fcdd42a6 refactor 2020-03-25 10:19:07 +01:00
Christophe Robillard
fcfa19a4aa add deleted dossiers title 2020-03-25 10:19:07 +01:00
Christophe Robillard
73d7ef4436 add space to deleted_dossier cells 2020-03-25 10:19:07 +01:00
Christophe Robillard
459153978d paginate deleted dossiers 2020-03-25 10:19:07 +01:00
Christophe Robillard
b4b92accf1 instructeur: show deleted dossiers for a procedure 2020-03-25 10:19:07 +01:00
maatinito
1af32b29fd #4807 Use now() instead of Date.time.today (better code homogeneity) 2020-03-24 17:09:14 -10:00
maatinito
a4ba48fbce #4807 separate job 2020-03-24 16:46:24 -10:00
maatinito
8ff34780d1 #4807 better wording 2020-03-24 16:46:24 -10:00
maatinito
f5c2dc03c5 #4807 better method/variable naming 2020-03-24 16:46:23 -10:00
Christian Lautier
e61c53f267 Fix #4807 48h before closing a procedure, notify users their draft is not submitted 2020-03-24 16:46:23 -10:00
clemkeirua
5896aedeeb added extension bouton to en_construction dossiers bound to expire 2020-03-24 18:10:51 +01:00
clemkeirua
6d02e6e9e8 replaced helper has_html_label? with inheritance 2020-03-24 16:54:36 +00:00
clemkeirua
2ecb9cd5a2 rename .label-not-label class into .form-label 2020-03-24 16:54:36 +00:00
clemkeirua
dc2b4598a5 remove orphaned label in identity screen 2020-03-24 16:54:35 +00:00
clemkeirua
5321f7c708 ajout de labels invisibles sur les champs d'invitation 2020-03-24 16:54:35 +00:00
clemkeirua
1a58dd69c2 replace html labels with h2 elements
Some elements should not be html labels, for example when they include sub-elements that contain labels (ex: a radio button that has a label on its own). Those are replaced with title elements
2020-03-24 16:54:35 +00:00
clemkeirua
62591623f4 ajout d'un label invisible pour le champ secondaire d'un menu déroulant lié 2020-03-24 16:54:35 +00:00
clemkeirua
26b20b719f ajout d'un label invisible sur le bouton 'mon compte' 2020-03-24 16:54:35 +00:00
clemkeirua
ce3e60190f add hidden label to 'Rechercher' in layout 2020-03-24 16:54:35 +00:00
clemkeirua
2e4f003ac8 ajout d'un fieldset sur le champ civilité 2020-03-24 16:54:35 +00:00
clemkeirua
6a24a9b84e ajout d'un fieldset sur les champs oui/non 2020-03-24 16:54:35 +00:00
simon lehericey
03c23507ae Remove obsolet procedure <-> instructeurs link (which did not work) 2020-03-24 15:52:37 +01:00
simon lehericey
378443eb5b Fix admin/new manager page 2020-03-24 15:52:37 +01:00
Pierre de La Morinerie
a716713ed6 locales: fix translation of champ value
Due to the extra 's', the names of Champs attributes were never
translated.
2020-03-24 15:42:02 +01:00
Paul Chavard
5c2eba1dd1 Always add a reason to dossier deletion 2020-03-24 09:30:11 +01:00
Paul Chavard
9243ae69df Add reason to DeletedDossier
# Conflicts:
#	db/schema.rb
2020-03-24 09:30:11 +01:00
Paul Chavard
903cf0cef5 Keep operation logs after dossier removal 2020-03-24 09:18:45 +01:00
Pierre de La Morinerie
e908b42b43 javascript: move the autosave files to a sub-directory 2020-03-23 14:02:29 +01:00
kara Diaby
1f27652cd3 add files validations to models 2020-03-23 11:28:13 +01:00
simon lehericey
969d5625c8 fix missing rename 2020-03-20 22:28:52 +01:00
kara Diaby
eb8df80c18 fix the email notifications data bug 2020-03-20 16:38:57 +01:00
Christophe Robillard
d46bcecc51 improve code readbility 2020-03-20 10:41:36 +01:00
Christophe Robillard
775cc11d30 include store_location_extension for all controllers 2020-03-20 10:41:36 +01:00
Christophe Robillard
884de51b94 Revert "Revert "go to procedure after cliking link""
This reverts commit 952bae32fe.
2020-03-20 10:41:36 +01:00
Pierre de La Morinerie
ec2199f7b1 javascript: make utils.ajax() return a promise
This allow to use `await ajax(…)`, and still have Rails manage the
request, insert the proper headers and tokens, etc.
2020-03-19 18:28:24 +01:00
Paul Chavard
cd0acb1344 Cleanup dossier mailers 2020-03-19 16:52:18 +01:00
simon lehericey
a10aa9602a do not link to deleted dossier 2020-03-18 15:25:02 +01:00
simon lehericey
ede61ee22b refacto 2020-03-18 15:25:02 +01:00
simon lehericey
50bb2e6a08 refacto 2020-03-18 15:25:02 +01:00
simon lehericey
f35c0518b7 test for #delete_expired_en_construction_and_notify 2020-03-18 15:25:02 +01:00
simon lehericey
043847ae6e change notify_automatic_deletion_to_administration signature 2020-03-18 15:25:02 +01:00
Paul Chavard
fe1cd2a47b Delete and notify en_construction dossiers 2020-03-18 15:25:02 +01:00
Paul Chavard
85580ce34e rename SeekAndDestroyExpiredDossiersJob to ExpiredDossiersDeletionJob 2020-03-18 15:25:02 +01:00
Paul Chavard
6a5a83d555 update WarnExpiringDossiersJob to use new scope 2020-03-18 15:25:02 +01:00
Paul Chavard
77018b9e2b Add expiration scopes to dossier 2020-03-18 15:25:02 +01:00
Paul Chavard
f35ccc9d92 Move process_expired_dossiers_brouillon to a service 2020-03-18 15:25:02 +01:00
Christophe Robillard
952bae32fe Revert "go to procedure after cliking link"
This reverts commit 795eabb1ea.
2020-03-18 14:45:39 +01:00
maatinito
ee3f5652f9 fix #4892 Allows cancelling declarative mode on procedure 2020-03-18 12:07:40 +01:00
Christophe Robillard
795eabb1ea go to procedure after cliking link
even for an instructeur which is not signed in and unstrusted
2020-03-18 11:16:19 +01: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
Christophe Robillard
91abcd7792 récupère les infos d'établissement avec infos non diffusables 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
clemkeirua
debc6628d8 generation d'un fichier pdf bien nommé
La route ne contient pas '.pdf' dans l'url, mais le controller génère un fichier pdf du nom de la procédure et lance le téléchargement immédiatement
2020-03-17 15:00:03 +01:00
clemkeirua
76488ec758 ajout de l'adresse du service où envoyer le dossier 2020-03-17 15:00:03 +01:00
clemkeirua
ca7f81b6ed add a feature-flip for procedure PDF export 2020-03-17 15:00:03 +01:00
clemkeirua
90a0879d71 ajout du bouton pour telecharger un pdf vide 2020-03-17 15:00:03 +01:00
clemkeirua
8c44133fd1 ajout de l'intitule des procedures en haut de page 2020-03-17 15:00:03 +01:00
clemkeirua
269881db12 generation d'un pdf vide à partir d'une procedure 2020-03-17 15:00:01 +01:00
Paul Chavard
3cd4597006 Update rubocop roules 2020-03-17 11:25:21 +01:00