Martin
ce87878ff0
refactor(traitement.process_expired): move process expired to procedure
2021-12-03 16:32:36 +01:00
Martin
725521c3a1
fix(expiration_banner): only show expirations info when flip is enabled
...
fix(lint): lint haml
fix(spec): enable flipper and allow procedure to receive flipper check when checking banner presence
fix(doc): add missing documentation on readme regarding system testing with a visual feedback
fix(typo): add missing accent
clean(PR): feedback from Tchak, better to wrap feature check for expirability by procedure within dossier.expirable? helper
2021-11-30 16:05:32 +01:00
simon lehericey
5a0fb6237f
😭 AASM does not support keyword arguments
...
https://github.com/aasm/aasm/issues/672
2021-11-30 09:42:45 +01:00
Martin
cf82c030e8
hotfix(scoping): try to avoid requesting archived: false when using termine scope, use state_termine instead
2021-11-26 15:09:53 +01:00
kara Diaby
eaac293da3
add a new tab traités on user dossiers
2021-11-26 09:45:13 +01:00
Paul Chavard
d847775c68
feat(traitements): add depose_at to dossiers
2021-11-25 12:57:55 +03:00
Paul Chavard
1f1dd9fce5
fix(traitements): add missing traitements to dossiers when reverting a decision
2021-11-25 12:57:55 +03:00
Martin
b6adf5fc72
feat(dossiers/show): enhance header with expirations message/banner. also ensure consistent design between dossier states
...
fix(spec): broken due to last refactoring
spec(dossier.extend_conservation): add system spec
lint(ruby): still not yet ready for auto lint in IDE...
2021-11-23 05:50:25 +01:00
Martin
a9978fb70b
clean(code): move mfo comment to its rightful place
2021-11-19 14:34:20 +01:00
Martin
608a85148f
feat(Dossier.close_to_expiration): add method to find any kind of dossier close to expiration [reuse previous scopes], add missing spec to termine_close_to_expiration, complement spec for each kind of expiration scope with general close_to_expiration spec
2021-11-19 14:28:54 +01:00
Martin
d8257284ef
tech(refactor): extract states close to expiration within their scope.
2021-11-19 14:07:47 +01:00
Martin
1d721f14a0
fix(spec): get back to stable state
2021-11-19 12:36:03 +01:00
Martin
646459a1da
fix(spec): at least let us start from a green suite
2021-11-18 18:15:57 +01:00
Paul Chavard
df474b60cf
WIP
2021-11-18 18:58:17 +03:00
Paul Chavard
04e67ea20a
fix(dossier): add instructeur email to traitements when available
2021-11-16 19:00:20 +03:00
Paul Chavard
da47f491b3
fix(dossier): nullify close to expiration notice timestamps when changing state
2021-11-11 12:52:58 +01:00
Paul Chavard
faa235d205
fix(dossier): destroy operation logs when destroying an expired dossier
2021-11-11 09:37:09 +01:00
Paul Chavard
122cdacbc2
fix(avis): destroy avis for discarded en_construction dossiers
2021-11-04 10:12:44 +01:00
Paul Chavard
f6b8689a97
fix(revisions): fix repetitions export with revisions
2021-11-03 18:20:48 +01:00
Paul Chavard
0e2f09dd6f
fix(dossiers): wrap dossier discard in a transaction
...
By doing this we ensure that deleted_dossier are not created when dossier is not discarded
2021-11-02 18:17:35 +01:00
Paul Chavard
d5d3995dad
fix(dossier): fix dossier.avis cascade
2021-10-26 11:16:29 +02:00
Paul Chavard
4aa573a75d
fix(transfer): remove discarded dossiers from transfers
2021-10-26 10:41:01 +02:00
Paul Chavard
2a3a9dd822
feat(revisions): rebase dossiers brouillons
2021-10-20 17:26:09 +02:00
Paul Chavard
1ca8192864
perf(export): load dossiers.champs in batches
2021-10-20 16:52:38 +02:00
Paul Chavard
9d5c5447c2
fix(dossier): do not attempt to destroy transfers when a dossier is destroyed
...
we had a dependent option on both sides of a relationship which created race conditions
2021-10-06 17:51:09 +02:00
Paul Chavard
d3c1941fbe
fix(dossier): never write dossier log on dossiers brouillons
2021-10-05 17:56:51 +02:00
simon lehericey
65911b7680
update with_notifications dossiers scope (used in procedure index and show)
2021-10-05 12:05:43 +02:00
simon lehericey
3a878dfc04
add identity_updated_at column to dossier
2021-10-05 12:05:43 +02:00
Paul Chavard
d6cbdf2a48
feat(dossier): add dossier transfer models
2021-09-08 14:39:46 +02:00
Paul Chavard
a7ec43a21e
fix(i18n): fix email previews
2021-09-08 09:21:19 +02:00
Paul Chavard
74e277d0a2
feat(graphql): add an option to dossier state change mutations to disable notifications
2021-09-07 14:21:48 +02:00
Paul Chavard
ff7fa4d895
feat(i18n): expose locale on dossier and deleted_dossier
2021-09-07 09:51:23 +02:00
Paul Chavard
8e1bfb469f
fix(dossier): send expiration notifications 2 weeks prior to supression instead of a month
2021-08-26 11:28:57 +02:00
Christophe Robillard
e06f11f33f
add code insee libelle for commune export
2021-08-19 08:04:47 +02:00
Christophe Robillard
daa306859c
champ export can be an array of values
2021-08-19 08:04:47 +02:00
Paul Chavard
ffa8c0c80a
feat(dossiers): enable dossiers termine expiration behind feature flag
...
feature flag "procedure_process_expired_dossiers_termine" controls if a procedure has expiration
enabled on dossiers termine
re #3796
2021-08-18 16:11:35 +01:00
Pierre de La Morinerie
0fd23ebd43
db: fix schema.rb leftovers
2021-07-22 17:55:47 +02:00
Christophe Robillard
66cc0dd08d
Revert "Revert "Expose dossier PDF export as IO""
...
This reverts commit 362093eff0
.
2021-06-24 21:01:59 +02:00
krichtof
362093eff0
Revert "Expose dossier PDF export as IO"
2021-06-24 19:21:37 +02:00
Paul Chavard
b73d504f8d
Expose dossier PDF export as IO
...
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2021-06-24 17:49:24 +02:00
Paul Chavard
19195008e8
Expose removed types_de_champ in exports
2021-06-23 09:40:07 +02:00
François Vantomme
c9b1095d1e
Refactor (Rubocop): replace map{ … }.compact by filter_map
...
In Ruby 2.7, Enumerable#filter_map has been added.
This cop identifies places where map { … }.compact can be replaced by filter_map.
See: https://docs.rubocop.org/rubocop-performance/cops_performance.html#performancemapcompact
2021-06-11 15:38:09 +02:00
Paul Chavard
1888f74b10
Prevent double processing of declarative dossiers
2021-06-04 17:55:40 +02:00
simon lehericey
b620888597
show only dossier avis
2021-05-20 16:18:04 +02:00
kara Diaby
20933579b0
do not display confidential avis to other experts
2021-05-19 21:30:22 +02:00
Paul Chavard
5f419954b4
Fix dossier deleted user display
2021-05-13 10:43:55 +02:00
Paul Chavard
3f7a2bea9b
Dossier without user should be valid
2021-05-11 17:50:10 +02:00
Paul Chavard
8a74438dc1
Use conservation_extension instead of en_construction_conservation_extension
2021-05-11 17:33:53 +02:00
Paul Chavard
1e0d6ea28f
Rename en_construction_conservation_extension to conservation_extension
2021-05-11 14:08:51 +02:00
simon lehericey
c5f6c9ae1e
fix missing state translation
2021-05-10 11:17:34 +02:00
Paul Chavard
bcbfcdc537
Revert "Merge pull request #6142 from tchak/enable_brouillon_extend_conservation"
...
This reverts commit 48eb4d9778
, reversing
changes made to 5539d5cb8c
.
# Conflicts:
# app/models/dossier.rb
# db/schema.rb
2021-05-04 16:03:29 +02:00
Christophe Robillard
01f180022b
prend en compte uniquement les pj pour estimer la taille d'un dossier
2021-05-04 12:50:12 +02:00
Paul Chavard
f6508899de
Refactor NotificationMailer
2021-05-04 12:05:06 +02:00
Paul Chavard
a4fd629f4a
Enable user destruction
2021-05-04 12:05:06 +02:00
Paul Chavard
b2a867266a
Allow users to extend conservation on drafts
2021-04-29 19:50:30 +02:00
Christophe Robillard
f40d96fbd2
Revert "Revert "Export de tous les dossier d'une démarche""
...
This reverts commit d9a588b52e
.
2021-04-29 17:29:47 +02:00
krichtof
d9a588b52e
Revert "Export de tous les dossier d'une démarche"
2021-04-29 16:07:18 +02:00
Christophe Robillard
07cc4fa97f
add service to create procedure archive
2021-04-28 11:40:58 +02:00
kara Diaby
663fa50f02
notify expert when a decision is taken on a dossier
2021-04-15 11:29:55 +02:00
Paul Chavard
5b56ec425b
Fix discarded dossiers destruction
2021-04-14 12:24:16 +01:00
simon lehericey
6055fd1b0b
remove for_procedure
2021-04-13 09:32:48 +02:00
Paul Chavard
371d612fdb
Remove unused columns
2021-04-08 12:43:29 +01:00
Pierre de La Morinerie
3499f5af9a
models: remove invalid Dossier ↔︎ Champ inverse relationship
...
`Dossier.champs` is not really an inverse of `Champs.dossier`: when a
Champ record is created, it should not always be added to dossier.champs
(for instance if the champ is private).
NB: this breaks the workaround we added in #3907 to fix the parent
dossier not being touched in some cases (the workaround was to add an
inverse relationship, but we now have to remove it).
The new workaround is to watch for `changed_for_autosave?` on champs.
Unlike `changed?`, `changed_for_autosave?` also detects changes to
attachments. This allows us to touch both `last_champ_updated_at` and
`updated_at` in a single pass.
2021-04-06 10:26:17 +02:00
Paul Chavard
23104f15a4
Fix export n+1 queries
2021-03-25 19:22:12 +01:00
Pierre de La Morinerie
239169e925
dossier: fix looking-up avis from Expert
...
This line causes an error on Rails 6.1.
And it isn't even necessary: this line is supposed to query avis where
the expert advice has been requested – but this is handled by the
`if expert.dossiers.include?(self)` condition just above.
2021-03-18 17:59:30 +01:00
kara Diaby
38740d1b5b
modify experts avis controllers, concern and serializer
2021-03-18 11:38:52 +01:00
Christophe Robillard
60cc4d3697
add pdf to pjs export
2021-03-16 15:13:17 +01:00
Paul Chavard
70500e3d56
Groupe instructeur selector default blank
2021-03-09 14:47:23 +01:00
Paul Chavard
9c3e72c84a
Use revision instead of groupe instructeur as dossier procedure link
2021-03-09 14:47:23 +01:00
Paul Chavard
600f49a0ff
Hide groupe instructeur selector when routage is done via API
2021-03-04 11:06:04 +01:00
Paul Chavard
9ce07be1ee
[GraphQL] modifier annotation
2021-02-11 17:45:14 +01:00
Pierre de La Morinerie
4ad9adc510
models: fix Ruby 2.7 arguments passing
...
Arguments to an ActiveRecord scope will always been passed as a
Dictionnary. Thus
`Dossier.with_notifiable_procedure(notify_on_closed: true)` will trigger
a Ruby 2.7 warning:
> /ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
Fix the issue by always expecting a Dictionary (rather than keyword
arguments).
2021-02-09 09:20:46 +01:00
Paul Chavard
a591d5528e
Add job exception log methods to champ and dossier
2021-02-05 18:56:27 +01:00
Paul Chavard
78a07ef021
Add job exception logs to dossier and champ
2021-02-04 19:27:27 +01:00
simon lehericey
4960eda5cb
use stable id
2020-12-17 10:51:09 +01:00
kara Diaby
f3c4040d2d
add grace period to deleted dossiers
2020-12-16 15:00:26 +01:00
kara Diaby
00b5ad7a10
EQT instructeur, je peux supprimer un dossier terminé
2020-12-16 15:00:26 +01:00
Paul Chavard
48e7822e34
Remove titres identite after a dossier is processed
2020-12-10 15:21:25 +01:00
kara Diaby
d9dea779ea
Remove foreign key dossier on dossier operations logs
2020-11-17 16:02:53 +01:00
kara Diaby
c033ef0910
Ajoute a l'information de connexion France Connect dans les informations du dossier ainsi que sur la demande usager
2020-11-05 19:30:13 +01:00
Paul Chavard
0aa06d0197
[GraphQL] expose dossier pdf, geojson and attestation
2020-10-06 21:54:43 +02:00
Paul Chavard
1bd59c72e5
Include in exports types_de_champ from all revisions
2020-09-30 13:42:38 +02:00
clemkeirua
4fc038fe1b
use after_create instead of after_save
2020-09-29 18:15:38 +00:00
clemkeirua
dd7840cdc4
Notify new draft after dossier commit
2020-09-29 18:15:38 +00:00
Paul Chavard
973973ab6a
Do not enqueue web hooks for empty urls
2020-09-22 17:03:19 +02:00
Paul Chavard
a911a71db9
Log dossier archiver/desarchiver operations
2020-09-22 08:34:38 +00:00
clemkeirua
f96377d878
refactor Dossier#with_notifications
2020-09-21 08:28:42 +00:00
clemkeirua
d01a53eb72
remove :cached_notifications gate
2020-09-21 08:28:42 +00:00
clemkeirua
c7b96d3d43
add feature-flip for instructeurs on cached notifications
2020-09-08 15:40:42 +00:00
clemkeirua
52ea5ef89a
make Dossier#with_notifications great again
...
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-09-08 15:40:42 +00:00
Paul Chavard
ec72fdd164
Remove migration service
2020-09-02 11:26:26 +02:00
Pierre de La Morinerie
51d392a1dc
models: require belong_to associations on dossier
2020-08-18 15:57:36 +02:00
Pierre de La Morinerie
2892fdbeef
models: remove columns that have been deleted from db schema
...
These columns are gone, so we can't stop ignoring them.
2020-08-12 12:06:58 +02:00
Pierre de La Morinerie
6d28069539
models: generate annotations
2020-08-12 11:45:53 +02:00
Christophe Robillard
03e3e8fb1c
rename Dossier#modifier_annotations!
...
give a more accurate name to the method
Co-authored-by: clemkeirua <clement@keiruaprod.fr>
2020-07-30 10:18:44 +02:00
clemkeirua
7e085c657d
specific deactivation of rubocop DS/ApplicationName rule
2020-07-23 16:20:16 +02:00
Paul Chavard
9de917592b
Add revisions models and relationships
2020-07-21 19:35:30 +02:00
Paul Chavard
b628169053
Remove unsused drop_down_list model
2020-07-16 15:29:01 +02:00
Christophe Robillard
f38e16e371
avoid n+1 queries
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
9b6c5fd7fd
update termine_close_to_expiration with traitement
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
84149218db
dossier: refactor piece_justificative export helpers
2020-06-24 15:42:30 +02:00
Paul Chavard
c4896b45ad
Prepare to remove dossier procedure_id
2020-06-11 16:13:44 +02:00
Paul Chavard
20705d6e30
Do not send draft norifications to users on inactive démarches
2020-05-27 16:36:46 +02:00
Pierre de La Morinerie
b63fa0e6b8
dossier: remove "Birthdate" column from export
2020-05-18 13:14:28 +00: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
Paul Chavard
dfc004d7bb
Unarchive dossier when repasser_en_instruction
2020-05-12 19:05:18 +02:00
Paul Chavard
6556df2a85
Fix a crash in case of invalid geometry
2020-05-05 15:56:05 +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
bdbee38ff1
Add expired termine scopes to dossier
2020-04-22 15:39:10 +02:00
Paul Chavard
ee3ff78b12
Create constants for default map location
2020-04-16 10:22:07 +02:00
Paul Chavard
61eaca928f
remove WarnExpiringDossiersJob
2020-04-09 11:11:51 +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
Paul Chavard
c0bbfa42b7
Reassign discarded dossiers on group_instructeur
...
fix #4851
2020-04-01 18:10:12 +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
c707a21f97
Rename delete_and_keep_track -> discard_and_keep_track
2020-03-26 14:23:23 +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
5b5ae5a7a5
Do not send notifications or create operation logs on brouillon demarches
2020-03-25 15:04:52 +01:00
maatinito
1af32b29fd
#4807 Use now() instead of Date.time.today (better code homogeneity)
2020-03-24 17:09:14 -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
Paul Chavard
5c2eba1dd1
Always add a reason to dossier deletion
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
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
Paul Chavard
3cd4597006
Update rubocop roules
2020-03-17 11:25:21 +01:00
Christophe Robillard
b5030b8972
highlight demandes when groupe instructeur updated on procedure list
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
Paul Chavard
c46e012c10
Use dossier.assign_to_groupe_instructeur
2020-03-03 10:30:49 +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
Paul Chavard
1ce1c1e6d0
use discard
2020-02-13 12:31:59 +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
Christophe Robillard
2bb161c3cb
admin: alias Administrateur.email
2020-02-04 16:21:42 +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
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
Paul Chavard
4edc7b00cf
Use geocoder
2020-01-15 15:04:04 +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
Paul Chavard
2f060fc30a
Add depubliee state to procedures
2019-12-04 16:52:41 +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
03b7e81ca4
Send deletion notice for near expired brouillon
2019-12-03 17:18:53 +01:00
Paul Chavard
7b947feae4
Rename demarche archivée to demarche close
2019-11-28 15:07:16 +01:00
Paul Chavard
990c867c2e
[GraphQL] Add more filters to dossiers
2019-11-07 22:07:42 +01:00
Paul Chavard
2a61ed5b1c
Export etablissement information in csv
...
fix #4440
2019-11-07 14:27:52 +01:00
Pierre de La Morinerie
a462edb9bc
instructeurs: alias instructeur.email
...
This also means we need to replace instances of `pluck` on the email
column.
2019-11-04 10:44:24 +01:00
Paul Chavard
839b0d7e6d
Add Entreprise raison sociale to dossier export
...
fix #4422
2019-10-31 17:11:46 +01:00
Paul Chavard
86b271997b
Invite experts to linked dossiers
...
closes #3669
2019-10-23 13:10:09 +02:00
simon lehericey
5897464224
Build Dossier champ only once
2019-10-17 15:48:14 +02:00
simon lehericey
451387d32d
Dossier: add conditions on joins for with_notifications scope
2019-09-26 15:46:20 +02:00
Nicolas Bouilleaud
03c950ea97
Move followed_dossiers_with_notifications to a Dossier scope
...
Instead of instructeur.followed_dossiers_with_notifications, we can now write instructeur.followed_dossiers.with_notifications.
Yay composition!
2019-09-25 14:10:00 +02:00
Nicolas Bouilleaud
a4166d3c57
Refactor Instructeur.notifications_* methods
...
- rename `dossiers_id_with_notifications` to `followed_dossiers_with_notifications`,
- rename `notifications_per_procedure` to `procedures_with_notifications`,
- return an ActiveRecord::Relation instead of the result of the query, so that the call place can compose it,
- `merge` with the wanted Dossier scope in the call places, don’t bother passing it as a parameter,
- use the “state” (now “scope”) parameter as a scope method that can be just applied on `Dossier`.
2019-09-25 14:10:00 +02:00
Paul Chavard
eb7aba18e6
Add dossier champs and annotations types
2019-09-24 10:47:21 +02:00
Paul Chavard
2e854f2ac3
Add graph loading scopes to Dossier and Procedure
2019-09-24 10:47:21 +02:00
simon lehericey
faddbc23ef
Eager load procedure: :groupe_instructeurs for export
2019-09-19 12:30:12 +02:00
simon lehericey
a2f82ab8be
Add groupe_instructeur_label to export v2
2019-09-19 12:30:12 +02:00
simon lehericey
9b16bd2037
Dossier: retrieve all dossiers for a procedure
2019-09-18 15:51:02 +02:00
Paul Chavard
88842918f9
Prepare to drop columns
2019-09-17 12:37:37 +02:00
Paul Chavard
3b8d3b7967
Add Style/CollectionMethods to rubocop
2019-09-12 14:48:18 +02:00
Paul Chavard
3eb3ae001e
Rename “Passé en construction le” to 'Déposé le' for clarity
2019-09-10 14:59:10 +02:00
simon lehericey
3cc8f0c792
Link Dossier and GroupeInstructeur
2019-09-03 06:47:02 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
clemkeirua
1e6847bc6f
introduce constants for M./Mme
2019-08-01 17:42:32 +02:00
clemkeirua
d7105cb6f8
added spec for dossier#update_with_france_connect
2019-08-01 17:42:32 +02:00
clemkeirua
707e8a0004
dossier_controller#new uses info from FC if any
2019-08-01 17:42:32 +02:00
clemkeirua
f5d3818e3c
remove unnecessary retransition methods
2019-08-01 10:40:08 +02:00
clemkeirua
38b48f4217
transition from accepte to instruction as superadmin
2019-08-01 10:29:51 +02:00
Paul Chavard
b266915892
Add repetitions to api
2019-08-01 10:04:35 +02:00
Paul Chavard
fba195c0b5
Add attestation url to dossier on api
2019-07-31 18:30:40 +02:00
Paul Chavard
ab1170bcfc
Fix export dossier n+1 query
2019-07-30 17:17:36 +02:00
Pierre de La Morinerie
ea1c8ea7e3
models: remove associations to old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
f69f325236
api: remove export of old pieces justificatives
2019-07-30 16:11:17 +02:00
Pierre de La Morinerie
e975fe4ade
tasks: remove task to migrate old pieces justificatives
2019-07-30 16:11:17 +02:00
clemkeirua
d62740c198
extraction de la taille max des fichiers dans une constante
2019-07-18 17:19:39 +02:00
Pierre de La Morinerie
a8354bd103
dossiers: unify deletion of dossiers between manager and user
...
The code paths for deleting a dossier were different, depending on
whether the dossier was deleted by the user, or from the Manager.
This commit unifies the two code paths into one.
This has the effect of:
- An operation log is now recorded when an user deletes its own dossier;
- Gestionnaires are now notified even when the dossier is deleted from
the Manager;
- The `support:delete_user_account` task now requires the email address
of the author.
2019-07-16 16:22:20 +02:00
clemkeirua
25f81f1d3c
download a dossier as zip with all attachments
2019-07-16 09:11:25 +02:00
Pierre de La Morinerie
d5f360c85f
manager: fix the deletion email not being sent
...
When deleting a dossier from the manager, the deletion notification
email was not being sent. This is because the returned object from
`Dossier#hide!` was invalid.
2019-07-15 10:01:16 +02:00
Pierre de La Morinerie
35c3795f56
dossier: make messagerie available on archived procedures
...
An Admin may archive a procedure to make it unavailable to
the general public, but before all dossiers are handled. In this case,
the messagerie needs to be available.
Fix #4089
2019-07-11 15:37:04 +02:00
Pierre de La Morinerie
fdca7c025a
procedure: ignore :expects_multiple_submissions
on the correct model
2019-07-11 12:14:25 +02:00
Paul Chavard
3cb39c2840
Refactor message attachements to use active_storage
2019-07-10 15:35:29 +02:00
Pierre de La Morinerie
ecfccae6f0
dossiers: remove support for Dossier#expects_multiple_submissions
2019-07-09 14:50:11 +02:00
Paul Chavard
ad0a74ea7c
Fix dates in dossiers export
2019-07-09 10:02:08 +02:00
Paul Chavard
e582ff729c
Add aasm to dossiers state
2019-07-03 13:37:27 +02:00
simon lehericey
b2c987ff0d
[ fix #3683 ] Dossier: add repasser_en_instruction!
2019-07-02 18:40:20 +02:00
Paul Chavard
fb0ef15e3c
Export dossiers v2
2019-07-02 14:20:29 +02:00
Paul Chavard
46c1bbbc6f
Official support for declarative demarches
2019-07-02 14:12:26 +02:00
Nicolas Bouilleaud
bd47bf2691
Disable Messagerie in archived Dossiers and procedures
...
* Use the existing Dossier#messagerie_available? method
* Raise when attempting to build a Commentaire if not messagerie_available?
* Disable the Messagerie form if not messagerie_available?
* Add tests :)
* Tweak the Horaires formatting while we’re here.
2019-07-01 09:39:39 +02:00
Paul Chavard
0d80c48b7e
Add avis to api
2019-06-27 14:40:17 +02:00
Nicolas Bouilleaud
7e80b8a4dc
Enable the Rails/InverseOf cop and add missing inverse_of
2019-06-17 13:44:07 +02:00
Pierre de La Morinerie
51aacabf13
models: fix touch not propagating when using nested attributes
...
Sometimes, when using nested attributes, touch doesn’t propagate to
parent relationships. (see https://github.com/rails/rails/issues/26726 )
Specifically, this happens in our app when updating a dossier with
only new attachements (but without changing the value of any fields).
To work around this, we need to define the parent relationship
explicitely. This is good practice anyway.
Fix #3906
2019-06-17 13:44:07 +02:00
Nicolas Bouilleaud
6b90bc1ea1
Add “previously followed” dossiers and gestionnaires
...
Using an “inactive” Follow scope, similar to the “active” scope.
(I was tempted to use a default_scope, but this breaks when trying to `unscope` it in associations.)
2019-06-12 17:33:53 +02:00
Nicolas Bouilleaud
be4c575622
Add Follow.unfollowed_at
...
The active scopes is used indirectly in the dossier<->gestionnaire associations: the existing tests in dossier and gestionnaire just work™.
2019-06-12 17:33:53 +02:00
Paul Chavard
d5911071f8
Return dossiers on api with stable order
2019-06-04 15:34:49 +02:00
Paul Chavard
b8bf662c6d
Track dossier demander un avis
2019-05-14 14:31:03 +02:00
Paul Chavard
9c472e6524
Track dossier private annotations modifications
2019-05-14 14:31:03 +02:00
Paul Chavard
dba8d65137
Track dossier operations with author and subject
2019-05-14 14:31:03 +02:00
clemkeirua
afa6711564
refacto suite à simplification virusscan
2019-05-07 08:54:29 +02:00
clemkeirua
b3956bc072
introduce virus scans
2019-05-07 08:54:29 +02:00
clemkeirua
4aab72be68
implementation du systeme de PJ de motivation
2019-05-07 08:54:29 +02:00
Pierre de La Morinerie
ce9c5da6e1
dossier: add a messagerie_available? method
2019-03-20 10:42:57 +01:00
Paul Chavard
01b966ff66
Check demarche ownership on multiple administrateurs
2019-03-12 11:59:01 +01:00
Frederic Merizen
a87e3ac697
[ #3477 ] Make filtering by datetimes a proper scope
2019-03-11 17:14:17 +01:00
simon lehericey
a7e068003a
[ fix #3427 ] Administration can soft delete a dossier
2019-02-14 18:09:08 +01:00
Paul Chavard
a0a1ce11c8
Add repetition to apercu
2019-02-07 12:29:27 +01:00
Pierre de La Morinerie
a6704c4cd6
dossiers: allow users to delete "en construction" dossiers
2019-02-07 11:07:07 +01:00
Pierre de La Morinerie
d251ebc2f4
dossiers: shorten method name
2019-02-06 18:20:35 +01:00
simon lehericey
5715cdaa4c
[ fix #3363 ] use organisation_name in dossier summary
2019-02-05 17:41:51 +01:00
Paul Chavard
071448e1d9
Champ Repetition dossier editor
2019-02-04 16:19:07 +01:00
simon lehericey
6ab2d124f9
Dossier: #accepter_automatiquement!
2019-01-16 17:20:12 +01:00
simon lehericey
0f3dedb0b6
Dossier: #passer_automatiquement_en_instruction!
2019-01-16 17:12:32 +01:00
Paul Chavard
5d1c24f3d8
Add type de champ repetition models (with row)
2018-12-19 15:31:11 +01:00
gregoirenovel
df7e0a9881
Remove dead code
2018-12-19 14:59:15 +01:00
Paul Chavard
35494df78e
Procedure export dossiers with champs siret
2018-12-05 17:09:39 +01:00
Paul Chavard
9b39934e8b
Destroy dossier_operation_logs when dossier is destroyed
2018-11-28 17:06:54 +01:00
Mathieu Magnin
b51bf759b1
[ Fix #3081 ] If a dossier is destroyed, then destroy the attestation
2018-11-28 16:33:12 +01:00
Paul Chavard
36f6f54337
Remove unused carto models
2018-11-27 16:11:25 +01:00
Paul Chavard
0f0ca2ec65
Lod dossier operations
2018-11-27 12:49:40 +01:00
Paul Chavard
85e3eb04f4
Add DossierOperationLog model
2018-11-27 12:49:40 +01:00
Paul Chavard
9843666bdc
Implement state change methods on dossier
2018-11-27 12:49:40 +01:00
Pierre de La Morinerie
e5303fd986
mailers: streamline the NotificationMailer
...
Notifications are now only for demarche-templated emails.
2018-11-20 14:46:31 +01:00
Paul Chavard
971a08c92a
Add expose legacy carto api flag
2018-11-20 10:53:14 +01:00
Paul Chavard
2462e42b53
Stop using legacy api carto after migration
2018-11-20 10:53:14 +01:00
Paul Chavard
33c6ddc452
Remove dead code related to dossier state
2018-11-08 14:56:45 +01:00
Paul Chavard
80189def98
Remove n+1 calls from API queries
2018-11-08 14:45:09 +01:00
simon lehericey
3dad743d56
remove localtime as it uses server timezone
2018-10-26 10:10:20 +00:00
simon lehericey
2238e5bd9f
Time.now => Time.zone.now
2018-10-26 10:10:20 +00:00
simon lehericey
13ffa61435
DateTime.now => Time.zone.now
2018-10-26 10:10:20 +00:00
gregoirenovel
22088b167d
Remove ApiAdresse::Geocodeur
2018-10-16 09:33:16 +02:00
gregoirenovel
5e9e913dce
Carto::Geocodeur → ApiAdresse::Geocodeur
2018-10-15 20:55:46 +02:00
Paul Chavard
c63675461a
Add new carto init code
2018-10-14 12:34:43 +02:00
gregoirenovel
c8f872c566
InviteUser → Invite
2018-10-10 12:07:10 +02:00
gregoirenovel
ed11852300
Delete the InviteGestionnaire model
2018-10-10 12:07:10 +02:00
Frederic Merizen
c1f18a164d
Remove dead, buggy code
2018-10-10 05:51:17 +02:00
simon lehericey
87e731bc75
Dossier: move state translation to model dossier
2018-10-08 17:55:20 +02:00
Frederic Merizen
33f29f35ab
Avoid recreating service too often
2018-10-04 18:09:39 +02:00
Frederic Merizen
eafd0e8348
Evite de cacher la whitelist trop longtemps
2018-10-04 18:09:39 +02:00
gregoirenovel
5107b33af8
Remove FC fields from search
2018-10-04 13:54:07 +02:00
Frederic Merizen
3bb6fd2d47
[ #2579 ] Remove no-op
...
(sanitize_sql_for_order does not do anything when its argument is a string)
2018-10-03 10:17:46 +02:00
Paul Chavard
941c529b2c
Remove CGU checkbox
...
fix #2725
2018-10-03 08:59:02 +02:00
Frederic Merizen
43d8db88d9
[ #1946 ] Check if a dossier’s retention period has expired
2018-09-20 17:44:31 +02:00
Frederic Merizen
b672377f5b
[ #1946 ] Query dossiers by remaining retention time
2018-09-20 17:44:31 +02:00
Frederic Merizen
63fc0b3bc3
[ Fix #2584 ] Move Field related code to a service
2018-09-18 13:49:34 +02:00
gregoirenovel
00ecae5f93
Procédure → Démarche
2018-09-05 15:46:24 +02:00
Frederic Merizen
7326065590
[ fix #2486 ] Include all needed attributes on downloadable_sorted
...
to avoid N+1 select
2018-08-30 14:13:32 +02:00
Frederic Merizen
9403d4c042
[ #2486 ] followers_gestionnaires should not be a method
...
To help activerecord caching
2018-08-30 14:13:32 +02:00
Frederic Merizen
37c45f0d29
[ #2486 ] Always order champs
...
to help activerecord cache the champs collection
2018-08-30 14:13:32 +02:00
gregoirenovel
4b071ecf06
Use enum to the fullest with Dossier.states
2018-08-29 17:31:08 +02:00
Frederic Merizen
3b2919a326
[ #2179 ] Use new updated value for search terms
...
Rather than old in-database value
2018-08-23 10:34:25 +02:00
Frederic Merizen
333f4e8824
[ #2179 ] update champ and individual association with default
...
That way, they are safe to read in update_search_terms, and no
reload is needed later
2018-08-23 10:34:25 +02:00
Paul Chavard
46e75ac8ef
Only notify on dossier supression if dossier is en_construction
2018-08-02 17:07:24 +02:00
Frederic Merizen
0e639030f9
[ #2179 ] Generate denormalized search terms value for Dossier
2018-07-27 11:11:52 +02:00
Pierre de La Morinerie
13182ad291
dossier: send deletion email also to the following gestionnaires
2018-07-25 13:49:55 +02:00
Mathieu Magnin
9afbd16bbf
[ Fix #2145 ] When procedure is archived, usager should not be able to submit a dossier
2018-07-02 11:10:33 +02:00
Paul Chavard
d0a6957862
Remove old cerfa code
2018-06-28 15:16:20 +02:00
Frederic Merizen
7fdb523b1a
We can use the shorter syntax fort ordered_champs(_private)
...
now that the old preview is gone
2018-06-28 10:27:07 +02:00
Mathieu Magnin
ae6e3e345e
Task to unhide dossiers with instruction commencee
2018-06-19 10:05:00 +02:00
Mathieu Magnin
89f82ba92e
Move email sending in delete method
2018-06-19 10:05:00 +02:00
Mathieu Magnin
e05fb2d0ae
Allow dossier deletion if instruction has not started
2018-06-19 10:05:00 +02:00
simon lehericey
e11392981d
[ fix #2072 ] DossierController: check the user can update the dossier
2018-06-08 16:24:29 +02:00
gregoirenovel
0329b1db68
Use User#owns_or_invite? instead of Dossier#owner_or_invite?
2018-05-31 14:39:43 +02:00
gregoirenovel
a57e2388f6
Unify NotificationMailer methods’ signatures
2018-05-31 12:10:06 +02:00
Mathieu Magnin
eb1fbb7dbc
Delete button, notify user and admin then delete dossier
2018-05-30 18:01:36 +02:00
Frederic Merizen
07b1c147d9
[ Fix #1972 ] Always send mails asynchronously
2018-05-28 12:02:13 +02:00
Paul Chavard
ad24fd5991
Remove entreprise and rna_information models
2018-05-24 17:54:51 +02:00
gregoirenovel
8848abc536
#to_sorted_values
-> #sorted_values
2018-05-03 23:35:51 +02:00
gregoirenovel
886431b120
Make some methods private
2018-05-03 23:35:51 +02:00
gregoirenovel
f020fa9e2b
Remove some useless self mentions
2018-05-03 23:35:51 +02:00
Paul Chavard
0b7cf3ae75
#full_data_strings_array
-> #export_values
2018-05-03 23:35:51 +02:00
gregoirenovel
031522cf42
Checking on entreprise has no sense, check etablissement
2018-05-03 23:35:51 +02:00
gregoirenovel
12cda1739b
#export_entreprise_data
-> #export_etablissement_data
2018-05-03 23:35:51 +02:00
Paul Chavard
27592ae072
Add simple web hooks to procedures
2018-04-09 11:02:24 +02:00
gregoirenovel
c60c58ff8b
Fix issues spotted by @fredZen in #1802
2018-04-06 16:39:54 +02:00
kemar
b42e410da0
[ Fix #1494 ] Display a warning when accepting a dossier if needed
...
Show the accompagnateur the unspecified demande
champs and attestations privées needed for the
attestation
2018-04-06 16:15:09 +02:00
Frederic Merizen
13d7149b5c
[ #1677 ] Extract Dossier#invite_for_user
2018-03-29 16:59:16 +02:00
Frederic Merizen
884c430619
[ #1677 ] No need to use emails when we have users
2018-03-29 16:59:16 +02:00
simon lehericey
66a113c7db
Dossier: remove uncessary query on order_champ_v2
2018-03-27 16:48:38 +02:00
Frederic Merizen
2fa88a432b
Add missing brackets around parameters in method definitions
2018-03-20 17:54:51 +01:00
gregoirenovel
d0a59058e8
Remove the mandataire_social guess
...
Rationale:
- is true for only 0.06% of Dossiers
- is not displayed anymore anyways
- will be a rare case for now
* FC adoption is not insane
* FC used more for personal than professional
matters
* not always the mandataires sociaux that fill
dossiers for their companies, so not that
relevant
- we can add it back later
2018-03-20 16:09:00 +01:00
Paul Chavard
19b58a298c
Clarify dependent relationships between etablissement and entreprise
2018-03-07 17:42:31 +01:00
gregoirenovel
0a9f442260
Enable some Rails cops
2018-03-06 17:18:44 +01:00
Paul Chavard
896518f3d5
add SIRETService
2018-02-27 16:22:53 +01:00
simon lehericey
d702a0c083
[ fix #1411 ] user: new form ui
2018-02-27 15:24:50 +01:00
Mathieu Magnin
9627ba43c0
[ Fix #1409 ] Identite can be updated
2018-02-20 11:01:47 +01:00
Paul Chavard
52749713ab
Remove ChampPublic/ChampPrivate STI
2018-02-13 12:07:13 +01:00
gregoirenovel
29d9b03672
Bump rails to 5.2.0.rc1
2018-02-07 16:18:42 +01:00
gregoirenovel
142241dd16
Remove notifications
2018-02-06 14:07:20 +01:00
gregoirenovel
5b62bc4f12
Use transform_keys when possible
2018-01-30 15:45:32 +01:00
gregoirenovel
db8c3030e3
Use transform_values when possible
2018-01-30 15:45:32 +01:00
Frederic Merizen
db5bf39e32
[ #1203 ] No implicit available_for_states, make it explicit
2018-01-18 18:26:14 +01:00