Commit graph

6060 commits

Author SHA1 Message Date
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
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
Paul Chavard
444d19e191 Remove unused gems 2020-03-17 11:25:21 +01:00
Paul Chavard
ae2cfdd44e Update browser gem
`modern?` method was removed in version 4
2020-03-17 11:25:20 +01:00
Paul Chavard
c281347da1 Remove restclient 2020-03-17 11:12:14 +01:00
Christophe Robillard
d8d9b0922d remove orphan services when destroying admin 2020-03-16 21:40:05 +01:00
Paul Chavard
577d21de5c Use the new robot api id 2020-03-13 15:36:17 +01:00
clemkeirua
63328ffbcf fix error message during admin activation error 2020-03-05 12:01:16 +00:00
pedong
62f82cc83c add dossierChangerGroupeInstructeur mutation 2020-03-05 12:28:16 +01:00
pedong
13ab3b465e add groupe_instructeur in dossier_type 2020-03-05 12:26:04 +01:00
clemkeirua
2eda3b193c fix missing procedure in AdministrationMailer#dossier_expiration_summary 2020-03-05 09:27:19 +00:00
maatinito
9b9eeb7476 #4808 procedure closing date starts now at midnight instead of 00h00 in the morning 2020-03-05 10:15:47 +01:00
maatinito
cbf95c6d86 Better wording for declarative procedure 2020-03-04 08:30:38 -10:00
Christophe Robillard
b5030b8972 highlight demandes when groupe instructeur updated on procedure list 2020-03-04 14:56:59 +01:00
Christophe Robillard
50007b2aac highlight demande tab when groupe instructeur updated 2020-03-04 14:56:59 +01:00
Christophe Robillard
924702699f highlight routing criteria label when updated 2020-03-04 14:56:59 +01:00
kara Diaby
b32ed88f9b add attachment when instructor asking for a review 2020-03-04 13:35:29 +00:00
Paul Chavard
bebefbdffc Fix template interpolation in reaffecter_dossiers 2020-03-04 10:56:14 +01:00
Paul Chavard
c46e012c10 Use dossier.assign_to_groupe_instructeur 2020-03-03 10:30:49 +01:00
Paul Chavard
1ed1aa75cd [GraphQL] add groupeInstructeur on dossier 2020-03-03 10:23:18 +01:00
kara Diaby
44a63ae1c3 fix attestation template error case 2020-02-28 16:33:07 +01:00
kara Diaby
4a70a7fcc8 remove email_notifications_enabled column because of the new daily_email_notifications_enabled 2020-02-27 11:09:19 +01:00
clemkeirua
cfc584f496 suppression des preconditions sur sorted_ids et filtered_ids
Ces preconditions induisent un probleme de n+1. On peut résoudre le problème en supprimant la précondition, ou en incluant les procedures dans les dossiers
J'ai opté pour la suppression de la précondition, qui avait fait débat lors de son introduction:

667deae5cc (diff-b6be6196cd739f8b31e0b195677e46d6R176)
2020-02-26 15:21:42 +01:00
Christophe Robillard
2bd6f01009 log changer_groupe_instructeur 2020-02-26 11:25:07 +01:00
Christophe Robillard
e0f4957dfd notify instructeur after groupe_instructeur changed 2020-02-26 11:25:07 +01:00
Christophe Robillard
fb3d7e45ba unfollow stale instructeurs
when the group instructeur of a dossier is changed, unfollow the
instructeurs who don't belong to the new groupe instructeur
2020-02-26 11:25:07 +01:00
kara Diaby
6102ba6039 Do not permit to upload a GIF file via javascript 2020-02-25 23:33:15 +01:00
Paul Chavard
24d237de9e A cloned procedure should not have canonical relationship 2020-02-25 15:26:43 +01:00
Pierre de La Morinerie
8eb6dd78a1 mailers: fix procedure_after_confirmation in the confirmation email
As mailers are run asynchronously, they don't have access to the
CurrentConfirmation defined in an earlier request.

For the procedure_after_confirmation to be serialized to the Mailer,
we need to pass it at creation time.
2020-02-25 15:17:09 +01:00
Pierre de La Morinerie
6664965961 mailers: add procedure context to the confirmation link
This allows to redirect the user to the procedure they signed up for
even when the browser session is not available (like if they changed
of browser).

