Commit graph

762 commits

Author SHA1 Message Date
Martin
1716a931c5 amelioration(Procedure.procedure_expires_when_termine_enabled): active l'expiration des dossiers terminés sur les procedure ne l'ayant pas activé jusqu'à présent. La cible est de faire ça sur 20 Procedure quotidiennement 2023-11-17 11:33:14 +01:00
Martin
afc7df9c7c amelioration(UserDeletionService): on ne supprime pas 800k utilisateurs en une passe 2023-11-17 11:33:14 +01:00
Martin
3186b0aa68 tech(refactor): centralise/documente les constantes de duree de retentions dans le ns dedié à l'expiration 2023-11-17 11:33:14 +01:00
Martin
c9d470d9ec tech(refactor): mutualise la duree de rentention apres notification entre dossier/user 2023-11-17 11:33:14 +01:00
Martin
aecc41490b tech(refactor): deplace le mail rate limiter dans le module dédié à l'expiration 2023-11-17 11:33:14 +01:00
Martin
fb238ff7ac tech(refactor): deplace l'echelonnement des taches cron liés a l'expiration dans un module dédié 2023-11-17 11:33:14 +01:00
Martin
99529c611d tech(refactor): deplace les service d'expiration usager/dossier dans un namespace dedié 2023-11-17 11:33:14 +01:00
Martin
fb51710309 amelioration(ExpiredUsersDeletionService): ne touche pas aux dossiers en instruction 2023-11-17 11:33:14 +01:00
Martin
054b3be02a tech(clean): cleanup spec and code 2023-11-17 11:33:14 +01:00
Martin
1950297413 amelioration(ExpiredUsersDeletionService): ne supprime pas les experts, instructeurs, administrateurs 2023-11-17 11:33:14 +01:00
Martin
b989af5b47 amelioration(ExpiredUsersDeletionService): limite le nombre d'envoie d'email sur le job de suppression des utilisateurs 2023-11-17 11:33:14 +01:00
Martin
8790ac4978 amelioration(ExpiredUsersDeletionService): ajoute le rate limit a l'envoie des mails 2023-11-17 11:33:14 +01:00
Martin
5229160408 amelioration(ExpiredUsersDeletionService.process_expired): supprime aussi les usagers qui n'ont plus de dossiers sur la plateforme 2023-11-17 11:33:14 +01:00
Martin
2f28012324 amelioration(User.mailer.notify_inactive_close_to_deletion): ajoute le mail pour prevenir de la suppression de compte 2023-11-17 11:33:14 +01:00
Martin
ea9c571a30 amelioration(users.expiration): notifie deux semaine a l'avance avant de supprimer un compte 2023-11-17 11:33:14 +01:00
Martin
a49a5c2c93 amelioration(ExpiredUsersDeletionService): prepare le grand ménage 2023-11-17 11:33:14 +01:00
simon lehericey
e4a48f1270 tiptap service handle empty attestation 2023-11-15 15:24:46 +01:00
Eric Leroy-Terquem
694cbcd0a2 feat(rnf): add rnf type_de_champ 2023-11-07 14:21:28 +01:00
krichtof
4a698f8264
Merge pull request #9616 from demarches-simplifiees/9525-remove-admin-from-manager
ETQ superadmin, je peux supprimer un admin depuis le manager
2023-10-27 12:21:23 +00:00
mfo
53259b733b
Merge pull request #9626 from tchak/tiptap_service
feat(attestation): add tiptap json to html converter
2023-10-25 07:24:32 +00:00
Paul Chavard
09ce6ee1c8 feat(attestation): add tiptap json to html converter 2023-10-21 12:08:12 +02:00
mfo
0922e0987a review(maj): strip la valeur recherché sur les api chorus avant de le soumettre à l'API, et quelques maj de style
Co-authored-by: Colin Darie <colin@darie.eu>
2023-10-20 07:07:53 +02:00
Martin
a4ef3cdf23 tech(ActiveModel.types.json): renomme en simple_json pour eviter la confusion avec ActiveRecord.types.json 2023-10-19 09:30:52 +02:00
Martin
ffdd7ee95d tech(APIBretagneService.clean): l'API de data.bretagne renvoie un vide quand il n'y a pas de resultat, change l'implem pour ce cas 2023-10-19 09:30:52 +02:00
Christophe Robillard
0b7d4452fd remove admin from manager 2023-10-19 09:14:44 +02:00
Martin
3495147045 tech(APIBretagneService.clean): renvoie un tableau vide tant que la recherche ne fait pas plus de 2 caractères 2023-10-19 08:47:48 +02:00
Martin
ecb3909e99 chorus(autocomplete): autocomplete sur le centre de cout, domaine fonctionnel, referentiel de programmation 2023-10-19 07:14:27 +02:00
Martin
df78e14469 amelioration(procedure.chorus): ajoute le service pour requeter les api chorus fournies par la bretagne 2023-10-19 07:14:27 +02:00
Paul Chavard
563c47c88c
Merge pull request #9600 from tchak/update-browsers
chore(browser): show browser outdated message to more (very) old browsers
2023-10-18 08:03:44 +00:00
Paul Chavard
8b23f2a555 chore(browser): reduce browser support scope 2023-10-12 15:28:07 +02:00
seb-by-ouidou
0fdbfbd0b8 feat: add env var CERTIGNA_ENABLED to disable certigna if not used 2023-10-12 15:03:53 +02:00
Martin
f4430cebb0 bug(export.identify): la clé pour declarer que le fichier a deja ete identifie [content_type] est identified, pas identify 2023-10-10 10:39:46 +02:00
mfo
def659e599
Merge pull request #9558 from mfo/US/avis-in-exports
amelioration(dossier.export): ajoute les piece justificative des avis dans les exports
2023-10-09 13:12:22 +00:00
Martin
1d8a1617d7 amelioration(dossier.export): intègre les avis dans les exports [n'inclu pas les pieces justificatives des avis confidentiels pour les expert, inclu les piece justificatives des avis confidentiel pour les instructeurs ] 2023-10-09 14:53:46 +02:00
Martin
a2e6727b4b correctif(export): lorsqu'un export .zip fait plus de 4Go, le fait de l'assigner via file.attach(blob) declenche soit un identify soit un virus scanner qui par la suite le vide sur le bucket 2023-10-03 14:43:52 +02:00
Lisa Durand
7311bcebb9
Merge pull request #9363 from demarches-simplifiees/dashboard-usager/make-search-work-with-procedure-filter
[refonte usager] Tableau de bord - rendre recherche complémentaire avec filtre par procédure
2023-09-13 12:55:42 +00:00
Colin Darie
201b31bf36
refactor(watermark): small text based watermarked to increase document visibility 2023-09-12 13:04:31 +02:00
Lisa Durand
5ff5923612 make dossiers search compatible with filter by procedure 2023-09-04 16:42:19 +02:00
Colin Darie
bb7673e697
fix(sva): decision date when start date is at end of month and with correction delay 2023-08-29 12:55:06 +02:00
Martin
c6e7c6fa9b correct(archive_uploader.rb): considère les archives générées par le DSProxy comme étant déjà analyzées. 2023-08-18 16:30:11 +02:00
Christophe Robillard
9445c12b4d refacto upload archive 2023-08-18 16:15:25 +02:00
Paul Chavard
ca4066939c chore(pipedrive): remove pipedrive 2023-08-10 10:29:25 +02:00
Paul Chavard
2e61c16dfd feat(commune): remove Paris, Marseille and Lyon top level insee code 2023-07-26 14:15:20 +02:00
Colin Darie
5998cfe31f refactor(correction): rename kind => reason with default correction => incorrect 2023-07-21 16:45:47 +02:00
Martin
87abc79627 amelioration(archive-uploader): capture avec sentry les erreurs du swift_wrapper 2023-07-19 11:52:59 +02:00
Paul Chavard
04b3a70108 feat(champ): validate GeoJSON 2023-07-18 18:01:29 +02:00
Martin
ce9dbed663 amelioration(NotificationMailer): sort la creation des commentaire sur la messagerie du mailer [trop de prob possible sinon: au retry on dupliquait les commenaitres, si le mail foirait, on commentait pas etc...] 2023-07-11 15:11:40 +02:00
Lisa Durand
d806495f66
Merge pull request #9298 from demarches-simplifiees/fix-bug-search-for-dossiers-invites
[bug] fix de la barre de recherche pour les dossiers invités
2023-07-11 12:57:04 +00:00
Lisa Durand
ea47c2cc19
Suggestion refacto by Tchak
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2023-07-11 11:53:46 +02:00
Lisa Durand
4084f814b3 fix specs 2023-07-11 11:24:05 +02:00
Lisa Durand
16c2cdee8a fix dossier invites search 2023-07-11 11:03:02 +02:00
Colin Darie
4aaf5566c3
feat(sva): more details with example dates on procedure description 2023-07-11 10:02:47 +02:00
Colin Darie
f369775d5b
fix(sva): compute decision date from the day after deposit or resolution 2023-07-11 10:01:49 +02:00
Colin Darie
b4e6c20bbd
feat(sva): log operation when instructeur requests a correction 2023-07-11 10:01:49 +02:00
Colin Darie
512f6ca0ec
feat(sva): reset start date when on a correction "incomplete" 2023-07-11 10:01:49 +02:00
Colin Darie
f1504e9724
feat(sva): instructeurs dashboard sva/svr colonnes with multiple use cases 2023-07-11 10:01:47 +02:00
Lisa Durand
e43eea7fcf
display sva date and possibility to order in instructeur table 2023-07-11 10:01:47 +02:00
Colin Darie
4bdd4310ab
feat(sva): calculcate decision date with corrections delays & resume methods 2023-07-11 10:01:47 +02:00
Colin Darie
8c52c4f63f
feat(sva): date calculator service for a dossier and a procedure 2023-07-11 10:01:46 +02:00
Paul Chavard
d5820277c0 feat(cojo): add cojo type de champ 2023-07-10 14:57:34 +02:00
Eric Leroy-Terquem
b94e8edb67 refactor(routing): move toggle_routing to procedure model 2023-07-03 14:47:56 +02:00
Eric Leroy-Terquem
dcbaa5a5a0 refactor(routing): toggle routing if create group at import 2023-07-03 14:47:56 +02:00
Martin
a0ceee96bd amelioration(email.resume_hebdomadaire): envoie le mail a 4h du matin sur une periode de 3h
tech(
Co-authored-by: Colin Darie <colin@darie.eu>
2023-06-26 17:47:53 +02:00
Martin
d45a250075 amelioration(mail): ajoute d'un simili rate limiter pour envoyer les mails sur des fenetres de temps ayant une limite 2023-06-26 17:28:27 +02:00
Colin Darie
508b3c36fe
Merge pull request #9220 from mfo/US/fix-expiration-job
correctif(dossiers.expirations): sur de gros volumes de données, le fait de mettre a jours tous les dossiers a supprime timeout face a PG. batch la maj
2023-06-21 13:33:50 +00:00
Martin
8a42aa2117 correctif(dossiers.expirations): sur de gros volumes de données, le fait de mettre a jours tous les dossiers a supprime timeout face a PG. batch la maj 2023-06-20 17:46:58 +02:00
Martin
9b2d05b8a1 amelioration(email_event): re-lever une erreur dans un rescue_from ne la fait pas remonter. change de stratégie pour savoir si oui ou non un mail a ete envoye avec success. 2023-06-20 13:39:29 +02:00
Paul Chavard
c4432b1b47 perf(carto): use json schema to validate geojson instead of rgeo 2023-06-06 15:43:56 +02:00
Colin Darie
5ab44fc7a9
chore: rename dossier_resolution => dossier_correction 2023-06-02 16:16:14 +02:00
Colin Darie
538e24fa7e
feat(dossier/projection): supports pending_correction? 2023-06-02 16:16:13 +02:00
krichtof
0051face93
Merge pull request #9014 from demarches-simplifiees/8859-default_zones
Etq admin, lors de la création ou modification d'une démarche, des zones par défaut me sont suggérées
2023-05-26 17:25:21 +00:00
Christophe Robillard
76a8b721ce add tva adapter and tva job 2023-05-26 13:37:20 +02:00
Christophe Robillard
f04e121a6f add extrait_kbis to handle nom_commercial and capital_social 2023-05-26 13:37:20 +02:00
krichtof
7c02ff6685 remove useless task 2023-05-24 17:40:00 +02:00
Colin Darie
f7029615a9
refactor(email): spread sending of instructeur digest emails over time
On envoi parfois plus de 20K mails, ce qui pose des problèmes de délivrance
et quotas si on le fait d'un coup.
On étale donc un peu dans la durée ces envois pour pas limiter le dépassement
de quota.
2023-05-09 11:32:43 +02:00
Paul Chavard
99abdf45e7 fix(api-entreprise): use new status endpoint 2023-04-27 22:39:44 +02:00
Lisa Durand
e393132fd8
Merge pull request #8936 from demarches-simplifiees/add-yes-no-column-for-instructeurs
[instructeur] ajout du nb de réponses oui/non aux avis dans le tableau d'une procedure
2023-04-26 09:05:58 +00:00
Lisa Durand
d52ee477b0 remove '+' and use variable in I18n 2023-04-25 14:30:39 +02:00
Lisa Durand
65730bcfcb display avis_anwser yes/no in table 2023-04-20 15:55:31 +02:00
Colin Darie
b273e7b67e
chore(rubocop): fix Rails/RootPathnameMethods and assimiled cops 2023-04-19 12:55:13 +02:00
Paul Chavard
5437727517 chore(api-geo): bump cache keys 2023-04-17 14:29:24 +02:00
Paul Chavard
98caf41a36 fix(dossier): find communes outside of departement 2023-04-13 13:09:56 +02:00
Paul Chavard
b3f58a24cb fix(dossier): add value_json to dossier projection 2023-04-03 16:25:32 +02:00
mfo
8efd191e0f Merge pull request #8817 from mfo/US/fix-expert-export
correctif(export.pdf): ETQ expert, lorsque j'exporte un dossier au format PDF, celui ci contenient les avis non confidentiels ainsi que mes avis
2023-03-29 15:42:33 +02:00
Martin
c6e9674de2 correctif(export.pdf): ETQ expert, lorsque j'exporte un dossier au format PDF, celui ci contenient les avis non confidentiels ainsi que mes avis 2023-03-28 17:16:34 +02:00
Paul Chavard
a4e96d5256 feat(apigeo): add communes_by_postal_code method 2023-03-28 16:34:19 +02:00
Colin Darie
520142a9c6 fix(job): Cron::ExpiredDossiersDeletionJob destroy brouillon expired in batch 2023-03-13 10:32:53 +01:00
Colin Darie
bc1ade02c0
Merge pull request #8750 from colinux/fix-jobs
Jobs: rallonge durée max pour les exports, fix des timeouts, isole DossierRebase
2023-03-09 15:22:30 +00:00
Colin Darie
d20114f978 chore(sentry): use "procedure" tag everywhere for a better debug experience 2023-03-08 13:48:44 +01:00
Eric Leroy-Terquem
e1906febcc feat(groupe instructeur): can enable routing from import 2023-03-08 10:48:02 +01:00
mfo
6e86a0e622
Merge pull request #8744 from mfo/US/8737/correctif-export-sans-avis-expert
correctif(export.zip): integre les avis dans l'export au format pdf du dossier
2023-03-06 15:35:57 +00:00
Martin
c470cca9ab correctif(export.zip): integre les avis dans l'export au format pdf du dossier 2023-03-06 14:58:26 +01:00
Colin Darie
9512ac467c fix(job): attempt for timeout on Cron::ExpiredDossiersDeletionJob 2023-03-01 19:00:52 +01:00
Christophe Robillard
6851a9ee52 falsify opendata flag for some procedures
`procedures:falsify_opendata_procedures` rake task allows to falsify
opndata flag for procedures listed in csv file given in input (with only
one column : id column)
2023-03-01 11:47:11 +01:00
sebastiencarceles
becf4da70a fix raison social fetch 2023-02-27 13:54:35 +01:00
sebastiencarceles
83802a507a return communes with the APIGeoService 2023-02-27 11:47:34 +01:00
Paul Chavard
bdb15aaa4a feat(apigeo): enable all zones on departements api 2023-02-23 17:28:02 +01:00
Eric Leroy-Terquem
4ea1d7d33b feat(groupe instructeurs import): notify added instructeurs 2023-02-23 10:56:55 +01:00
Eric Leroy-Terquem
a6e01d98ea feat(instructeurs import): notify added instructeurs 2023-02-23 10:56:55 +01:00
Paul Chavard
3c3629d151 refactor(instructeurs): add_instructeurs should add 2023-02-22 09:49:26 +01:00
Paul Chavard
302ddb9951 refactor(instructeurs): use add_instructeurs in import service 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
d0c432d939 refactor(groupe instructeur): move method to Instructeur model 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
7e97825fd2 refactor(instructeurs import service): use groupe_instructeur model methods 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
25df48f255 feat(groupe_instructeurs): import instructeurs in unrouted procedure with a proper CSV 2023-02-22 09:49:26 +01:00
Paul Chavard
8b74a6f39b fix(geometry): implement our own bbox to replace rgeo 2023-02-15 11:58:59 +01:00
Colin Darie
ef864021f7 refactor(pj_service): explicit options with_{bills,champs_private} because expert & instructeurs does not need the same 2023-01-30 18:04:09 +01:00
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
simon lehericey
84d08d4d24 fix(expert_export): an expert export excludes annotation and avis 2023-01-19 12:09:16 +01:00
Colin Darie
00643b968d chore(serializer): add sentry tags to have more details when serialization failed 2023-01-18 19:23:25 +01:00
Paul Chavard
cdb3ce65cb feat(graphql): expose more information on demarche descriptor 2023-01-18 13:46:40 +01:00
Colin Darie
5ae5de0d9c refactor(email): log event when error occurs before recipients was set 2023-01-10 16:07:35 +01:00
Colin Darie
6cb2389eef chore(email): add an observer which log the emails dispatched 2023-01-10 16:07:35 +01:00
Martin
1944624082 fix(PiecesJustificativesService.safe_attachment): utilise la nouvelle API pour comparer le resultat du scan antivirus 2023-01-06 10:54:27 +01:00
Paul Chavard
c4a30084fe refactor(virus_scan): remove lock 2023-01-04 12:12:11 +01:00
Paul Chavard
fc4afb9793 fix(pays): some Île are written with î for some reason… 2022-12-26 21:54:45 +00:00
Paul Chavard
f17690b1d3 feat(graphql): expose departement and region 2022-12-21 14:03:02 +01:00
Paul Chavard
4d4c378724 feat(api_geo): add api_geo service 2022-12-21 14:03:02 +01:00
Paul Chavard
227296682b fix(dossier): clone should include more attachments 2022-12-20 21:30:32 +01:00
simon lehericey
fe8bd15939 feat(timestamp): ensure signature is openssl compatible 2022-12-07 19:28:01 +01:00
simon lehericey
de2c5c69be feat(timestamp): use certigna to timestamp 2022-12-07 19:28:01 +01:00
Colin Darie
f4d403a81c fix(apiv1): piece_justificative continue to returns a single attachment 2022-12-06 15:47:06 +01:00
Martin
35dbc4021e poc(batch_operation): show locked files 2022-12-06 11:28:48 +01:00
Colin Darie
7cbe6bbaa4 fix(attachment): clone piece justificatives with multiple attachments 2022-12-05 10:47:10 +01:00
Colin Darie
3affd1660f fix(api-v1): piece justificative serialization 2022-12-05 10:47:10 +01:00
Colin Darie
91f4971df2 feat(champ): has_one_attached => has_many_attached piece_justificative_file 2022-12-05 10:47:10 +01:00
Paul Chavard
c0fd080d0e refactor(operation_log): store data in jsonb instead of files 2022-11-22 18:06:05 +01:00
Paul Chavard
d306583a7b refactor(active_storage): PiecesJustificativesService::FakeAttachment -> ActiveStorage::FakeAttachment 2022-11-22 18:05:26 +01:00
Paul Chavard
0c0618aa79 feat(export): add GeoJSON export 2022-11-18 10:04:35 +01:00
Martin
18b7f4e4fa remaniement(dossier.clone): simplifications, pas de callback/after, pas d'heritage, mm interface pour cloner les champs public/prive, clonage des PJs avec le nouveau service de clone, ajoute une cle etrangere sur la colonne parent_dossier_id 2022-11-14 09:53:19 +01:00
Paul Chavard
e6288c39f2 refactor(dossier): champs -> champs_public 2022-11-10 22:44:39 +00:00
Paul Chavard
95f65900d3 refactor(active_storage): no download on clone 2022-11-10 12:25:55 +00:00
Martin
9562108c60 amelioration(archive.nom-de-fichier): ameliore le nom du fichier d'une archive mensuelle pour eviter les confusion 2022-11-02 16:56:50 +01:00
Paul Chavard
2ed11308a8 feat(graphql): improuve reptition champs schema 2022-11-02 11:09:56 +01:00
Paul Chavard
e7766694d3 fix(messages): retry stale blobs 2022-11-02 09:19:51 +01:00
Martin
d9432ccd3b fix(etablissement.as_degraded_mode): backfill missing data via a cron 2022-09-23 15:12:25 +02:00
Martin
daeab50321 fix(data): backfill etablissement as degraded mode 2022-09-22 18:02:47 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.

Cf #7766
2022-09-16 10:43:59 +02:00
Colin Darie
d1c06aa92e feat(api_entreprise): add service api_up?, connected to their status page 2022-09-15 18:46:53 +02:00
Colin Darie
e8210e6c2b fix(agent_connect): constant path
https://sentry.io/organizations/demarches-simplifiees/issues/3248516694/?project=1429550&query=is%3Aunresolved&statsPeriod=14d
2022-08-03 10:19:45 +02:00
Kara Diaby
181e237cf0 add generation csv service 2022-07-29 11:17:22 +02:00
Paul Chavard
03fbe506f6 perf(graphql): benchmark demarches_publiques query 2022-07-26 12:54:10 +02:00
Christophe Robillard
d294feabe3 gzip demarches publiques export 2022-07-21 21:27:27 +02:00
Paul Chavard
8532c71036 perf(dossier.pdf): use DossierPreloader to generate pdf 2022-07-21 15:02:29 +02:00
Paul Chavard
260d8d2fec perf(graphql): add graphql benchmark 2022-07-21 12:29:08 +02:00
Paul Chavard
1fe82a956e fix(dossier.pdf): load all types_de_champ (including repetitions) 2022-07-21 11:56:23 +02:00
simon lehericey
ca8dc34196 preload all tdc once for all 2022-07-20 15:48:16 +02:00
simon lehericey
4dbd44d72a includes stuff 2022-07-20 15:48:16 +02:00
simon lehericey
b9ad3bbce1 extract procedure 2022-07-20 15:48:16 +02:00
simon lehericey
9c73bf1932 batch it 2022-07-20 15:48:16 +02:00
Christophe Robillard
25a1129ae4 use internal_use instead of require_admin for graphql context 2022-07-06 17:59:03 +02:00