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
Chaïb Martinez
5cb6ba2f3b
Fix tests
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +02:00
Chaïb Martinez
d968e7e6bd
Add some admin usage info for contextual help with crisp
...
Fix #4052
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-07-15 12:10:56 +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
simon lehericey
768a298c2d
Same for go back in instruction
2019-07-11 12:50:15 +02:00
simon lehericey
5f39d3eac8
Fix bug when instruction repasse en construction twice
2019-07-11 12:50:15 +02:00
simon lehericey
6de1e2ec58
Fix bug when an instructeur closes a dossier already closed
2019-07-11 12:50:15 +02:00
Pierre de La Morinerie
c2c9b19b3b
procedure: remove individual_with_siret
...
It isn't used anymore (see #3077 )
2019-07-11 11:58:21 +02:00
Pierre de La Morinerie
7ca3d5fce2
procedure: select for_individual
by default
2019-07-10 18:47:34 +02:00
Paul Chavard
3cb39c2840
Refactor message attachements to use active_storage
2019-07-10 15:35:29 +02:00
Pierre de La Morinerie
03fc555edf
profile: send an email when the account is already taken
2019-07-10 11:31:09 +02:00
Pierre de La Morinerie
06afc3890f
france_connect: raise an error if some validation error occurs
...
If a validation error occurs in `find_or_create`, an object without `id`
will be returned–and the code will crash soon after.
Ensure that we crash immediately, so that we can report the root cause
(the validation error) instead of a seemingly-unrelated crash later.
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
6b27ac8514
france_connect: make existing user lookup case-insensitive
...
Fix #4053
2019-07-09 15:50:28 +02:00
Pierre de La Morinerie
ecfccae6f0
dossiers: remove support for Dossier#expects_multiple_submissions
2019-07-09 14:50:11 +02:00
simon lehericey
d36f6ebcd7
[ fix #1709 ] A user can change its email
2019-07-09 11:55:17 +02:00
simon lehericey
d68d2be798
Profil: accessible to all roles
2019-07-09 11:55:17 +02:00
Pierre de La Morinerie
422f4b9cdb
dossiers_controller: warn properly when instructing a dossier twice
...
Fix #4055
2019-07-08 17:58:45 +02:00
Nicolas Bouilleaud
7e98213829
Pass the signed-in user as the commentaire author from /contact
2019-07-08 16:06:44 +02:00
Nicolas Bouilleaud
72fd5d250f
Respect dossier.messagerie_available? in SupportController (/contact)
2019-07-08 16:06:44 +02:00
simon lehericey
c7e10fc43f
Manager: remove repasser_en_instruction
2019-07-02 18:40:20 +02:00
simon lehericey
b2c987ff0d
[ fix #3683 ] Dossier: add repasser_en_instruction!
2019-07-02 18:40:20 +02:00
simon lehericey
b79220e711
UI
2019-07-02 18:35:47 +02:00
Paul Chavard
fb0ef15e3c
Export dossiers v2
2019-07-02 14:20:29 +02:00
Paul Chavard
1781a49932
Add order param to API
2019-06-20 15:28:16 +02:00
Nicolas Bouilleaud
eb592f8ddf
Add manager controller for bill signatures
2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
1ac6cad132
Display previous followers in “personnes impliquées”
2019-06-12 17:33:53 +02:00
Chaïb Martinez
eccd456325
Add crisp
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-06-05 17:41:47 +02:00
Paul Chavard
d5911071f8
Return dossiers on api with stable order
2019-06-04 15:34:49 +02:00
Paul Chavard
ff44b7a600
Refactor purge pj to be more generic
2019-05-29 15:54:51 +02:00
Chaïb Martinez
920c8c0c32
Add Gestionnaire ID and ROLES
...
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-05-27 16:30:03 +02:00
Paul Chavard
6a3413018a
Refresh attachments with virus scan result
2019-05-21 14:21:55 +02:00
Paul Chavard
4a9ef5d12e
Always use purge_later
2019-05-21 14:05:33 +02:00
Paul Chavard
348b15f595
Put devtools behind feature flags
2019-05-15 18:10:25 +02:00
Paul Chavard
9725f2a418
Enable new champs editor for all
2019-05-14 16:18:29 +02:00
Paul Chavard
3446782cd0
Remove deprecated editor
2019-05-14 16:18:29 +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
Pierre de La Morinerie
f5f7dfba40
france_connect: fix for params entirely missing from the callback
...
Fix a Sentry exception encountered in production.
2019-05-13 15:45:12 +02:00
pedong
a226999382
redirect to same path after use signup
2019-05-13 15:28:25 +02:00
clemkeirua
4aab72be68
implementation du systeme de PJ de motivation
2019-05-07 08:54:29 +02:00
Pierre de La Morinerie
67fb561119
Apply suggestions from code review
...
Co-Authored-By: n-b <nico@bou.io>
2019-05-06 16:19:08 +02:00
Nicolas Bouilleaud
3ff0c83485
Add multi-admin UI
...
refs #1626
2019-05-06 16:19:08 +02:00
Pierre de La Morinerie
e06e32238c
api_entreprise: display a specific error message on network errors
2019-05-02 11:24:38 +02:00
Paul Chavard
1c71355574
Better warnings in test mode
2019-04-30 11:03:24 +02:00
simon lehericey
1d051dc3ef
Can change a piece_justificative_template on a type_de_champ
2019-04-18 11:13:35 +02:00
simon lehericey
11f8e7a3f9
Small refactor
2019-04-18 11:13:35 +02:00
Mathieu Magnin
28f9208ce8
When mail template is updated, stay on edit page to easily preview it
2019-04-11 11:03:13 +02:00
Mathieu Magnin
9c6c11027c
[ Fix #3064 ] Add service footer on notification emails
2019-04-11 11:03:13 +02:00
Mathieu Magnin
60d66f0422
[ Fix #3064 ] Add logo and cancel link on preview
2019-04-11 11:03:13 +02:00
Mathieu Magnin
14c3fb7224
[ Fix #3064 ] Add a preview button for state notifications emails
2019-04-11 11:03:13 +02:00
Paul Chavard
4fb889f10a
Send browser support information and format user id
2019-04-04 14:21:32 +02:00
Pierre de La Morinerie
41ad89d8ac
commencer: fix redirection with invalid path
2019-04-04 14:03:40 +02:00
Paul Chavard
b9be186d2c
Sentry should send environment information
2019-04-03 18:19:16 +02:00
Pierre de La Morinerie
22f2ca105e
commencer: display a FranceConnect button
...
Fix #3640
2019-04-03 16:08:09 +02:00
simon lehericey
65370b20a9
Use IPService to remove secure connexion from trusted networks
2019-04-03 15:21:19 +02:00
Paul Chavard
25c4391118
Update type de champ serialization for editor
2019-04-03 14:38:07 +02:00
Paul Chavard
639facaf2a
Add new types_de_champ#move api
2019-04-03 14:38:07 +02:00
Paul Chavard
e71cdcd12c
Move all the trackers to a separate js pack
2019-04-02 17:33:53 +02:00
Pierre de La Morinerie
a8050ce136
stats: display only the last year of contact rate
2019-04-02 17:22:38 +02:00
Pierre de La Morinerie
031c40aa55
stats: display 12 weeks of feedbacks
2019-04-02 17:22:38 +02:00
simon lehericey
f945b9ec63
Champ Siret: Fix siret-champ save
...
When a user enter a siret, it calls siret_controller in ajax. The champ value is stil nil, so champ.present? is false because champ.blank is redefined to focus on value. Thus the champ is not updated.
2019-04-02 14:17:21 +02:00
clemkeirua
0d71120f98
[ fix #306 ] Possibilité de joindre un document à un avis
2019-03-28 15:45:14 +01:00
Pierre de La Morinerie
dd4eae7d62
admin: add a expects_multiple_submissions
property on procedures
2019-03-28 15:26:15 +01:00
Pierre de La Morinerie
06e7355d5b
commencer: fix invalid URL on test procedures
...
Fix #3693
2019-03-28 14:15:46 +01:00
Frederic Merizen
5e21ebd93f
Move procedure library to new design
2019-03-28 13:50:29 +01:00
Pierre de La Morinerie
d267d782b8
help: add administration contact on /commencer pages
2019-03-28 11:36:24 +01:00
Pierre de La Morinerie
30d11e0dac
app: rename new_gestionnaire
to gestionnaires
2019-03-26 10:48:59 +01:00
pedong
0d7c30c9dd
[ fix #3476 ] add notify email for the dossier change state to instruction
2019-03-25 16:04:33 +01:00
simon lehericey
39b710fdde
Annotation: can use repetable
2019-03-25 11:08:53 +01:00
Pierre de La Morinerie
ded5b70444
app: rename new_user
to users
2019-03-25 10:56:39 +01:00
Pierre de La Morinerie
549b17f75e
help: add a custom help dropdown in dossier context
2019-03-20 11:06:54 +01:00
Pierre de La Morinerie
36f9909066
webhook: make helpscout email search case-insensitive
...
Fix #3636
2019-03-20 10:41:13 +01:00
Paul Chavard
69a51e3296
Save SIRET data on search
2019-03-19 16:22:42 +01:00
simon lehericey
ed6828c66c
Notification: UI
2019-03-18 16:37:51 +01:00
Paul Chavard
549eca44cb
Enable flipflop on api requests
2019-03-12 14:02:55 +01:00
Paul Chavard
48701e80bd
Enable flipflop for instructeurs
2019-03-12 12:14:34 +01:00
Paul Chavard
bb8ba75d22
Explicitly pass current_administrateur on publish
2019-03-12 11:59:01 +01:00
Paul Chavard
0e4b6e1ba2
Remove “Nombre d'administrations ayant dématérialisé N démarches” graph
2019-03-12 11:59:01 +01:00
Paul Chavard
93ceb79dd1
An admin should always have access to the service of it’s procedures
2019-03-12 11:59:01 +01:00
Paul Chavard
504b26bf5e
Add administrateur to demarche from manager
2019-03-12 11:59:01 +01:00
Paul Chavard
c37f649453
Update specs to use multiple administrateurs
2019-03-12 11:59:01 +01:00
Paul Chavard
01b966ff66
Check demarche ownership on multiple administrateurs
2019-03-12 11:59:01 +01:00
Mathieu Magnin
44f28ec565
Remove feature flag for publish draft
2019-03-12 11:26:07 +01:00
Frederic Merizen
8d8376947d
[ Fix #3477 ] Individually remove values from multi-value filter
2019-03-11 17:14:17 +01:00
Frederic Merizen
393f1b1971
[ #3477 ] Move eager_load_displayed_fields to model
2019-03-11 17:14:17 +01:00
Frederic Merizen
c81adb80fd
[ #3477 ] Better choice of case vs if
2019-03-11 17:14:17 +01:00
Frederic Merizen
66fa7ef11d
[ #3477 ] Push up reliance on mutable state
2019-03-11 17:14:17 +01:00
Frederic Merizen
ac4750e5e3
[ #3477 ] Simplify removing a filter
2019-03-11 17:14:17 +01:00
Frederic Merizen
822a3f7098
[ #3477 ] Extract helper to find field
2019-03-11 17:14:17 +01:00
Frederic Merizen
bda41d7574
[ #3477 ] Clarify field_id
2019-03-11 17:14:17 +01:00
Frederic Merizen
58158938cb
[ #3477 ] Extract helper
2019-03-11 17:14:17 +01:00
Frederic Merizen
5e1dc7059a
[ #3477 ] Allow selecting the same filter repeatedly
2019-03-11 17:14:17 +01:00
maatinito
766e9db752
converting DateTime to Date looses time zone information resulting in bad time computing
...
Specifically, for Tahiti, time zone is -10 so after 14h, UTC time is Tahiti time + 10h i.e the day after. Loosing time zone results in 1 day difference whether the time is computed before of after 14h :-)
2019-03-08 17:58:58 +01:00
Frederic Merizen
a8ce11a4d2
Add rel=noopener to links with target=_blank
...
http://support.detectify.com/customer/portal/articles/2792257-external-links-using-target-_blank-
2019-03-05 18:25:26 +01:00
Paul Chavard
f7af01e0dc
Create new procedures with administrateurs
2019-02-26 16:38:58 +01:00
Chaïb Martinez
93a0edcce0
Il y avait une issue crée, je push sur une nouvelle branche
2019-02-21 17:50:58 +01:00
Paul Chavard
84383fc3c1
Assigne admins to procedure.administrateurs
2019-02-20 17:10:57 +01:00
Paul Chavard
aad685bb79
Show preview with correct type de champ options
...
fix #3439
2019-02-19 16:37:42 +01:00
Mathieu Magnin
540201cef5
Fix sentry 230
2019-02-19 12:40:19 +01:00
Mathieu Magnin
cf610bbd91
Merge branch 'dev' into enforce-rubocop-timezone
2019-02-18 17:41:41 +01:00
simon lehericey
c16e30442a
save path before redirect to link_sent_path
2019-02-18 17:20:49 +01:00
simon lehericey
7de3a18fd1
valid period depend on trusted_device_token.created_at
2019-02-18 17:20:49 +01:00
simon lehericey
23db8a160c
move token validity to trusted_device_token
2019-02-18 17:20:49 +01:00
simon lehericey
bee9a108c5
split login and trusted_device logic
2019-02-18 17:20:00 +01:00
Mathieu Magnin
dd27167c5d
Enforce Timezone rule in Rubocop
2019-02-18 16:19:42 +01:00
simon lehericey
a7e068003a
[ fix #3427 ] Administration can soft delete a dossier
2019-02-14 18:09:08 +01:00
Chaïb Martinez
9cf0ec7d02
support: fix dossier id sent to HelpScout
2019-02-13 12:19:00 +01:00
Paul Chavard
5da5f75c5f
[Types de Champ Editeur] Save on change and only edited model
2019-02-07 17:05:55 +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
Paul Chavard
071448e1d9
Champ Repetition dossier editor
2019-02-04 16:19:07 +01:00
Paul Chavard
9b7b59f67e
Champs editor should handle repetition type
2019-02-04 11:58:26 +01:00
Pierre de La Morinerie
34a2dc6b97
stats: turn satisfaction into a stacked area chart
2019-02-01 11:02:37 +01:00
Pierre de La Morinerie
803364490d
carto: present API InternalServerError to the user, instead of failing
2019-01-28 18:22:55 +01:00
Mathieu Magnin
e18f9d9dfa
[Fix Sentry 97] pass a string to flash instead of array
2019-01-24 15:49:46 +01:00
Pierre de La Morinerie
fb75461c78
procedure: delete dossiers on destroy
2019-01-23 17:19:36 +01:00
Pierre de La Morinerie
022cf33853
contact: fix sending a message to the messagerie
...
Fix #3313
2019-01-22 16:12:13 +01:00
pedong
6103176a78
[ fix #1238 ] add previsualization attestation for gestionnaire
2019-01-22 14:54:24 +01:00
Pierre de La Morinerie
bb753ce23e
commencer: redirect to the procedure page after sign-in and sign-up
2019-01-21 14:45:38 +01:00
Pierre de La Morinerie
016e5f2e6f
commencer: add an independant page
2019-01-21 14:45:38 +01:00
Mathieu Magnin
910d471d86
If archived_at & published_at equal nil (tests procedures), then use created_at order
2019-01-17 14:04:58 +01:00
Paul Chavard
41c9b21509
Use new editor
2019-01-17 11:20:31 +01:00
Paul Chavard
e1a1a2b2ad
Add new admin procedure update action
2019-01-17 11:20:31 +01:00
Pierre de La Morinerie
ae763d93f3
sign_up: display procedure context if available
2019-01-17 11:07:09 +01:00
Pierre de La Morinerie
4fd9fa6610
sign_in: extract the procedure context to a ProcedureContextConcern
2019-01-17 11:07:09 +01:00
Pierre de La Morinerie
e580d336e4
sessions: add a helper to clear the stored return path
2019-01-17 10:48:54 +01:00
Pierre de La Morinerie
8b95da5ee5
layouts: migrate sign_up to the shared layout
2019-01-16 14:49:51 +01:00
Pierre de La Morinerie
62ee710382
sign_in: remove hack for displaying the procedure context
...
Before there was no way to display the informations about a procedure
without having a dossier. Thus an empty dossier was created.
Now we can display the informations of a procedure using a @procedure
instance variable, so we can move this hack away.
2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
d36696442b
layouts: migrate sign_in to the shared layout
2019-01-16 14:25:12 +01:00
Pierre de La Morinerie
ac88d1cc1d
stats: display the last day of the range (instead of the first day)
2019-01-10 16:17:00 +01:00
Pierre de La Morinerie
908771e172
stats: use group_by_week to compute the week range
...
Fix #3242
2019-01-10 16:17:00 +01:00
simon lehericey
29fff9ee68
[ fix #3269 ] bufferize login token email
2019-01-10 12:06:35 +01:00
simon lehericey
b38fbc78ef
SessionControllerSpec: remove specific attribut test
...
change user.update(log_in_with_france_connect: nil) as log_in_france_connect is an enum
2019-01-09 13:49:47 +01:00
Pierre de La Morinerie
e25bd7139f
layouts: use a common procedure_context
layout for the demarche overview
2019-01-07 15:39:58 +01:00
Pierre de La Morinerie
5a36546485
layouts: rename "application" to "application_old"
2019-01-07 12:17:05 +01:00
Pierre de La Morinerie
86b9e2d092
stats: fix exception when HelpScout env vars are missing
...
This fixes the stats page, which used to raise an exception when
HelpScout env vars are not present.
2019-01-03 17:27:56 +01:00
Pierre de La Morinerie
efae27b901
stats: start helpscout stats at 01-2018
...
Data before is very variable, as it is based on a low dossiers count.
2019-01-03 17:23:22 +01:00
gregoirenovel
0596d53ac2
Enable the Lint/UnusedBlockArgument cop
2019-01-03 10:53:50 +01:00
gregoirenovel
baf7977786
Enable the Lint/StringConversionInInterpolation cop
2019-01-03 10:53:50 +01:00
gregoirenovel
d473119f9d
Enable the Lint/ParenthesesAsGroupedExpression cop
2019-01-03 10:53:50 +01:00
gregoirenovel
386fbce776
Enable the Layout/SpaceBeforeBlockBraces cop
2019-01-03 10:53:50 +01:00
Chaïb Martinez
802f2086d6
Redirect admins with no démarches to the new demarche page
2018-12-28 18:57:51 +01:00
maatinito
4ad3a60e25
[ Fix #2575 ] Créer automatiquement un compte instructeur aux administrateurs
2018-12-26 09:44:20 -10:00
gregoirenovel
a8f700b572
Enable the Style/FormatString cop
2018-12-19 13:56:10 +01:00
gregoirenovel
e69310fe07
ModuleApiCartoService → ApiCartoService
2018-12-19 10:29:11 +01:00
gregoirenovel
026fd1aaa2
Use parentheses
2018-12-18 22:18:38 +01:00
Pierre de La Morinerie
d614ea6bd5
stats: display contact rate
2018-12-18 10:38:59 +01:00
Mathieu Magnin
edf3eefa87
Fix Sentry 114, Instructeur can delete pj in private champs
2018-12-13 17:27:05 +01:00
simon lehericey
db6c86b242
DossierController: user can destroy pjs
2018-12-06 10:45:10 +01:00