Fix #4738
2020-02-25 11:45:36 +00:00
Paul Chavard
be66a8986c Activate champ integer number on all the new procedures 2020-02-25 11:26:37 +01:00
Paul Chavard
ee1a930693
Update app/views/instructeurs/procedures/stats.html.haml
Co-Authored-By: Pierre de La Morinerie <kemenaran@gmail.com>
2020-02-25 09:12:58 +01:00
Paul Chavard
662ef451a9
Update app/views/stats/index.html.haml
Co-Authored-By: Pierre de La Morinerie <kemenaran@gmail.com>
2020-02-25 09:12:48 +01:00
Paul Chavard
d8eb3ebb94 Load chartkick and highcharts only on stat pages 2020-02-25 09:07:07 +01:00
Paul Chavard
0b06864f7a Upgrade core-js 2020-02-24 19:43:07 +01:00
Pierre de La Morinerie
d49217bd72 procedure: improve wording for declarative procedures 2020-02-24 16:48:07 +00:00
Pierre de La Morinerie
cdf48bcfa6 procedure: add a default label to the declarative prompt 2020-02-24 16:48:07 +00:00
Pierre de La Morinerie
480765aa17 procedure: use smaller headers in the edit form 2020-02-24 16:48:07 +00:00
clemkeirua
ae14599245 #4700: export files are antivirus-safe 2020-02-24 16:14:58 +00:00
clemkeirua
14a2be00e2 4806 - ajout de precisions sur l'export CSV 2020-02-24 14:45:01 +01:00
clemkeirua
4343bb3918 Revert "openly fail when not delivering mail"
This reverts commit 415cc2c2f1.
2020-02-20 15:31:43 +00:00
kara Diaby
5dc5230791 Step1 : add new column to Assign_tos and make sure that the data is saved on form submit 2020-02-20 16:14:56 +01:00
clemkeirua
48d2093577 tag 'groupe instructeur' uniquement si la procedure est routee 2020-02-20 14:48:14 +00:00
clemkeirua
059d80ea34 #4785 ajout d'une balise 'groupe instructeur' 2020-02-20 14:48:14 +00:00
Paul Chavard
b7051da278 Remove old export code 2020-02-19 18:19:17 +01:00
Christophe Robillard
bb61500f9b recherche un administrateur par email dans manager 2020-02-19 15:17:36 +01:00
Christophe Robillard
32d1ebe565 add administrateur from manager 2020-02-19 15:17:36 +01:00
Paul Chavard
e931c0800d Remove notify_unhide_to_user and notify_undelete_to_user mailers 2020-02-18 17:56:52 +01:00
Paul Chavard
318baf316e Add notify_en_construction_near_deletion mailer 2020-02-18 17:18:14 +01:00
Paul Chavard
8c77d91e9f Add notify_automatic_deletion_to_administration mailer 2020-02-18 17:18:06 +01:00
Paul Chavard
4e116f06a6 Add notify_automatic_deletion_to_user mailer 2020-02-18 17:15:32 +01:00
kara Diaby
d8223bafa8 Add thousand separator on tabs instructors general view 2020-02-18 15:33:57 +01:00
Christophe Robillard
9f7b78ff8b supprime les colonnes ignorées 2020-02-17 19:03:43 +01:00
Pierre de La Morinerie
d6a9318d05 champ: fix siblings for repetition champs
Fix a crash when requesting the `section_index` of a section header
in a repetition champ.
2020-02-17 17:11:17 +01:00
Christophe Robillard
6e0d1eaee3 remove email ignored column for admin and instructeur 2020-02-17 15:01:40 +01:00
kara Diaby
9287188904 Fix the thousand separator in order to copy/paste without space 2020-02-17 11:31:12 +01:00
Paul Chavard
1ce1c1e6d0 use discard 2020-02-13 12:31:59 +01:00
Pierre de La Morinerie
838133477e form: don't display index if the libelle already starts with a number 2020-02-13 11:21:30 +01:00
Pierre de La Morinerie
f8ed7ec051 form: display index of section in header 2020-02-13 11:18:46 +01:00
Pierre de La Morinerie
e746d90016 mailers: add a link to the procedure when the account already exists 2020-02-12 13:24:52 +00:00
kara Diaby
0b8a59d5e9 Add the possibility to disable weekly email notifications (instructeur) && rename the column email_notifications_enabled to daily_email_notification_enabled 2020-02-12 13:02:31 +00:00
Pierre de La Morinerie
e3ba2ed96c Revert "form: add number to section headers"
This reverts commit f42977e40a.
2020-02-12 13:54:44 +01:00
Pierre de La Morinerie
66112eb14e dossier: add a link to the incident post-mortem 2020-02-12 11:49:33 +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
Paul Chavard
7afeae1408 remove dossier.linked_dossiers 2020-02-11 17:49:22 +01:00
Paul Chavard
0d55743d9f linked_dossiers_for should include dossiers_from_avis 2020-02-11 17:38:58 +01:00
Paul Chavard
f0ea96772d Only invite experts to dossiers instructeur have access to 2020-02-11 17:38:57 +01:00
Paul Chavard
8a514e0713 Fix avis linked dossiers invitation checkbox
fix #4678
2020-02-11 17:38:57 +01:00
Pierre de La Morinerie
c517d22369 form: avoid outlining disabled controls on click 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
1531b69f5a form: make the radio button larger and hoverable
As a bonus, the implementation of vertical radio buttons is now closer
from the default horizontal one.
2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
f42977e40a form: add number to section headers 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
2b47013798 form: improve the appearance of the repetitions header 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
005ff4bed5 form: fix the bottom margin of the siret element 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
8693ca3e3a form: increase the font size of labels and notices 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
00b1eaff41 form: increase spacing between fields 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
58b4c2e53b form: add a $default-fields-spacer constant 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
2532091302 form: improve wording of repetition blocks controls 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
469f4dc6f7 form: remove dead code 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
44e3a70db5 form: increase section title visibility 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
c4e78be77e form: increase hr visibility 2020-02-11 17:36:50 +01:00
Pierre de La Morinerie
7b57a806e9 support: hint about the suggestions board on feature-upvote 2020-02-11 15:35:42 +01:00
simon lehericey
90113f1a22 Remove Rempli column for type de champ 2020-02-11 13:35:55 +00:00
simon lehericey
4f317e84d1 Iterate over type_de_champ in repetition type_de_champ 2020-02-11 13:35:55 +00:00
simon lehericey
a62e9fe6d2 Extract type de champ line 2020-02-11 13:35:55 +00:00
Pierre de La Morinerie
52ea019ba9 app: replace remaining references of DINSIC by DINUM
Fix #4488
2020-02-10 17:46:20 +00:00
Pierre de La Morinerie
123819f5d2 sign_in: remove the hint about password length 2020-02-10 11:07:08 +00:00
kara Diaby
805da59b99 add thousand separators to numbers (instructors page and pdf file) 2020-02-10 09:32:37 +01:00
Christophe Robillard
9fe005e4d7 fix pending demandes 2020-02-05 18:19:05 +01:00
clemkeirua
415cc2c2f1 openly fail when not delivering mail 2020-02-05 10:46:01 +01:00
Pierre de La Morinerie
c16409819b mailers: fix some missing unbreakable space in emails 2020-02-04 17:09:25 +01:00
Christophe Robillard
50fcd24b46 admin: fix pending demandes
fetch email with map
2020-02-04 16:21:42 +01:00
Christophe Robillard
53f420c748 admin: fix sql column ambiguity
administrateurs_instructeurs and users (loaded by
Administrateur.default_scope) have administrateur_id column with same
name. This commit indicates which column to use for GROUP query.
2020-02-04 16:21:42 +01:00
Christophe Robillard
cef776ff9e admin: fix add administrateur to a procedure 2020-02-04 16:21:42 +01:00
Christophe Robillard
f8309c45a6 admin: order by user email 2020-02-04 16:21:42 +01:00
Christophe Robillard
91f1722088 admin: always eager load the user relationship
Now that `Administrateur.email` is merely an alias to
`administrateur.user.email`,
and we changed every occurence of `administrateurs.pluck(:email)` to
`administrateurs.map(&:email)`, the new version using `map` may cause N+1
queries if the users have not been preloaded.

  It makes sense to always preload the user when fetching an
  Administrateur:

  - Administrateur and User have a strongly coupled relationship
  - It avoids N+1 queries everywhere in the app

  Of course fetching an administrateur without needing its user will now do
  an unecessary fetch of the associated user. But it seems better than
  leaving a risk of N+1 queries in many places.
