Colin Darie
5cddb1c74e
fix(procedure_presentation): options groupe_instructeur for that procedure only
2023-01-31 13:55:06 +01:00
Paul Chavard
dcbe16603a
fix(dossier): fix parser with dashes
2023-01-31 10:40:48 +01:00
Paul Chavard
ca05fb753b
fix(only_present_on_draft?): broken when type_de_champ is removed from later revisions
2023-01-31 09:26:50 +01:00
Martin
dbe64cf0c8
correctif(date_champ): renforce la validation avec le parsing de la date plutot qu'une approche par regexp
2023-01-30 13:01:24 +01:00
Paul Chavard
6cacfbdf32
refactor(dossier): refactor rebase
2023-01-30 12:01:11 +01:00
Paul Chavard
2f4e85f163
fix(dossier): set rebased_at only on changed champs
2023-01-30 12:01:11 +01:00
Paul Chavard
626b28ca16
perf(tags parser): improuve parser perf
2023-01-30 11:52:35 +01:00
Eric Leroy-Terquem
1b67f93c66
feat(avis): add reminded_at field to avis
2023-01-30 11:13:23 +01:00
Paul Chavard
298721f90d
fix(dossier): fix clone with data
2023-01-30 10:58:26 +01:00
Damien Le Thiec
81df033282
First draft repeatable
2023-01-26 17:57:57 +01:00
Colin Darie
923ee59e92
refactor(instructeurs/perf): don't load anymore geo areas for each champ because of header
...
Economise 1 requête par champ sur chaque page instructeur d'un dossier
à cause du header juste pour savoir s'il faut afficher
le bouton d'export GeoJSON.
2023-01-26 14:57:45 +01:00
Paul Chavard
508cdec33f
fix(morph): ids should not start with numbers
2023-01-26 10:42:22 +01:00
Colin Darie
51c1736d00
refactor(conditional): extract in a ChampConditionalConcern with tests
2023-01-26 09:06:30 +01:00
Colin Darie
7c13449b4f
feat(conditional): show loader during autosave when other champs are dependent of it
2023-01-26 09:06:30 +01:00
Colin Darie
81f00774af
feat(logic): operators sources
2023-01-26 09:06:30 +01:00
Kara Diaby
b18d76dff6
Ne prend pas en compte les tags sur les démarches en brouillon
2023-01-24 14:53:27 +01:00
Sébastien Carceles
49ce255e29
feat(dossier): prefill region champ ( #8442 )
...
* make regions champ prefillable
* add possible and example value
* add external_id and value validation
2023-01-24 11:25:17 +00:00
mfo
84a667b8bd
Merge pull request #8454 from tchak/feat-epci
...
feat(types de champ): add EPCI champ
2023-01-23 16:56:18 +01:00
Sébastien Carceles
92c769de4f
fix(prefill): code pays display ( #8477 )
...
* show translated text AND possible values
* show less possible values
* show countries possible values
2023-01-23 14:08:20 +00:00
Paul Chavard
a4cbbe721e
feat(types de champ): add EPCI champ
2023-01-20 11:32:36 +01:00
Paul Chavard
f38ee8f03f
feat(dossier): implement refresh_after_update on champs
2023-01-20 11:05:25 +01:00
Sébastien Carceles
0046338e6a
fix(prefill): don't mark the dossier as prefilled when it's not ( #8464 )
...
A dossier should not be marked as prefilled when it's not, meaning
when no prefill params are given.
2023-01-19 10:51:56 +00:00
Colin Darie
428dd9bf1a
fix(dossier): we can't terminer any dossier having etablissements in degraded mode
...
Closes #8449
2023-01-18 19:23:25 +01:00
Kara Diaby
eac5a42a32
model
2023-01-18 18:46:42 +01:00
Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs ( #8344 )
...
* Allow prefill pays type de champs
* Avoid conditional prefil params for pays champ
* Clean pays data with batch update
* Fix bug and add test batch update pays value
* Improve performance batch_update_pays
* Fix associated country code problem
* Fix after party task name
* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
Colin Darie
784b0458fe
feat(dolist): consolidate dispatched events with delivered emails
2023-01-18 09:56:40 +01:00
Sébastien Carceles
5c7b2ba1f3
feat(dossier): prefill drop down list champ ( #8361 )
...
* feat(dossier): prefill drop down list champ
* decorate the types de champ to avoid if / else
In order to avoid doing if this a drop down ? / else at several places,
we decorate the types de champ and let the decorator give the possible
and example values.
* show all possible values when there are too many
* allow to prefill 'other' option
* review: remove duplicate
* review: refactor for readability
* validate that value is in options
* review: exclude disabled options
2023-01-18 09:47:22 +01:00
Colin Darie
ef3546e9f1
fix(email-event): apparently mail subject could be null
2023-01-17 16:46:54 +01:00
Colin Darie
13479fc88e
fix(admin): display of procedure admins count
2023-01-17 16:02:08 +01:00
Paul Chavard
dad393355b
chore(db): remove unused columns
2023-01-17 12:49:22 +01:00
Paul Chavard
44488c7014
feat(dossier): use select in filters bygroupe instructeur
2023-01-16 14:00:08 +01:00
Lisa Durand
06c6a4ab0c
add action 'unfollow' to page 'suivis'
2023-01-16 11:14:29 +01:00
Lisa Durand
2f666b487e
add action 'repasser en construction' to page 'suivis'
2023-01-16 11:14:29 +01:00
Damien Le Thiec
5e26acb0e1
Make date and datetime prefillable ( #8304 )
...
* Make date and datetime prefillable
* Format in ISO8601 format
2023-01-12 17:42:02 +01:00
Paul Chavard
5641c2b078
fix(groupe_instructeur): only show to administrators the number of visible files
2023-01-11 21:49:08 +01:00
Martin
822eda7c42
correctif(safe_mailer): fix bug sur de la synthax
2023-01-11 20:29:51 +01:00
Martin
3e6b82ed9e
amelioration(safe_mailer): ajoute au manager la fonction pour configurer le routage des mails sur un fournisseur unique
...
Update app/mailers/devise_user_mailer.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-01-11 17:32:24 +01:00
Martin
2f43ffc940
data(safe_mailer): ajout d'un object permetant d'orienter les mails vers un unique fournisseur au cas ou l'autre soit down
2023-01-11 17:13:05 +01:00
simon lehericey
528b2c2b88
fix(procedure): valid juridique on create and publication
2023-01-11 14:05:17 +01:00
simon lehericey
bd3fbbce49
add schema and annotation
2023-01-11 11:19:24 +01:00
Paul Chavard
afc1f12028
feat(graphql): implement add/remove instructeurs via API
2023-01-10 20:33:35 +01:00
Paul Chavard
af33d5d65c
refactor(repetition): use row_id instead of row
2023-01-10 19:31:41 +01:00
Colin Darie
d58e6a2f9c
refactor(email): remove pseudonymization, it will be done at dump-time
2023-01-10 16:07:35 +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
0a22c1d2f0
chore(email): log smtp errors
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
Colin Darie
07167cead9
chore(schema): create email_events
2023-01-10 16:07:35 +01:00
Colin Darie
0a890acc33
fix(conditional): huge perf improvement by caching champ visibility
...
Hyper nécessaire lorsqu'il y a des champs qui dépendent d'autres champs
en cascade.
Co-authored-by: simon lehericey <mail@simon.lehericey.net>
Co-authored-by: mfo <martin@sharypic.com>
2023-01-10 11:41:08 +01:00
Paul Chavard
5128b9a086
refactor(demarches): use turbo_stream template
2023-01-10 09:48:32 +01:00
Lisa Durand
67c104c8eb
affiner le scope
2023-01-09 11:58:51 +01:00
Lisa Durand
25a7fa5a34
add bulk action 'follow'
2023-01-09 11:58:51 +01:00
Paul Chavard
5a4cefc5c5
fix(dossier): fix rebase with drop down options
2023-01-06 14:15:46 +01:00
Sébastien Carceles
06b8a0f734
feat(dossier): prefill boolean champs ( #8381 )
2023-01-06 14:01:59 +01:00
Paul Chavard
dfe65136be
refactor(repetition): add row_id to champs
2023-01-05 18:04:54 +01:00
Paul Chavard
940f8c0474
fix(graphql): fix departements with alphanumeric codes
2023-01-05 17:33:03 +01:00
Lisa Durand
4afb873afc
feedbacks from Martin
2023-01-05 16:20:18 +01:00
Lisa Durand
59468fe351
add justificatif_motivation field to batch operation accepter
2023-01-05 16:20:18 +01:00
Lisa Durand
1bc0609543
add motivation field to batch operation accepter
2023-01-05 16:20:18 +01:00
Lisa Durand
d7ebb67889
implement first step - accepte without motivation and PJ
2023-01-05 16:20:18 +01:00
Paul Chavard
378f3c5fb0
use join table instead of arrays
2023-01-05 16:20:18 +01:00
Paul Chavard
26e02c7173
fix(template): trix will transform double spaces in
2023-01-05 13:23:24 +01:00
Sébastien Carceles
fa6fc077b4
normalize boolean values ( #8320 )
...
* extract parent for yes no and checkbox champs
* checkbox stores true / false instead of on / off
* normalize blank value to nil
* normalize invalid value to false
* after party task: normalize checkbox values
* after party task: normalize yes_no values
2023-01-05 11:18:27 +00:00
Paul Chavard
c4a30084fe
refactor(virus_scan): remove lock
2023-01-04 12:12:11 +01:00
Paul Chavard
6e18090fb3
refactor(virus_scan_result): use column instead of metadata on blob
2023-01-04 12:12:11 +01:00
Paul Chavard
d469bca0ae
refactor(watermark): use column instead of metadata on blob
2023-01-04 12:07:08 +01:00
Sébastien Carceles
456be420fa
feat(demarche): describe dossier prefilling with POST ( #8298 )
...
* feat(demarche): describe dossier prefilling with POST
* show response example
2023-01-04 07:31:31 +00:00
Martin
76301d4c32
correctif(api_entreprise_token): les nouveaux tokens stockent les roles dans sous la clé scopes et non plus roles
2023-01-03 15:32:50 +01:00
Sébastien Carceles
20136b7ac8
feat(demarche): create and prefill a dossier with POST request ( #8233 )
...
* add base controller for public api
* add dossiers controller with basic checks
* create the dossier
* ensure content-type is json
* prefill dossier with given values
* mark a dossier as prefilled
When a dossier is prefilled, it's allowed not to have a user.
Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.
* set user as owner of an orphan prefilled dossier
When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner
So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner
* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)
* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
mfo
1f5db1faf2
Merge pull request #8340 from mfo/US/fix-champs-pays
...
sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name
2022-12-28 09:51:18 +01:00
Martin
a2d3ec7a21
sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name
2022-12-27 16:28:34 +01:00
mfo
31735e16d8
Merge pull request #8339 from mfo/US/fix-departement-champs
...
Us/fix departement champs
2022-12-27 16:01:35 +01:00
Martin
186d4e6539
correctif(ChampDepartement): gere les departement a 3 codes
2022-12-27 14:55:57 +01:00
Paul Chavard
9b3fa4dd3c
refactor(revision): changes should be domain objects
2022-12-27 10:58:53 +00:00
Martin
48c80e9387
correctif(api/v1): ajoute la methode manquante for_api sur le type de champs departement
2022-12-27 11:45:43 +01:00
Martin
3732c079a7
correctif(champ.normalize): enleve les null chars uniquement si il y en a. sinon on rappel value=() avec nos champs surchargeant ce setter
2022-12-27 11:43:34 +01:00
Paul Chavard
0b10c73bcf
feat(prefill): allow to prefill private annotations
2022-12-26 22:14:17 +00:00
Paul Chavard
4a4ce67ef6
fix(dossier): explicitly send draft notification email
2022-12-26 22:02:33 +00:00
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility
2022-12-26 11:31:52 +01:00
mfo
62813f3d74
Merge pull request #8323 from tchak/fix-graphql-champs
...
feat(graphql): add pays champ to API
2022-12-22 13:51:02 +01:00
mfo
e3bf0d8fec
Merge pull request #8327 from tchak/feat-rebase-after-repasser-en-instruction
...
feat(dossier): rebase after repasser en instruction
2022-12-22 13:50:43 +01:00
Paul Chavard
f4f38982b4
feat(dossier): rebase after repasser en instruction
2022-12-22 13:44:03 +01:00
Paul Chavard
6363206c44
fix(dossier): when rebase creates a champ always push in to champs
2022-12-22 13:44:03 +01:00
Paul Chavard
4c516a6991
feat(dossier): allow to rebase champs with value made mandatory
2022-12-22 13:08:04 +01:00
Paul Chavard
072156d38e
feat(graphql): add pays champ to API
2022-12-22 11:56:45 +01:00
Paul Chavard
bd9fe7eb7c
feat(export): add pays, region and departement codes
2022-12-21 14:03:02 +01:00
Paul Chavard
3f0f5e381f
refactor(regions): champ regions to use simple select
2022-12-21 14:03:02 +01:00
Paul Chavard
e0b0a42bc3
refactor(departements): champ departements to use simple select
2022-12-21 14:03:02 +01:00
Paul Chavard
f7c1dff22a
refactor(pays): champ pays to use simple select
2022-12-21 14:03:02 +01:00
François Vantomme
993c1b8676
fix(batch operation): ensure to append bigint to SQL array
2022-12-21 11:59:55 +01:00
Christophe Robillard
11a18516b2
remove feature flag zonage
2022-12-21 09:02:16 +01:00
Paul Chavard
227296682b
fix(dossier): clone should include more attachments
2022-12-20 21:30:32 +01:00
Colin Darie
c673950e56
fix(instructeurs): behavior of sort by notifications checkbox (updated_at desc)
2022-12-20 15:51:47 +01:00
Damien Le Thiec
c4e427642f
Allow prefill civility
2022-12-20 14:38:05 +01:00
Sébastien Carceles
e4a7a4c391
hide values and examples for unprefillable champs ( #8309 )
...
* hide values and examples for unprefillable champs
* put prefillable champs first
2022-12-20 13:37:25 +00:00
Sébastien Carceles
dd0a05c1d8
feat(prefill): add possible values ( #8299 )
...
* update layout in order to show possible values
* filter out non fillable types de champ
2022-12-20 11:04:42 +01:00
Sébastien Carceles
0a10a08c21
feat(demarche): describe procedure prefilling ( #8187 )
...
* feat(demarche): description
Show the description of an opendata procedure (published or draft),
with help about how to prefill a dossier for this procedure.
Co-authored-by: Damien Le Thiec <damien.lethiec@gmail.com>
2022-12-19 11:32:09 +00:00
Martin
dd74834689
amelioration(attestation.et.mail): desactive les tags sur les champs conditionnés et informe l'usager que ca arrivera
2022-12-19 09:28:46 +01:00
Christophe Robillard
f1595d1f50
wrap resultset tuples in ProcedureDetail
2022-12-16 15:51:49 +01:00
Christophe Robillard
3a660349ad
export all demarches
2022-12-16 15:51:49 +01:00
Eric Leroy-Terquem
2645ac85f7
update wording and order in types de champ select
2022-12-16 09:30:36 +01:00
Paul Chavard
cb5b60ccda
Revert "Revert "Merge pull request #7907 from tchak/feat-cond-repetitions""
...
This reverts commit 0d10d36cb0
.
# Conflicts:
# app/models/dossier.rb
# app/models/dossier_preloader.rb
2022-12-15 19:09:25 +01:00
Sébastien Carceles
b8ff0ba4a2
feat(demarche): sign up when prefilling a dossier ( #8247 )
...
* store prefill params in session
Instead of using query params on /dossier/new, we assume the user comes
from /commencer/:path, which is the new prefill link.
There, we store the prefill params in session, and use them to prefill
the dossier when creating it, in /dossiers/new.
* spec: cover the case
* review: serialize with json instead of yaml
* review: rename method
* review: store only query params
* review: comment why we dont override already stored params
2022-12-15 10:58:17 +01:00
Lisa Durand
89730b485b
add bulk action feature for 'passer_en_instruction'
2022-12-15 10:04:25 +01:00
Colin Darie
7ff04c1a05
style(instructeurs): human/i18n value for state filter
2022-12-15 09:34:10 +01:00
mfo
74cd385b35
Merge pull request #8274 from tchak/fix-parent-dossiers
...
fix(dossier): parent_dossiers is really cloned_dossiers
2022-12-15 09:20:10 +01:00
Paul Chavard
243a8301bb
fix(dossier): authorize passage en instruction if auto archive is on and is in the past
2022-12-14 22:16:13 +01:00
Paul Chavard
59bdd4bd92
fix(tags): relax parser roules
2022-12-14 17:53:36 +01:00
Paul Chavard
9149e0fcd7
feat(revision): allow more dossiers to rebase
2022-12-14 17:42:27 +01:00
Paul Chavard
1b95809f14
refactor(dossier): flatten champ attributes
2022-12-14 13:03:06 +01:00
Paul Chavard
0d10d36cb0
Revert "Merge pull request #7907 from tchak/feat-cond-repetitions"
...
This reverts commit 1900f8ff4c
, reversing
changes made to febffc2d64
.
# Conflicts:
# app/models/dossier.rb
2022-12-14 11:25:45 +01:00
Paul Chavard
ece70efbea
refactor(dossier): improuve dossiers_safe_scope on batch operation
2022-12-14 09:45:53 +01:00
Paul Chavard
9510142cd8
fix(dossier): parent_dossiers is really cloned_dossiers
2022-12-14 09:44:19 +01:00
Paul Chavard
7929b7d0d7
clean(api_token): remove administrateur token support
2022-12-08 17:35:21 +01:00
sebastiencarceles
69d61913f5
review: unauthorize complex champs
2022-12-08 15:27:39 +01:00
sebastiencarceles
bf03e3b35a
review: prefix typed ids with 'champ_'
2022-12-08 15:27:39 +01:00
sebastiencarceles
11fed2c934
review: champs exist because stable ids exist
2022-12-08 15:27:39 +01:00
sebastiencarceles
a5c1c68a91
review: style
2022-12-08 15:27:39 +01:00
Sébastien Carceles
9dfb498806
review: prefer if to unless
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-12-08 15:27:39 +01:00
Damien Le Thiec
006a1257b5
Refacto prefill_params construction (remove merge)
2022-12-08 15:27:39 +01:00
sebastiencarceles
373e8aeadb
review: validate prefilled champs only
2022-12-08 15:27:39 +01:00
sebastiencarceles
1e21a3d3e1
review: query the db only once
2022-12-08 15:27:39 +01:00
sebastiencarceles
ab30af5fe5
review: move Prefillable to concern directory
2022-12-08 15:27:39 +01:00
sebastiencarceles
3939644030
validate prefilled champs when editing brouillon
2022-12-08 15:27:39 +01:00
sebastiencarceles
79ef48cafb
make the dossier prefillable
2022-12-08 15:27:39 +01:00
sebastiencarceles
f4e1a09e73
prepare prefilled values from ctrl params
2022-12-08 15:27:39 +01:00
sebastiencarceles
24802985a2
feat(dossier): prefill dossier from query params
2022-12-08 15:27:39 +01:00
Paul Chavard
52a32051c4
feat(dossier): add dossier.champs_public_all
2022-12-08 09:38:12 +01:00
Paul Chavard
6ce7064ffd
feat(dossier): add repetition champs to champs_for_condition
2022-12-08 09:38:12 +01:00
simon lehericey
86cda6a0b9
fix(timestamp spec): rewind io after before_save check
2022-12-07 19:28:01 +01:00
Paul Chavard
ebbada752f
feat(api_token): add APIToken model
2022-12-07 18:19:37 +01:00
Paul Chavard
4fe081e4be
fix(dossier): send notifications on declarative dossiers
2022-12-07 13:14:59 +01:00
Paul Chavard
bb47e8d2ab
fix(dossier): dossier.repasser_en_construction! should take disable_notification
2022-12-07 13:14:59 +01:00
Colin Darie
f4d403a81c
fix(apiv1): piece_justificative continue to returns a single attachment
2022-12-06 15:47:06 +01:00
Martin
2eaa06b22b
correctif(export.pjs): sur l'export, les champs de type piece justificative renvoyent un tableau de la meme dimension quelque soit le nombre de pj joint
2022-12-06 15:22:53 +01:00
Paul Chavard
b8a9b7223c
refactor(groupe_instructeur): improuve controller
2022-12-06 12:01:54 +01:00
Paul Chavard
9fe93ded7f
refactor(groupe_instructeur): add instructeur.find_or_invite
2022-12-06 12:01:54 +01:00
Colin Darie
4ba76e6844
fix(api-v1): dossier -> avis -> piece_justificative_file_attachment relation name
2022-12-06 11:48:42 +01:00
Paul Chavard
ed4d5cb36a
refactor(demarche): make declarative demarche processing syncroneous
2022-12-06 11:41:25 +01:00
Martin
91ef618a42
clean(code): stick to usage of present?/empty? instead of count zero etc
2022-12-06 11:28:48 +01:00
Martin
b5f69c8961
review(dossier.reload): evite de recharger le batch qui peut etre confusant
2022-12-06 11:28:48 +01:00
Martin
7c65af3be0
poc(batch_operation_alert): simplier wording
2022-12-06 11:28:48 +01:00
Martin
ea8bd13bcf
poc(batch_operation.purge): nettoie les batch terminé ou inutiles
2022-12-06 11:28:48 +01:00
Lisa Durand
1beb219fdd
display batch operation alerts
2022-12-06 11:28:48 +01:00
Martin
e5944eed34
poc(batch_operation): habtm groupe instructeurs, permettra de visualiser plus facilement les batch en cours pour les instructeurs du meme groupe
2022-12-06 11:28:48 +01:00
Martin
eaf72162da
poc(batch_operation): some rewrite to avoid various conflict (when an instructeur try to create a job with an incompatible dossier regarding the current task). also soome cleanup to isole spec in least involved model
2022-12-06 11:28:48 +01:00
Martin
4266ab93c5
poc(batch_operation): track dossier processed safely
2022-12-06 11:28:48 +01:00
Martin
beb39027d0
poc(batch_operation.ui): implement simple ui to trigger a batch of current page
2022-12-06 11:28:48 +01:00
Martin
7df86c50fb
poc(batch_operations_controller): implement simple [not yet with procedure_presentation] action to create a batch operation
2022-12-06 11:28:48 +01:00
Martin
b11dbafc59
poc(batch_operation_job): implement archive dossiers with async behaviour, lock, run_at, finished_at, failed_dossier_ids, success_dossier_ids
2022-12-06 11:28:48 +01:00
Martin
61f4cded75
poc(batch_operation): just the model and some specs and a poc for archive them without async
2022-12-06 11:28:48 +01:00