Christophe Robillard
8111babdd6
user: revoque un invité sur un dossier
2020-07-14 18:25:31 +02:00
Pierre de La Morinerie
e34f82a6fb
mailers: ignore more SMTP errors
...
Although we already ignore "invalid recipient" errors, a new type
of error recently popped: the mail service responds with
> Net::SMTPServerBusy '400 unexpected recipients: want atleast 1, got 0'
We want to also ignore this kind of errors.
2020-07-13 16:17:55 +02:00
Pierre de La Morinerie
7a67f1a802
jobs: ignore missing blob during virus scan
...
We currently have many failed VirusScannerJob enqueued, because the
underlying blob is missing.
This PR fixes the issue by discarding the job in those cases (because if
the blob is gone, the job is never going to succeed).
The implementation is based on a similar issue encoutered by the
ActiveStorage::AnalyzeJob. See 06f8baf73c
2020-07-13 14:35:41 +02:00
Pierre de La Morinerie
b82c269cef
specs: test de-serialization of job arguments
...
When the job is invoked directly, the serialization and de-serialization
of the job arguments is not actually tested.
Using `perform_later` inside a `perform_enqueued_jobs` allows to
exercise the serialization.
2020-07-13 14:31:28 +02:00
kara Diaby
ba6b89743c
put pending testsz
2020-07-13 12:24:48 +02:00
Kara Diaby
cf5eb3f251
Revert "Feat/5287 - New design for admin procedure detail"
2020-07-13 11:36:42 +02:00
Pierre de La Morinerie
c41afc425e
tasks: remove old after_party tasks
...
Fixes a task that since became invalid:
> NameError: uninitialized constant SeekAndDestroyExpiredDossiersJob
> /lib/tasks/deployment/20191203142402_enable_seek_and_destroy_job
2020-07-09 18:18:09 +02:00
kara Diaby
7f3b38cfee
Merge admin dashboard to new design for procedure details
2020-07-09 12:18:22 +02:00
Paul Chavard
cb8cac395b
fix spec name
2020-07-08 19:28:17 +02:00
Paul Chavard
3b9e6dba25
Update spec/models/type_de_champ_shared_example.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-08 19:28:17 +02:00
Paul Chavard
84ff75ed6b
Update spec/models/type_de_champ_shared_example.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-08 19:28:17 +02:00
Paul Chavard
a92320e246
Update spec/models/type_de_champ_shared_example.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-08 19:28:17 +02:00
Paul Chavard
d8e864a7d9
Update spec/models/type_de_champ_shared_example.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-08 19:28:17 +02:00
Paul Chavard
660c95356b
Update spec/models/type_de_champ_shared_example.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-08 19:28:17 +02:00
Paul Chavard
a74e52c828
Call remove_drop_down_list on before_save
2020-07-08 19:25:05 +02:00
Paul Chavard
3c9cc6c070
Remove repetition types_de_champ on type_champ change
2020-07-08 19:25:05 +02:00
Christophe Robillard
2c56511204
validate api_entreprise_token
2020-07-08 18:59:22 +02:00
Christophe Robillard
7fd4d46e8e
remove empty spec file
2020-07-08 18:15:15 +02:00
Christophe Robillard
1253bb5994
store instructeur_email in traitement
2020-07-08 18:15:15 +02:00
Christophe Robillard
8f9d6d2871
show which instructeur took decision and when
...
and also replace "sans suite" by "classé sans suite"
2020-07-08 18:15:15 +02:00
Christophe Robillard
cea170e4a6
update stats with traitement model
2020-07-08 18:15:15 +02:00
Christophe Robillard
0be4b50ade
update usual_traitement_time with traitement model
2020-07-08 18:15:15 +02:00
Christophe Robillard
a072d35211
use traitement model
...
when a dossier is terminated (accepte, refuse or classe_sans_suite),
we store now `processed_at` and `motivation` in a traitement instance
2020-07-08 18:15:15 +02:00
Christophe Robillard
f631acd118
update state date in aasm after callbacks
...
call aasm event methods, not state methods directly
2020-07-08 18:15:15 +02:00
Pierre de La Morinerie
2f7fbc8474
specs: fix shared/attachement/_update.html.haml
spec
...
Avoid purging a non-saved file.
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
04a6862fa6
spec: fix application_controller_spec
...
Rails controllers now looks for `media_type` rather than `content_type`.
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
0a3b4f7476
specs: fix some test helpers
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
2261c6c5d2
specs: refactor dossiers_controller_spec
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
b8706757e3
controllers: disable explicit purge of invalid file
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
719915e69f
attestations: fix test of the logo preview
...
Now that attaching the logo doesn't save it, we can safely display the
preview without saving the logo first.
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
35240e2219
lint: fix Rubocop warnings
...
The Rails/UniqueValidationWithoutIndex rule is disabled for now, but
we'll need to re-enable it (and fix the underlying issues) after the
migration to Rails 6.
2020-07-07 18:03:56 +02:00
Paul Chavard
6cc76cdf05
WIP
2020-07-07 18:03:56 +02:00
Paul Chavard
04feada77e
Use respond_to
2020-07-07 18:03:56 +02:00
Paul Chavard
c9ab80c880
WIP
2020-07-07 18:03:56 +02:00
Paul Chavard
13c21d89af
Fix attestation_template spec
2020-07-07 18:03:56 +02:00
Paul Chavard
6a24c3f812
Rails app:update
2020-07-07 18:03:56 +02:00
Judith
9793128f61
'Services' routes moved under 'new_administrateur' scope and '/admn' added in their url
2020-07-07 14:08:01 +00:00
Judith
782706537d
Changed the routes to pass all new design admin pages under
...
'new_administrateur' scope, except 'services'.
As a result, the url of these pages will all include '/admin'.
2020-07-07 14:08:01 +00:00
Pierre de La Morinerie
975d1648d5
dossier: fix PDF rendering of effectif_mensuel
...
The effectif_mensuel was a number, it needs to be converted explicitely
into a string.
As a bonus, `nil.to_s` is `""`, so we can remove the special case for
nil.
2020-07-06 11:41:25 +02:00
Pierre de La Morinerie
060bf1f9ca
factories: flesh out the default etablissement for a dossier
2020-07-06 11:41:25 +02:00
clemkeirua
ca74ae5a5e
ajout d'une bannière de dépréciation pour IE11
2020-07-06 10:01:02 +02:00
Myriam
0f542527fb
Instructeur : add overview table with counts for files
...
- changement du design
- tableau visible seulement si plus d'une procédure
2020-07-02 09:02:49 +00:00
Myriam
a486fe9a2e
Instructeur : add overview table with counts for files
...
nombre total de dossier :
- 'à suivre'
- 'suivi'
- 'traité'
- 'dossier'
- 'archivé'
2020-07-02 09:02:49 +00:00
bors[bot]
a37dd3c8cf
Merge #5318
...
5318: specs: use `fixture_file_upload` rather than `Rack::Test::UploadedFile` r=Keirua a=kemenaran
This is mostly for consistency (both styles were used before).
Note: we still have to use `Rack::Test::UploadedFile.new` in factories,
because of thoughtbot/factory_bot#385 .
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2020-07-01 11:54:51 +00:00
bors[bot]
b135b5cfb0
Merge #5316
...
5316: fix missing aria-labels in footer r=Keirua a=Keirua
début du cleanup des exclusions d'accessibilité
(et bon candidat pour tester si bors fonctionne comme prévu)
Co-authored-by: clemkeirua <clement@keiruaprod.fr>
2020-07-01 09:28:02 +00:00
Pierre de La Morinerie
43569f687e
specs: use fixture_file_upload
rather than Rack::Test::UploadedFile
...
This is mostly for consistency (both styles were used before).
Note: we still have to use `Rack::Test::UploadedFile.new` in factories,
because of https://github.com/thoughtbot/factory_bot/issues/385 .
2020-07-01 11:13:45 +02:00
Christophe Robillard
cce1435faf
remove precision for currency
2020-07-01 09:28:18 +02:00
Christophe Robillard
1d86f863d3
rename avis#all to avis#index
2020-06-30 09:17:27 +02:00
Christophe Robillard
bbec76d33b
rename avis#index to avis#procedure
2020-06-30 09:17:27 +02:00
Christophe Robillard
63dd71aed4
display all avis for an expert
2020-06-30 09:17:27 +02:00
Christophe Robillard
29e2d3d7eb
display all avis for a procedure for an expert
2020-06-30 09:17:27 +02:00
Christophe Robillard
c565c9c87b
refactor sign_up_instructeur_avis_url
2020-06-30 09:17:27 +02:00
Christophe Robillard
b0aa005769
remove dead code
2020-06-30 09:17:27 +02:00
Christophe Robillard
4839506374
refactor instructeur_avis_url
2020-06-30 09:17:27 +02:00
Christophe Robillard
b0cfb2c02a
refactor messagerie_instructeur_avis_url
2020-06-30 09:17:27 +02:00
Christophe Robillard
83fba55b29
refactor instruction_instructeur_avis_url
2020-06-30 09:17:27 +02:00
Christophe Robillard
72d27ffdb2
replace instructeur_avis_index url by instructeur_all_avis url
2020-06-30 09:17:27 +02:00
Christophe Robillard
dcb9afaf25
refactor expert avis url : fix avis_controller_spec
2020-06-30 09:17:27 +02:00
Christophe Robillard
3e1afa8bf9
fix avis spec
2020-06-30 09:17:27 +02:00
clemkeirua
1072bacb12
fix missing aria-labels in footer
2020-06-29 15:31:14 +02:00
kara Diaby
6b07cc0659
Move admin/assigns to the new UI like groupe_instructeurs
2020-06-29 14:44:28 +02:00
clemkeirua
f7d957e59a
rename 'Menu déroulant' in specs
2020-06-29 08:59:12 +00:00
clemkeirua
031f59c9e1
add wcag accessibility tests for usager pages using axe-core
2020-06-26 17:10:26 +02:00
Paul Chavard
210389d0f8
Remove admin creation notification email
2020-06-25 16:29:06 +02:00
Paul Chavard
97f91513c8
Store drop_down_list values as jsonb
2020-06-25 13:14:17 +02:00
Pierre de La Morinerie
acc1cb1abd
dossier: export PJs from private champs
...
Fix #5297
2020-06-24 15:42:30 +02:00
Pierre de La Morinerie
b83a76a0a1
dossier: refactor piece_justificative specs
...
Use `eq` rather than `be` for integers.
2020-06-24 15:42:30 +02:00
clemkeirua
465449e684
fix unit tests
2020-06-24 12:18:56 +02:00
Christophe Robillard
954d41ce4e
fetch effectifs mensuels for may month
2020-06-24 10:23:00 +02:00
Pierre de La Morinerie
af5b36ea6a
helpers: prevent some texts to be incorrectly detected as links
...
Users were having issues with texts like:
> Pour info: penser à faire cette action.
where `info:` was detected as being an URI.
2020-06-22 14:42:41 +02:00
simon lehericey
fecad19b91
add maintenance mode
2020-06-22 11:17:22 +02:00
jpoulvel
adaf0753b0
Merge branch 'dev' into instruct-filter-yes-no
2020-06-16 14:53:22 +02:00
Paul Chavard
c4896b45ad
Prepare to remove dossier procedure_id
2020-06-11 16:13:44 +02:00
Christophe Robillard
8df9ae3a8d
ask only effectifs for april
2020-06-10 17:41:13 +02:00
Judith
9be58aa012
only downcasing search values for yes_no type_de_champs
2020-06-10 15:55:25 +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
d099314e56
Add decription to geo_area
2020-06-09 18:45:45 +02:00
Christophe Robillard
2fd88e3a17
affiche uniquement l'année pour les bilans
2020-06-09 17:06:08 +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
cf9d6ccf34
export bilans in ods and xlsx
2020-06-04 15:31:16 +02:00
Christophe Robillard
75a268aed6
show some info from bilans
2020-06-04 12:33:33 +02:00
Christophe Robillard
d06867822b
reorder bilans bdf csv
2020-06-03 15:45:11 +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
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
Pierre de La Morinerie
2f509c2536
specs: remove unused test case
...
Actual code was removed in 0ff6c793ae
The spec was never executed, because it lacked the `_spec.rb` suffix.
2020-05-20 17:45:06 +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
013e78ce4e
fix creating dossier feature sprec
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
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
Pierre de La Morinerie
b63fa0e6b8
dossier: remove "Birthdate" column from export
2020-05-18 13:14:28 +00:00
Pierre de La Morinerie
00adb006b4
specs: improve ProcedureExportService spec
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
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
Pierre de La Morinerie
190548844a
dossiers: add piece justificative filename to spreadsheet export
2020-05-14 10:18:10 +00: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
Christophe Robillard
aab4bb81ee
return bilan bdf csv for expert
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
clemkeirua
36f381a743
fix flacky test
2020-05-07 10:23:28 +02:00
Paul Chavard
05e408225b
Implement atomic operations on MapEditor
2020-05-06 16:46:14 +02:00
Christophe Robillard
dba77ec0b8
fix spec with not expired token
...
and use of `ApiEntrepriseToken#roles`
2020-05-06 10:57:45 +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
Paul Chavard
6556df2a85
Fix a crash in case of invalid geometry
2020-05-05 15:56:05 +02:00
Paul Chavard
4299c9dbea
Use a “safe” reference date in expiration tests
2020-05-05 12:41:45 +02:00
Christophe Robillard
9de2c7c85a
improve csv generation for bilans bdf
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
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
4bd4524f67
fix api_entreprise specs
2020-04-28 15:17:11 +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
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
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
Pierre de La Morinerie
32ad152347
specs: ensure that discarded procedures are not shown
2020-04-22 19:01:26 +02:00
Pierre de La Morinerie
abe692ecc2
specs: refactor instructeur procedures controller specs
2020-04-22 19:01:16 +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
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
15645e11e3
instructeur: improve InstructeurController#index test
2020-04-22 15:12:34 +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
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
clemkeirua
2d68d7dc59
fix to_tsquery disallowed chars
2020-04-20 15:15:22 +02:00
Paul Chavard
e512870fd2
Cleanup procedure duree_conservation_dossiers_dans_ds validations
2020-04-16 19:40:19 +02:00