2020-02-04 16:21:42 +01:00
Christophe Robillard
4a1980e95a admin: disable the email column 2020-02-04 16:21:42 +01:00
Christophe Robillard
ed970d3f3c admin: create without providing email 2020-02-04 16:21:42 +01:00
Christophe Robillard
2bb161c3cb admin: alias Administrateur.email 2020-02-04 16:21:42 +01:00
Christophe Robillard
055918aabc admin: replace calls to Administrateur.find_by(email: ...) 2020-02-04 16:21:42 +01:00
Christophe Robillard
c137917396 fix typo 2020-02-04 16:07:01 +01:00
Christophe Robillard
deb11f281f remove useless relation between administrateur and dossiers 2020-02-04 16:07:01 +01:00
Christophe Robillard
5a46effcbc remove useless condition to admin that can be deleted
administrateur can be deleted only if he/she has a procedure where
he/she is the only admin
2020-02-04 16:07:01 +01:00
Christophe Robillard
6fc8a27bd7 destroys not all dossiers
but only dossiers for a specific user
2020-02-04 16:07:01 +01:00
Christophe Robillard
cee4c5b8fb Revert "Revert "4127 fix superadmin supprime compte usager""
This reverts commit 751f24f7bb.
2020-02-04 16:07:01 +01:00
Paul Chavard
5afe158c89 Tweak a bit timeout values for export polling 2020-02-03 15:56:10 +01:00
Paul Chavard
068471003d Add a timeout to select2 queries 2020-02-03 15:34:08 +01:00
Paul Chavard
a86129c3a1 Revert "Revert "Update javascript dependencies and add webpack-bundle-analyzer""
This reverts commit eddd59e554.
2020-02-03 14:54:25 +01:00
Paul Chavard
08400cdd4c Poll for export readiness updates 2020-01-29 22:52:03 +01:00
Keirua
eddd59e554
Revert "Update javascript dependencies and add webpack-bundle-analyzer" 2020-01-29 14:51:55 +01:00
clemkeirua
1c3573c7db fix DoubleRender error for brouillon pdf 2020-01-29 14:24:23 +01:00
clemkeirua
fcea7c4f85 remove invalid excel worksheet characters 2020-01-29 11:45:56 +01:00
Paul Chavard
6030409b2f [GraphQL] Use GraphQL::Types::BigInt instead of Int 2020-01-28 21:48:00 +01:00
Pierre de La Morinerie
96932faa3f models: add a Dossier#with_hidden scope, and remove unscoped usages 2020-01-28 17:32:38 +01:00
Pierre de La Morinerie
1448d5b098 models: add a Procedure#with_hidden scope, and remove unscoped usages
This avoids the broad use of `unscoped` to remove the `hidden_at`
clause.
2020-01-28 17:32:38 +01:00
Paul Chavard
4982039086 Fix fontawesome not tree shaking properly 2020-01-28 16:37:44 +01:00
Paul Chavard
7ebebf2e80 Refactor leaflet code for better loading 2020-01-28 16:37:44 +01:00
clemkeirua
5f65665b07 added a method for modifying a user email 2020-01-28 16:15:46 +01:00
Paul Chavard
0a928b2d6b [GraphQL] use Execution::Interpreter
GraphQL-Ruby 1.9.0 includes a new runtime module which you may use for your schema. Eventually, it will become the default.
2020-01-28 15:39:37 +01:00
Paul Chavard
7478a51846 [GraphQL] use official skylight support 2020-01-28 15:39:37 +01:00
Pierre de La Morinerie
6eaf0f7804 dossiers: fix the sticky bar on IE 11
This allows IE 11 users to see the draft autosave indicator.

The layout on IE 11 is still buggy though - but it's better than
nothing.
2020-01-28 15:20:30 +01:00
Paul Chavard
eec38bad73 Ajouter les informations de l’instructeur et de l’expert dans l’export des avis
fix #4667
2020-01-28 15:09:41 +01:00
Pierre de La Morinerie
9da4fa9f4d dossier: ensure the dossier groupe_instructeur is always present
Otherwise we loose the link to the dossier's procedure, which is
definitely a bad thing.
2020-01-28 14:58:34 +01:00
Pierre de La Morinerie
eb9388d59f dossier: ensure the routing dropdown must be selected
A blank routing dropdown nullify the groupe_instructeur – which
also removes the link between the dossier and the procedure.

Fix #4717
2020-01-28 14:58:34 +01:00
clemkeirua
696e39761f deal with secondary_options that can be nil 2020-01-28 14:30:26 +01:00
clemkeirua
65b4bcf3a1 Permet de déposer un dossier lorsqu'un menu déroulant lié obligatoire n'a pas de valeur (car la liste est légitimement vide) dans le second champ. 2020-01-28 14:30:26 +01:00
Paul Chavard
517ab25783 Register canonical procedure when demarche republished under existing path 2020-01-28 12:49:53 +01:00
Keirua
455f164d02
Detail the reason why we include the search term in the results
Co-Authored-By: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
2020-01-27 16:47:32 +01:00
clemkeirua
9e858ae5ad possibilite de selectionner un resultat quand il n'y a rien dans le champ adresse 2020-01-27 12:51:06 +01:00
Paul Chavard
f03cca4386 Search departements by code 2020-01-23 14:12:19 +00:00
Pierre de La Morinerie
751f24f7bb
Revert "4127 fix superadmin supprime compte usager" 2020-01-21 18:57:54 +01:00
Pierre de La Morinerie
a63c3dbfc4
app: improve wording of the strike banner
Make it clearer that the strike affects only the DS staff.
2020-01-21 16:49:55 +01:00
Christophe Robillard
88e73d4039 raise exception if problem with destroy 2020-01-21 15:05:33 +01:00
Christophe Robillard
675bbdad15 transfere les services lors de suppression admin
Lorsqu'un administrateur est supprimé, ses services sont transférés à un
autre administrateur pour chacune de ses procédures
2020-01-21 15:05:33 +01:00
Christophe Robillard
d9570eedc6 empêche suppression d'un user qui est instructeur 2020-01-21 15:05:33 +01:00
Christophe Robillard
a6d007dbd3 supprime un instructeur 2020-01-21 15:05:33 +01:00
Christophe Robillard
d4de5769ee empêche la suppression d'un user qui est admin 2020-01-21 15:05:33 +01:00
Christophe Robillard
d8a51f986f supprime un utilisateur qui a des dossiers cachés 2020-01-21 15:05:33 +01:00
clemkeirua
fb87a87f47 code review changes 2020-01-20 16:15:02 +01:00
clemkeirua
794e95e6eb fix total count of groupe_instructeur 2020-01-20 16:15:02 +01:00
clemkeirua
12430a8068 ajout d'un écran intermediaire pour gérer la reaffectation des dossiers 2020-01-20 16:15:02 +01:00
clemkeirua
45c8c8ca21 an admin can delete a groupe-instructeur with 0 dossier 2020-01-20 16:15:02 +01:00
clemkeirua
d6e7799370 removed routing condition in weekly summary 2020-01-20 14:23:19 +01:00
clemkeirua
7e15c6a4a4 add filtering by group in procedure_overview
The weekly overview do not work for instructeurs in procedures with multiples groups ;
they see dossiers that they do not have access to. Now the correct filter is added
2020-01-20 14:23:19 +01:00
Paul Chavard
4edc7b00cf Use geocoder 2020-01-15 15:04:04 +01:00
Paul Chavard
14295db9ad Revert "Revert "Merge pull request #4552 from tchak/champ-communes""
This reverts commit 4373cb22cb.
2020-01-14 18:46:07 +01:00
clemkeirua
1a1d4a9c29 coexistence de l'ancien comportement avec le nouveau 2020-01-14 09:30:08 +01:00
clemkeirua
8da1185a5d ajout des dates de changement de statut 2020-01-14 09:29:29 +01:00
clemkeirua
18e21f75c9 Retours de code review
- message_date_with_year systématique pour les messages
 - tous les commentaires sont affiché
 - gestion du champ 'Explication'
2020-01-14 09:29:29 +01:00
clemkeirua
cf385e326c infos usagers, entreprise et champ siret 2020-01-14 09:29:29 +01:00
clemkeirua
bc506bf693 ajout d'un lien d'export pdf usager 2020-01-14 09:29:29 +01:00
clemkeirua
b153b0e5e2 modification du lien d'export pdf instructeur 2020-01-14 09:29:29 +01:00
clemkeirua
85d4adbf8b ajout de l'export pdf pour instructeur 2020-01-14 09:29:29 +01:00
clemkeirua
4373cb22cb Revert "Merge pull request #4552 from tchak/champ-communes"
This reverts commit 4cec26f73a, reversing
changes made to 0ef25ef36c.
2020-01-13 16:26:27 +01:00
Christophe Robillard
0f881f942b raise if trying to del a user who can't be deleted 2020-01-13 10:06:43 +01:00
Christophe Robillard
696a058280 delete adminis with procs managed by other admins 2020-01-13 10:06:43 +01:00
Christophe Robillard
9a62d3fe0c delete a user 2020-01-13 10:06:43 +01:00
Christophe Robillard
58ef36ff57 tells if a user can be deleted 2020-01-13 10:06:43 +01:00
Paul Chavard
785a09b326 Use service_url instead of blob_url on secure attachments 2020-01-08 14:43:05 +01:00
Paul Chavard
cccb04d725 ActiveStorage url should expire after an hour 2020-01-08 14:43:05 +01:00
Pierre de La Morinerie
b3558c497d dossiers: make build_default_individual explicit
It avoid the use of callbacks, and may avoid situations where an empty
individual is implicitely created.
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
5e05556ee8 dossiers: add a validation on dossier individual
Validate that a dossier on a `for_individual?` procedure always has
an `individual` associated record.

For this, the individual needs to be built before the record is
validated (i.e. even before the `before_create` callback is run).

This should help with #4596: now if a dossier is created without an
`individual`, or if the `invividual` record is later removed, the
validation will fail.
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
e32a42cfe6 dossiers: split the dossier creation on several lines 2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
5b2311c851 dossiers: rescue RecordNotFound only for procedures
This ensures that we won't rescue an `ActiveRecord::RecordNotFound`
exception related to another object.
2020-01-08 10:48:21 +01:00
Paul Chavard
e61e39d345 Remove unused code and tests 2020-01-07 11:52:51 +01:00
Paul Chavard
ff46ee366e Fix user brouillon spec 2020-01-07 11:52:51 +01:00
Paul Chavard
4bbd16576b Add champ communes 2020-01-07 11:52:51 +01:00
Paul Chavard
22aa2d4ee0 Make all location champs autocomplete 2020-01-07 11:52:51 +01:00
Paul Chavard
fa2eea81aa Cleanup demarche archivee state 2020-01-07 11:13:42 +01:00
clemkeirua
4f604c8b0a put the strike banner behind a feature-flip 2020-01-06 15:25:43 +01:00
Pierre de La Morinerie
a5f2c84cbf sign_up: fix suggestions error when navigating away
When navigating away from the page, the field receives the 'focusout'
event – but stops to be present in the DOM.

Thus we need to check that the DOM element is actually present.
2019-12-19 17:45:14 +01:00
Pierre de La Morinerie
8eb295d67e dossiers: avoid exceptions on invalid AASM transitions
When attempting an invalid transition on a dossier, provide a meaningful
error message (instead of letting an `AASM::InvalidTransition` exception
propagate).

This handles not only the case where the same state is applied twice
(which was already handled manually), but all cases where the transition
is invalid.
2019-12-19 13:25:32 +01:00
Pierre de La Morinerie
c7a307553c helpers: allow dossier_display_state to take a state as input
This allow to use either:

- `dossier_display_state(dossier)`
- `dossier_display_state(:en_construction)`
2019-12-19 13:22:40 +01:00
simon lehericey
2ee559c748 Fix typo in purges_stale_exports_job filename 2019-12-18 13:35:04 +01:00
simon lehericey
60538c9c28 Controller use new export model 2019-12-18 13:13:15 +01:00
simon lehericey
745086cbb5 Simplify view 2019-12-18 13:13:15 +01:00
simon lehericey
ce7ab89934 Add purge stale export job 2019-12-18 13:13:15 +01:00
simon lehericey
d0939ae1a4 Add Export Model 2019-12-18 13:13:15 +01:00
simon lehericey
d0f0533a32 Remove unused code 2019-12-18 13:13:15 +01:00
simon lehericey
f069f6f779 Make the new instructeur receive the affectation mail 2019-12-16 18:20:00 +01:00
simon lehericey
c02e8b9553 Routing: send emails to the right group 2019-12-16 17:47:08 +01:00
clemkeirua
c2c3f05262 p'tit fix d'utilisabilité 2019-12-16 09:49:23 +01:00
simon lehericey
278659dcb3 fix footer without tel 2019-12-12 15:57:47 +01:00
maatinito
9672d892e9 Bug with time zone: Time.zone.today looses time_zone and may breaks database comparisons 2019-12-11 17:34:10 +01:00
simon lehericey
058442c84e [link to #4557] An instructeur cannot change its email on its own 2019-12-11 17:18:21 +01:00
simon lehericey
21910c959e @current_user -> current_user 2019-12-11 17:18:21 +01:00
simon lehericey
301653bb89 Only display email form if the user is not instructeur 2019-12-11 17:18:21 +01:00
Paul Chavard
6b5793f0b9 [GraphQL] fix a crash in mutations with an attachment 2019-12-11 13:22:32 +01:00
Paul Chavard
422b7f37ec [GraphQL] expose file information 2019-12-11 12:34:49 +01:00
Pierre de La Morinerie
ef76af5546 app: add a site-wide banner for the national strike 2019-12-04 17:32:04 +01:00
Paul Chavard
2f060fc30a Add depubliee state to procedures 2019-12-04 16:52:41 +01:00
Paul Chavard
3a142fea40 Isolate react components from react loaders 2019-12-04 16:26:59 +01:00
Paul Chavard
03326169c5 Always load IntersectionObserver to fix old browsers
fix #4614
2019-12-04 16:26:59 +01:00
Pierre de La Morinerie
7f2d5f6248 app: unify pre-maintenance banner with other site-wide banners 2019-12-04 15:29:15 +01:00
Pierre de La Morinerie
704ac64f63 stylesheet: move all browser banner styles into site-banner.scss 2019-12-04 15:25:37 +01:00
Paul Chavard
e5f582d644 Afficher la description du champ répétable
fix #4579
2019-12-04 14:28:31 +01:00
Paul Chavard
b5eafdab56 [GraphQL]: informations du service 2019-12-04 14:21:40 +01:00
Paul Chavard
fd42fafcb4 [GraphQL]: informations du demandeur du dossier 2019-12-04 12:39:29 +01:00
Paul Chavard
34afc44813 Expose declarative démarche state in GraphQL 2019-12-04 12:30:26 +01:00
Paul Chavard
e429c79eb1 Allow administrators to set themselves démarches as déclaratives 2019-12-04 12:30:26 +01:00
Christophe Robillard
e35dcad5ae rend le téléphone obligatoire côté client 2019-12-04 05:34:43 +01:00
Christophe Robillard
77b647fe25 N'affiche pas un telephone inexistant d'un service 2019-12-04 05:34:43 +01:00
Christophe Robillard
6eb36482bc rend lisible l'explication d'un contact valide 2019-12-04 05:34:43 +01:00
Christophe Robillard
8ee6657f1e rend le champ telephone optionnel côté client 2019-12-04 05:34:43 +01:00
Christophe Robillard
4e7c779116 refuse les numéros de tel invalides
rend facultatif les numéros de téléphone
2019-12-04 05:34:43 +01:00
Christophe Robillard
b60aff8468 explique en détail l'importance de renseigner des info de contact valides 2019-12-04 05:34:43 +01:00
Christophe Robillard
0b518844dc explique pourquoi un tel valide est important 2019-12-04 05:34:43 +01:00
simon lehericey
508ba8f116 Add seek_and_destroy_expired_dossier 2019-12-03 17:18:53 +01:00
simon lehericey
006e426a11 Work on deletion mail 2019-12-03 17:18:53 +01:00
simon lehericey
79bfb8b143 Delete expired dossiers 2019-12-03 17:18:53 +01:00
simon lehericey
6391f7ff9c Work on notify_near_deletion mailer 2019-12-03 17:18:53 +01:00
simon lehericey
03b7e81ca4 Send deletion notice for near expired brouillon 2019-12-03 17:18:53 +01:00
Pierre de La Morinerie
f351ade434 javascript: expose Turbolinks globally
When calling `redirect_to` in a Rails controller that emits Javascript,
Rails will emit `Turbolinks.replace(…)` commands. And for this,
Turbolinks needs to be globally available.
2019-12-03 16:28:47 +01:00
Pierre de La Morinerie
3212dfddca app: allow hiding the browser banner for one week 2019-12-03 16:09:18 +01:00
Pierre de La Morinerie
299f9df375 app: on the old design, move the deprecation banner to a better location
Otherwise it hides the "Change role" controls.
2019-12-03 16:02:08 +01:00
Pierre de La Morinerie
2b934610a0 app: improve the browser deprecation banner appearance 2019-12-03 16:02:08 +01:00
clemkeirua
8b1535e462 ajout de pagination au sommet de la liste des dossiers 2019-12-03 14:55:43 +01:00
Pierre de La Morinerie
5928a16b37 Amélioration de la mise en page 2019-12-03 14:06:12 +01:00
clemkeirua
841b00bafe focus sur le mot de passe lorsqu'on traite les suggestions 2019-12-03 14:06:12 +01:00
clemkeirua
8cab6ae19f retours divers 2019-12-03 14:06:12 +01:00
clemkeirua
fdec2e04c3 la boite de suggestion d'email est en dessous du champ email 2019-12-03 14:06:11 +01:00
Pierre de La Morinerie
fb3f82074d Hide the suggestions when the user corrects the address 2019-12-03 14:06:11 +01:00
Pierre de La Morinerie
1d1260060e Fix the tests by using event delegation 2019-12-03 14:06:11 +01:00
clemkeirua
80b68afab5 implement email suggestion 2019-12-03 14:06:11 +01:00
clemkeirua
0bfdb2d5da fermeture et acceptation de la suggestion d'email 2019-12-03 14:06:11 +01:00
Christophe Robillard
3db2d44fc0 affiche un warning pour l'email qqsoit l'email 2019-12-03 14:06:11 +01:00
clemkeirua
9e44af70b5 minor typo in textareas 2019-12-03 10:13:16 +01:00
clemkeirua
233c93bb7c move p outside of label 2019-12-03 10:07:04 +01:00
clemkeirua
d712cc7a35 move ul outside of p 2019-12-03 10:07:04 +01:00
clemkeirua
9ae1a3c2d3 add missing alt 2019-12-03 10:07:04 +01:00
simon lehericey
4175aa0b28 GroupeInstructeur: do not use outdated email column 2019-12-02 14:52:01 +01:00
Paul Chavard
b845753a60 Fix admin creation
fix #4592
2019-11-29 20:14:35 +01:00
Paul Chavard
7b947feae4 Rename demarche archivée to demarche close 2019-11-28 15:07:16 +01:00
Paul Chavard
2cf415dc41 Simplify React components loader 2019-11-28 14:45:40 +01:00
Paul Chavard
c1c8ab7ac6 Disable transition from publiée to brouillon 2019-11-28 14:17:47 +01:00
Paul Chavard
3e334a3306 Drop test_started_at
# Conflicts:
#	spec/models/procedure_spec.rb
2019-11-28 14:17:47 +01:00
benjaminhenkel
09d0c8d8a4 Correction d'une petite faute 2019-11-27 16:13:17 +00:00
Pierre de La Morinerie
b9fd844633 dossiers: fix autosave not ignoring file inputs
The dossier autosave is supposed to ignore file inputs (which are
handled differently by ActiveStorage).

Fix a typo in the CSS selector.
2019-11-27 13:57:39 +00:00
simon lehericey
6657459f9c Fix add instructeur with empty mail
As select2 does not handle required attribute, we can only add server side logic
2019-11-27 14:39:16 +01:00
simon lehericey
71051441d6 only one h1 2019-11-27 12:59:08 +00:00
simon lehericey
38d433b53d Add some role 2019-11-27 12:59:08 +00:00
simon lehericey
07112f2e15 Remove alt on decorative image 2019-11-27 12:59:08 +00:00
simon lehericey
2f47495173 Use h1 tag for .hero-tagline 2019-11-27 12:59:08 +00:00
simon lehericey
9296e24452 Reduce marianne image to 65px wide as ie11 cannot resize svg 2019-11-27 12:59:08 +00:00
simon lehericey
d4f256b735 Use text instead of image for logo
- "it is good design practice to use actual text that is styled with CSS rather than image-based text presentation" (https://www.w3.org/WAI/tutorials/images/textual)

- mm markup que https://www.gov.uk/ et que https://www.w3.org/WAI/tutorials/images/decorative/#decorative-image-as-part-of-a-text-link
2019-11-27 12:59:08 +00:00
Paul Chavard
e9f993fe0c [GraphQL]: normalize date names in French 2019-11-27 12:23:00 +01:00
Pierre de La Morinerie
52051914aa editor: disable the "Add champ" button until the champ is saved
Otherwise some champs are created before the previous one has been
saved, and React complains that several champs have the same
`champ-undefined` key.

(Plus it made the tests flaky and unreliable.)
2019-11-27 11:58:46 +01:00