kara Diaby
4a70a7fcc8
remove email_notifications_enabled column because of the new daily_email_notifications_enabled
2020-02-27 11:09:19 +01:00
kara Diaby
6102ba6039
Do not permit to upload a GIF file via javascript
2020-02-25 23:33:15 +01:00
Pierre de La Morinerie
6664965961
mailers: add procedure context to the confirmation link
...
This allows to redirect the user to the procedure they signed up for
even when the browser session is not available (like if they changed
of browser).
Fix #4738
2020-02-25 11:45:36 +00:00
kara Diaby
5dc5230791
Step1 : add new column to Assign_tos and make sure that the data is saved on form submit
2020-02-20 16:14:56 +01:00
Paul Chavard
1ce1c1e6d0
use discard
2020-02-13 12:31:59 +01:00
Pierre de La Morinerie
e746d90016
mailers: add a link to the procedure when the account already exists
2020-02-12 13:24:52 +00:00
kara Diaby
0b8a59d5e9
Add the possibility to disable weekly email notifications (instructeur) && rename the column email_notifications_enabled to daily_email_notification_enabled
2020-02-12 13:02:31 +00:00
Paul Chavard
f0ea96772d
Only invite experts to dossiers instructeur have access to
2020-02-11 17:38:57 +01:00
Christophe Robillard
9fe005e4d7
fix pending demandes
2020-02-05 18:19:05 +01:00
Christophe Robillard
50fcd24b46
admin: fix pending demandes
...
fetch email with map
2020-02-04 16:21:42 +01:00
Christophe Robillard
055918aabc
admin: replace calls to Administrateur.find_by(email: ...)
2020-02-04 16:21:42 +01:00
Christophe Robillard
cee4c5b8fb
Revert "Revert "4127 fix superadmin supprime compte usager""
...
This reverts commit 751f24f7bb
.
2020-02-04 16:07:01 +01:00
Paul Chavard
08400cdd4c
Poll for export readiness updates
2020-01-29 22:52:03 +01:00
clemkeirua
1c3573c7db
fix DoubleRender error for brouillon pdf
2020-01-29 14:24:23 +01:00
Pierre de La Morinerie
1448d5b098
models: add a Procedure#with_hidden scope, and remove unscoped
usages
...
This avoids the broad use of `unscoped` to remove the `hidden_at`
clause.
2020-01-28 17:32:38 +01:00
clemkeirua
5f65665b07
added a method for modifying a user email
2020-01-28 16:15:46 +01:00
Pierre de La Morinerie
751f24f7bb
Revert "4127 fix superadmin supprime compte usager"
2020-01-21 18:57:54 +01:00
Christophe Robillard
88e73d4039
raise exception if problem with destroy
2020-01-21 15:05:33 +01:00
Christophe Robillard
675bbdad15
transfere les services lors de suppression admin
...
Lorsqu'un administrateur est supprimé, ses services sont transférés à un
autre administrateur pour chacune de ses procédures
2020-01-21 15:05:33 +01:00
Christophe Robillard
a6d007dbd3
supprime un instructeur
2020-01-21 15:05:33 +01:00
Christophe Robillard
d4de5769ee
empêche la suppression d'un user qui est admin
2020-01-21 15:05:33 +01:00
clemkeirua
fb87a87f47
code review changes
2020-01-20 16:15:02 +01:00
clemkeirua
12430a8068
ajout d'un écran intermediaire pour gérer la reaffectation des dossiers
2020-01-20 16:15:02 +01:00
clemkeirua
45c8c8ca21
an admin can delete a groupe-instructeur with 0 dossier
2020-01-20 16:15:02 +01:00
Paul Chavard
14295db9ad
Revert "Revert "Merge pull request #4552 from tchak/champ-communes""
...
This reverts commit 4373cb22cb
.
2020-01-14 18:46:07 +01:00
clemkeirua
bc506bf693
ajout d'un lien d'export pdf usager
2020-01-14 09:29:29 +01:00
clemkeirua
85d4adbf8b
ajout de l'export pdf pour instructeur
2020-01-14 09:29:29 +01:00
clemkeirua
4373cb22cb
Revert "Merge pull request #4552 from tchak/champ-communes"
...
This reverts commit 4cec26f73a
, reversing
changes made to 0ef25ef36c
.
2020-01-13 16:26:27 +01:00
Christophe Robillard
9a62d3fe0c
delete a user
2020-01-13 10:06:43 +01:00
Paul Chavard
785a09b326
Use service_url instead of blob_url on secure attachments
2020-01-08 14:43:05 +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
Pierre de La Morinerie
e32a42cfe6
dossiers: split the dossier creation on several lines
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
5b2311c851
dossiers: rescue RecordNotFound only for procedures
...
This ensures that we won't rescue an `ActiveRecord::RecordNotFound`
exception related to another object.
2020-01-08 10:48:21 +01:00
Paul Chavard
e61e39d345
Remove unused code and tests
2020-01-07 11:52:51 +01:00
Paul Chavard
ff46ee366e
Fix user brouillon spec
2020-01-07 11:52:51 +01:00
Paul Chavard
22aa2d4ee0
Make all location champs autocomplete
2020-01-07 11:52:51 +01:00
Paul Chavard
fa2eea81aa
Cleanup demarche archivee state
2020-01-07 11:13:42 +01:00
Pierre de La Morinerie
8eb295d67e
dossiers: avoid exceptions on invalid AASM transitions
...
When attempting an invalid transition on a dossier, provide a meaningful
error message (instead of letting an `AASM::InvalidTransition` exception
propagate).
This handles not only the case where the same state is applied twice
(which was already handled manually), but all cases where the transition
is invalid.
2019-12-19 13:25:32 +01:00
simon lehericey
60538c9c28
Controller use new export model
2019-12-18 13:13:15 +01:00
simon lehericey
745086cbb5
Simplify view
2019-12-18 13:13:15 +01:00
simon lehericey
d0f0533a32
Remove unused code
2019-12-18 13:13:15 +01:00
simon lehericey
f069f6f779
Make the new instructeur receive the affectation mail
2019-12-16 18:20:00 +01:00
simon lehericey
058442c84e
[link to #4557 ] An instructeur cannot change its email on its own
2019-12-11 17:18:21 +01:00
simon lehericey
21910c959e
@current_user -> current_user
2019-12-11 17:18:21 +01:00
Paul Chavard
2f060fc30a
Add depubliee state to procedures
2019-12-04 16:52:41 +01:00
Paul Chavard
e429c79eb1
Allow administrators to set themselves démarches as déclaratives
2019-12-04 12:30:26 +01:00
Pierre de La Morinerie
3212dfddca
app: allow hiding the browser banner for one week
2019-12-03 16:09:18 +01:00
simon lehericey
4175aa0b28
GroupeInstructeur: do not use outdated email column
2019-12-02 14:52:01 +01:00
Paul Chavard
7b947feae4
Rename demarche archivée to demarche close
2019-11-28 15:07:16 +01:00
Paul Chavard
c1c8ab7ac6
Disable transition from publiée to brouillon
2019-11-28 14:17:47 +01:00
simon lehericey
6657459f9c
Fix add instructeur with empty mail
...
As select2 does not handle required attribute, we can only add server side logic
2019-11-27 14:39:16 +01:00
Pierre de La Morinerie
f58f9f9950
dossiers: render a valid response after an autosave
...
This helps Firefox DevTools to mark the request as valid and completed
successfuly.
2019-11-27 10:37:33 +00:00
maatinito
9de9a1fd71
Use time.zone functions instead of server time functions
...
(Time.zone.today vs Date.today)
2019-11-26 14:26:36 +01:00
Pierre de La Morinerie
68f5aae99d
autosave: add feature test
2019-11-21 14:00:06 +01:00
Paul Chavard
0c6705f7fd
Drop old export service
2019-11-21 10:25:40 +01:00
clemkeirua
be7fde1103
fix UnknownFormat raised in Instructeurs::ProceduresController#download_export
2019-11-21 09:52:38 +01:00
Christophe Robillard
b42f21264e
permet le suivi auto après envoi instructeur
...
Close #4163
2019-11-20 16:41:30 +01:00
Pierre de La Morinerie
5f9a9d059e
dossiers: render JSON if needed
...
When receiving a request that expects JSON, return a simple '200'.
This avoids the unecessary work of rendering all the HTML page (which
ultimately will not be used).
2019-11-20 11:30:27 +01:00
Pierre de La Morinerie
8b8a96abda
dossiers: save draft by default (instead of submitting)
...
Make the default behavior of `update_brouillon` be to update the draft,
instead of submitting the dossier.
This makes all requests made to `update_brouillon` without specifying
an extra `submit_draft` parameter to just save the draft. It will make
autosaving the draft easier and safer.
2019-11-20 11:24:31 +01:00
simon lehericey
dae7a3bfd0
[ fix #4529 ] Log user email in manager space
2019-11-19 12:15:03 +01:00
simon lehericey
9ca026a630
Use a select2 box for looking to instructeurs
2019-11-18 17:08:51 +01:00
Paul Chavard
556ec351f3
Drop email on instructeurs
2019-11-13 15:38:44 +01:00
Paul Chavard
990c867c2e
[GraphQL] Add more filters to dossiers
2019-11-07 22:07:42 +01:00
Paul Chavard
f5c80f211d
Guard for missing attestation on dossier
2019-11-06 12:54:07 +01:00
Paul Chavard
95f98fe605
API v1 correctly handle resultats_par_page
2019-11-06 12:54:07 +01:00
Pierre de La Morinerie
8df91df9fa
assigns: strip and lowercase the search filter
2019-11-06 12:16:30 +01:00
Pierre de La Morinerie
0eeac59ecd
assigns: fix search among the unassigned instructeurs
...
This was broken since moving the email out of the Instructeur column.
2019-11-06 12:16:30 +01:00
simon lehericey
5643e671a0
Code use user.active?
2019-11-05 14:10:39 +01:00
Pierre de La Morinerie
c37bfc7349
instructeurs: fix email casing in invitation
...
When inviting an instructeur, the code first looked up an existing
instructeur using the normalized (downcased) email address–but then
tried to promote it using the non-normalized version, which failed.
This fixes the issue by always using the normalized email.
2019-11-05 10:54:58 +01:00
Pierre de La Morinerie
f63cd86811
webhook: fix a crash when the Helpscout customer is unknown
2019-11-04 18:36:52 +01:00
Pierre de La Morinerie
f131dbb80d
instructeurs: make the create form not using email directly
...
Before the form attempted to read an email value from the Instructeur
model, and failed (because the empty Instructeur had no user yet).
We could let `Instructeur#email` return `nil` if there is no User –
but as a created Instructeur is always supposed to have a User, this
seems like a nice safeguard to keep.
So instead this commit rewrites the create form, which now doesn’t
depend on an Instructeur model. Seems easy enough for now.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
d78d206544
instructeurs: fix expert creation not to use Instructeur.email
...
It kind of worked until now, because the email field is disabled, and
thus never accessed.
But better make it clean, by accessing an object (User) where the email
field actually exists.
2019-11-04 10:44:24 +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
Pierre de La Morinerie
cd478b489e
instructeurs: replace calls to Instructeur.find_by(email: …)
2019-11-04 10:44:23 +01:00
Pierre de La Morinerie
627d30191f
manager: allow hidden procedures to be searched
...
The Manager::DossiersController already allow hidden dossiers to be
searched and displayed. Give the same behavior to Procedures.
2019-10-31 17:03:02 +01:00
Nicolas Bouilleaud
72b7ff221c
move procedure to new design
2019-10-31 10:27:19 +01:00
simon lehericey
477f7c9837
Remove instructeur
2019-10-30 14:27:51 +01:00
simon lehericey
79b808470c
Add instructeur
2019-10-30 14:27:51 +01:00
simon lehericey
94081a3997
Show Groupe Instructeur
2019-10-30 14:27:51 +01:00
simon lehericey
4491dca19a
Index Groupe Instructeur
2019-10-30 14:27:51 +01:00
simon lehericey
d411bfddc8
We can send a dossier to instructeurs from the same groupe
2019-10-25 09:42:17 +02:00
simon lehericey
8ae592fe25
[ fix #4361 ] administrateur active
2019-10-24 18:32:48 +02:00
Pierre de La Morinerie
35e97ac617
patron: add content to the repetition champ
2019-10-24 16:52:29 +02:00
Pierre de La Morinerie
8f4ead96b0
patron: make the labels more readable
2019-10-24 16:52:29 +02:00
clemkeirua
d9e993571c
add a warning during export generation
2019-10-24 16:27:10 +02:00
simon lehericey
35bba62297
Update routing critéria name
2019-10-23 21:47:20 +02:00
simon lehericey
a5ffe9f54b
Remove instructeur from the group
2019-10-23 21:47:20 +02:00
simon lehericey
a6deafd885
Add instructeurs to groupe
2019-10-23 21:47:20 +02:00
simon lehericey
3dd3af8482
Groupe instructeur update
2019-10-23 21:47:20 +02:00
simon lehericey
9a6336f508
Groupe instructeur create
2019-10-23 21:47:20 +02:00
simon lehericey
733e83cc54
Groupe instructeur show
2019-10-23 21:47:20 +02:00
simon lehericey
2749c00ce3
Groupe instructeur index
2019-10-23 21:47:20 +02:00
simon lehericey
6a974663b0
An instructeur owns procedure with groupe instructeur mechanisme
2019-10-23 21:47:20 +02:00
Paul Chavard
86b271997b
Invite experts to linked dossiers
...
closes #3669
2019-10-23 13:10:09 +02:00
clemkeirua
cdab08b198
UI work
2019-10-22 09:51:14 +02:00
clemkeirua
43424e4f4e
merge with the work of paul, using 3 links
2019-10-22 09:51:14 +02:00
clemkeirua
70ea5e167e
procedure download is performed through a controller in order not to leak the URL
2019-10-22 09:50:58 +02:00
clemkeirua
1af2b63ed1
initial implementation of async export
2019-10-22 09:50:58 +02:00
simon lehericey
b7434c3132
User can choose its gi
2019-10-17 15:48:14 +02:00
simon lehericey
5143d341ec
Admin: 1 query for crips
2019-10-08 09:53:40 +02:00
clemkeirua
053cc5cfc5
[ fix #4058 ] instructeur peut passer accepte → instruction
2019-10-07 15:17:33 +02:00
clemkeirua
d3063c0b63
remove download_as_zip feature flag
2019-10-03 10:48:24 +02:00
Paul Chavard
bf6fbbf2b6
Add graphql end point
2019-09-24 10:47:21 +02:00
Nicolas Bouilleaud
a2131d0fcc
Don’t unfollow when archiving
...
It was slightly broken in two ways:
- it doesn’t make other instructeurs unfollow the dossier
- if the dossier is unarchived, instructeurs don’t refollow automatically.
2019-09-20 11:06:33 +02:00
simon lehericey
8660d4af30
Instructeur: only export its dossiers
2019-09-19 12:24:40 +02:00
simon lehericey
f5bbc9e2f9
InstructeurProcedureShow: show dossier for all the gi involved
2019-09-18 15:51:02 +02:00
Paul Chavard
8fcf1353f3
Remove duplicated attachments
2019-09-17 18:12:53 +02:00
simon lehericey
dec42e4886
Instructeur procedure index: show stats by procedure
...
Also sum the count from differents groupe_instructeur from the same procedure
2019-09-17 17:19:14 +02:00
Nicolas Bouilleaud
0c98f29d59
Move the cached procedure stats queries to a ProcedureStatsConcern
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
06d60cd943
Cache requests in procedures/stats
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
3e2985b305
First attempt at procedure stats
...
fixes #3945 , #3946 , #3948
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
543f9894c1
Make sure the “commencer” link uses the proper test path
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
c26a701a17
Refactor and redesign publish modal
...
* remove the autocomplete menu
* use ujs to pre-validate the procedure
* tweak the UI
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
bd1e0aba38
Add Procedure path suggestion
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
00c37eccb3
Simplify procedure.path and publish event
...
* Get rid of the “reopen” event, merge it with “publish” (it’s the same code)
* Remove the “availability” states; “available with brouillon” makes no sense since the brouillons path are always uuids
* Instead of checking if publish can happen, just try it and handle the errors
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
99f986b815
Cleanup Procedure retrieval in “Commencer”
...
Make sure to only fetch active (brouillons or published) procedures.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
92e6032115
Remove path availability dead code when creating/editing a procedure
...
There’s no “path” field anymore in the Procedure form, it can only be set when publishing.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
b9968b76b0
Remove “avec_lien” helpers now that Procedure.path cannot be nil
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
8fa630d2bb
Remove Gestionnaire.visible_procedures
...
It is actually the same thing as Gestionnaire.procedures. It already included the procedures with paths as well as the archived procedures, and in production, there were no Gestionnaire for who procedures was returning a different result than visible_procedures (expect for two baddata brouillon procedures with a nil path).
In addition, Procedure.path is now nonnull, which means the Procedure.avec_lien scope is pointless.
Finally, the current spec showed that the only procedure not visible to the gestion was the one he was not assigned to.
2019-09-17 16:30:48 +02:00
maatinito
ae34e48624
[ fix #4311 ] Unable to reinvite admin
2019-09-17 16:15:04 +02:00
Paul Chavard
ff2b6ca3ea
Fix service controller
2019-09-17 12:37:37 +02:00
Paul Chavard
adfa80142a
Cleanup application_controller and current_user
2019-09-17 12:37:37 +02:00
Paul Chavard
3eeebd62eb
Use built in active_storage helper
2019-09-17 11:11:08 +02:00
simon lehericey
acb99609ba
Move defaut_groupe_instructeur as has_one and eager_load
2019-09-16 15:57:07 +02:00
simon lehericey
afa0237349
remove logo n+1
2019-09-16 15:48:19 +02:00
Paul Chavard
3b8d3b7967
Add Style/CollectionMethods to rubocop
2019-09-12 14:48:18 +02:00
Pierre de La Morinerie
503c393a87
helpscout: use replies_sent to compute contact rate
...
The `conversations_count` we previously used counts replies, but also
all conversations that were tagged or re-tagged during the month – with
made counting the actual work spent on user support brittle.
Counting the replies is a better estimation of what we get.
Unfortunately this also removes the filtering-by-tag feature. To
mitigate this, the reports are now scoped to a specific mailbox. This
allows to create extra mailboxes for conversations that should't be
counted in the stats.
2019-09-11 17:26:10 +02:00
Paul Chavard
65e227c44b
Migrate to flipper
2019-09-10 16:10:14 +02:00
Paul Chavard
347f03d2a9
Redirect to pdf attachement old name if not attached
2019-09-10 15:06:47 +02:00
Paul Chavard
7ffb98e616
Remove carrierwave uploaders
2019-09-10 10:49:12 +02:00
simon lehericey
6a83adf336
StatController: work by groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
ad7ef6c739
Link assign_to and procedure by groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
4da12ed3e8
User/DossierController: dossier are linked to default group by default
2019-09-03 06:47:02 +02:00
simon lehericey
d582af0962
Fix Instructeur Procedure Index
2019-09-03 06:47:02 +02:00
simon lehericey
a82d49aa60
Procedure: save procedure while cloning
...
This is required to be able to assign the administrateur.instructeur to the defaut_groupe_instructeur of the new procedure
2019-09-02 11:41:12 +02:00
simon lehericey
b541ef0b41
Procedure has many instructeurs with defaut_groupe_instructeur
2019-09-02 11:41:12 +02:00
clemkeirua
c2916e9d05
remove possibility to create carte with parcelle agricole
2019-08-29 16:01:35 +02:00
Paul Chavard
3c6b35d720
Fix attestation preview
2019-08-28 16:33:51 +02:00
benjaminhenkel
73d643d1be
Update flash message for test demarche
2019-08-28 14:54:17 +02:00
Paul Chavard
64dccbab5c
Only rename logo param if it is present
2019-08-28 11:01:58 +02:00
Paul Chavard
5edbc08542
Render attesation apercu inline
2019-08-27 17:44:02 +02:00
Paul Chavard
32563c3675
Redirect to active_storage files when available
2019-08-27 17:43:33 +02:00
Paul Chavard
a19b10b118
Migrate attestation files to active_storage
2019-08-27 17:42:52 +02:00
clemkeirua
188e0fd6b2
removed ask_birthday for new procedures & dossiers
2019-08-27 15:32:17 +02:00
simon lehericey
7b9b90a3e0
[ fix #4238 ] When the token does not exist, redirect to home page without sending a new link
2019-08-27 15:01:46 +02:00
Paul Chavard
cc35a04e26
Migrate procedure logo to active_storage
2019-08-21 11:15:00 +02:00
simon lehericey
01a91e68ca
Simply avis controller
2019-08-20 12:20:12 +02:00
simon lehericey
98a24bea51
Simplify invite_instructeur
2019-08-20 12:20:12 +02:00
simon lehericey
ebe871819d
Fix admin deletion by an administration
2019-08-20 12:01:36 +02:00
simon lehericey
80cb8b87fe
Keep only the FC logic and use devise for the rest
2019-08-16 16:48:22 +02:00
simon lehericey
9c715b2969
SessionController: new User in view
2019-08-16 16:48:22 +02:00
simon lehericey
27085af9b5
SessionController: remove remember_me
...
It is somehow taken care by warden
2019-08-16 16:48:22 +02:00
simon lehericey
002510d5cb
SessionController: remove complicated try_to_authenticate
2019-08-16 16:48:22 +02:00
simon lehericey
67cc2c1a87
SessionController: remove instructeur_signed_in?
2019-08-16 16:48:22 +02:00
simon lehericey
a3b9bf90d4
SessionController: remove useless code
...
- the redirection of a locked user is made by the sign_in method
- because of the paranoid mode it displays the devise.failure.invalid error message
2019-08-16 16:48:22 +02:00
simon lehericey
1b14d85c77
Rerender if wrong credentials
2019-08-16 16:48:22 +02:00
simon lehericey
dab1519b8c
Remove credenticals synchronisation logic
2019-08-16 11:35:19 +02:00
simon lehericey
58ecf18390
ActivateController: add tests and clean a bit
2019-08-16 11:22:36 +02:00
simon lehericey
972b6793f7
Remove useless sessions_controller
2019-08-14 18:04:26 +02:00
simon lehericey
149b0b5797
Fix Sign out
2019-08-14 16:58:50 +02:00
simon lehericey
d0ac1c3301
Fix manager invite administrateur
2019-08-14 16:34:50 +02:00
simon lehericey
c380d807ab
Spec: sign_in with administrateur.user
2019-08-14 15:08:14 +02:00
simon lehericey
4142acf8d3
Replace administrateur devise methods in app
2019-08-14 15:06:16 +02:00
simon lehericey
840be2408e
Remove administrateur devise methods
2019-08-14 15:06:15 +02:00
Paul Chavard
0969b1f85f
Enable email_login_token for all gestionnaires
2019-08-14 12:53:51 +01:00
Paul Chavard
ef66defcd1
Fix invite instructeur from manager
2019-08-13 20:12:46 +01:00
Pierre de La Morinerie
4e9895c11b
app: mark the contact forms as not sensitive to trusted tokens
...
Instructeurs waiting for a confirmation token should be able to
access the contact form (especially to ask for help).
Fix #4198
2019-08-13 19:48:11 +02:00
simon lehericey
8fa3c9e4f7
Fix expert invitation
2019-08-13 15:15:16 +02:00
simon lehericey
5fdac38cb2
Fix instructeur invitation
2019-08-13 15:15:16 +02:00
simon lehericey
efd793f266
AdminProcedureController: fix self assignation as instructeur
2019-08-13 15:15:16 +02:00
simon lehericey
ad31822a68
Spec: sign_in with instructeur.user
2019-08-13 15:15:16 +02:00
simon lehericey
47b7dc368b
Remove or fix now nonsense code
2019-08-13 15:15:16 +02:00
simon lehericey
c8a7bde5e0
Replace instructeur devise methods in app
2019-08-13 15:15:16 +02:00
simon lehericey
e3fd1cc33a
Remove weird switch_devise_profile_service
2019-08-13 15:15:16 +02:00
simon lehericey
5bda753735
Remove all devise route and controller for instructeur and administrateur
2019-08-13 14:13:48 +02:00
simon lehericey
a4b9eecded
Remove unused devise session controller
2019-08-13 14:13:48 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
simon lehericey
6902f84b85
Brutally rename gestionnaire filename to instructeur
2019-08-12 13:47:01 +02:00
simon lehericey
bb8d65c6b4
Subtly rename admin/instructeurs to admin/assigns
2019-08-12 13:47:01 +02:00
simon lehericey
7ac243ac44
Use proper token to find the administrateur ... how can it works otherwise ?
2019-08-12 13:43:03 +02:00
clemkeirua
707e8a0004
dossier_controller#new uses info from FC if any
2019-08-01 17:42:32 +02:00
maatinito
8d3e3baabc
#3928 administrator new & edit pwd pages
2019-08-01 17:12:14 +02:00
maatinito
220b38ad2a
#3928 different pwd edit page for administrators
2019-08-01 17:12:14 +02:00
Paul Chavard
02904f55b1
Fix champ policy
2019-08-01 16:41:53 +02:00
Paul Chavard
c75e39884e
Save selection utilisateur as geo area
2019-08-01 11:38:09 +02:00
clemkeirua
f5d3818e3c
remove unnecessary retransition methods
2019-08-01 10:40:08 +02:00
Keirua
2f82dd9a3d
improve typography and texts
...
Co-Authored-By: Nicolas Bouilleaud <nico@bou.io>
2019-08-01 10:29:51 +02:00
clemkeirua
38b48f4217
transition from accepte to instruction as superadmin
2019-08-01 10:29:51 +02:00
Paul Chavard
fc75580a3c
Start using pundit
2019-07-30 18:09:28 +02:00
Pierre de La Morinerie
5502f2e42e
dossier: remove UI for uploading old pieces justificatives
2019-07-30 16:11:16 +02:00
Pierre de La Morinerie
0c4cb3b498
admin: remove UI for managing old pj
2019-07-30 16:11:16 +02:00
Nicolas Bouilleaud
7205f4da9e
L'enfer du Nord Paris-Roubaix (Tour de France, Tour de France)
2019-07-30 14:47:48 +02:00
pedong
9438f962c5
add alert for account is locked
2019-07-29 17:48:44 +02:00
pedong
0ed9c4cbd4
add check access_locked? when login
2019-07-29 17:48:44 +02:00
clemkeirua
6f47655301
rendu lien_site_web obligatoire au moment de la publication
2019-07-25 15:46:04 +02:00
clemkeirua
6b19432d47
deplacement de l'URL qui envoie vers la procédure
2019-07-25 15:46:04 +02:00
Pierre de La Morinerie
2174172e34
admin: display CTA buttons in emails preview
2019-07-25 12:25:50 +02:00
pedong
0f957ec77b
[fixe #3974 ] add message for invite mail
2019-07-23 18:54:58 +02:00
clemkeirua
af436500fd
better button
2019-07-23 16:11:15 +02:00
clemkeirua
f166077f5e
ajout d'un bouton de suppression des admin dans le manager
2019-07-23 16:11:15 +02:00
Pierre de La Morinerie
858b093314
mailers: use the standard view mechanism to render notifications
...
Instead of rendering a view as a template, consider the view as a normal
view.
2019-07-23 14:53:50 +02:00
clemkeirua
6d43465ee5
renammed into monavis_embed
2019-07-17 18:04:32 +02:00
clemkeirua
d8b63cd4c9
added 'monavis' inside the procedure and for users
2019-07-17 18:04:32 +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
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
Frederic Merizen
4699e515ed
[ Fix #2999 ] Send gestionnaire back to what they were doing after email verification
2018-12-06 10:03:21 +01:00
Paul Chavard
35494df78e
Procedure export dossiers with champs siret
2018-12-05 17:09:39 +01:00
Paul Chavard
a08f170dbd
Assign users and gestionnaires to commentaires
...
fix #2052
2018-12-05 13:40:57 +01:00
Paul Chavard
35d2bc36fc
cleanup selection_utilisateur geo_json
2018-11-29 17:10:14 +01:00
Paul Chavard
b9af07b845
Add admin support contact form
2018-11-28 16:50:37 +01:00
gregoirenovel
684314c117
Fix a typo
2018-11-28 16:41:56 +01:00
Paul Chavard
575a437f97
Remove carto from admin/procedure controller
2018-11-27 16:11:25 +01:00
Paul Chavard
9ff65efea8
Remove deprecated carto from dossiers controller
2018-11-27 16:11:25 +01:00
Paul Chavard
37a7e26fc3
Remove unused users/carte_controller
2018-11-27 16:11:25 +01:00
Paul Chavard
0f0ca2ec65
Lod dossier operations
2018-11-27 12:49:40 +01:00
Paul Chavard
15b1499e5d
Use state change methods on dossier in dossier controller
2018-11-27 12:49:40 +01:00
Paul Chavard
febf625dd9
Make difference between error and empty geo json
2018-11-27 12:36:10 +01:00
Paul Chavard
f2e7feec1d
Do not send error json to backend - it doesn’t need it and it creates bad data
2018-11-27 11:45:24 +01:00
gregoirenovel
e8c24c27e5
[ Fix #110 ] Remove any reference left to facades
2018-11-22 11:25:55 +01:00
gregoirenovel
dc89c7f530
[ Fix #3027 ] Redirect to the demarches index after a demarche deletion
2018-11-22 02:06:48 +01:00
gregoirenovel
d0ec53a494
Move accessibilite to the root controller
2018-11-22 02:00:54 +01:00
gregoirenovel
82d764e340
Move tour_de_france to the root controller
2018-11-22 02:00:54 +01:00
Chaïb Martinez
0e8d235800
Add some params to track forms submissions
2018-11-21 18:25:47 +01:00
Mathieu Magnin
3ce9dd39af
[ Fix #3008 ] Soft delete demarche button in manager
2018-11-21 14:29:42 +01:00
Paul Chavard
c99ef811b6
Do not save error json in database
2018-11-21 13:03:01 +01:00
Paul Chavard
49c872fb97
Fail fast if passed champ_id is invalid
2018-11-21 13:03:01 +01:00
Paul Chavard
d43068ace5
Disable carto for new procedures
2018-11-20 12:14:10 +01:00
Paul Chavard
2462e42b53
Stop using legacy api carto after migration
2018-11-20 10:53:14 +01:00
Frederic Merizen
101e8e2588
[ #2999 ] Rediriger vers la bonne page apres login
...
(ne corrige pas le cas ou l'utilisateur est passe par le mail de confirmation)
2018-11-16 15:44:20 +01:00
Paul Chavard
2eb61bd6ed
Move dossier invites handler to invites controller
2018-11-14 15:16:49 +01:00
simon lehericey
fb76197404
SessionController: flipflop trusted device
2018-11-13 10:41:45 +01:00
simon lehericey
36621bffeb
FlipFlop: enable for gestionnaire
2018-11-13 10:41:45 +01:00
simon lehericey
457bc13c75
SessionController: do not display 'Connecté' when a login_link is required
2018-11-13 10:41:45 +01:00
simon lehericey
87967568b7
SessionController: if a admin is login in, redirect to admin page
2018-11-13 10:41:45 +01:00
simon lehericey
0d8d2de5a6
Session: add trusted_device cookie
2018-11-13 10:41:45 +01:00
simon lehericey
5690599289
Session: send a mail to confirm gestionnaire login
2018-11-13 10:41:45 +01:00
Pierre de La Morinerie
c7ac43cfe7
confirmation: add a dedicated page with confirmation instructions
...
Fix #2586
2018-11-08 16:20:05 +01:00
Paul Chavard
624b442cd7
Remove “Outil de changement d'état d'un dossier”
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
Chaïb Martinez
8d02b4dbdf
Add Matomo Suivi page
2018-11-08 14:25:37 +01:00
Paul Chavard
a7de2e68ed
Refactor types_de_champ views to use service instead of facade
2018-11-07 11:36:10 +01:00
Mathieu Magnin
62c01706df
[ Fix #2867 ] fix default sort for administrate
2018-11-06 19:22:01 +01:00
Pierre de La Morinerie
b0541fba79
users: sign-in after confirming an account within a short time
2018-11-06 18:24:34 +01:00
Frederic Merizen
d564eb1225
[ #835 ] Report failed and successful invitations
2018-11-06 16:40:42 +01:00
Frederic Merizen
8cf235f2fd
[ #835 ] Enable html5 validation of multiple mails
2018-11-06 15:44:43 +01:00
Frederic Merizen
c7358a8f53
[ Fix #835 ] Enable asking for multiple avis at the same time
2018-11-06 15:44:43 +01:00
Frederic Merizen
31ca0552ab
[ #835 ] Extract avis creation into concern
2018-11-06 15:44:43 +01:00
gregoirenovel
19a6391dc8
[ #835 ] Use the create_avis_params method instead of the params hash
2018-11-06 15:44:43 +01:00
Paul Chavard
cfd1950e17
Migrate commencer to new_user
2018-11-01 13:10:41 +01:00
Paul Chavard
e391fe6bec
Clarify procedure path availability code
2018-10-30 15:59:37 +01:00
Paul Chavard
6e4d111e09
Refactor and fix procedure update error handling
2018-10-30 15:59:37 +01:00
Mathieu Magnin
e90c541ab4
[ Fix #2276 ] When service creation fails form is not cleared
2018-10-30 15:49:18 +01:00
gregoirenovel
6bc1a8cb71
Remove the confirmation button from the manager
2018-10-30 15:24:30 +01:00
Paul Chavard
725e88a89a
Rename :procedure_path -> :path
2018-10-30 12:01:45 +01:00
Paul Chavard
f1fd1b38ec
Refactor procedures_controller
2018-10-30 12:01:45 +01:00
Paul Chavard
641831864b
Refactor commencer actions
2018-10-30 12:01:45 +01: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
Paul Chavard
fba0fad22e
Show warning on dossier pages when procedure is brouillon
2018-10-25 18:05:47 +02:00
Paul Chavard
72db9084a8
Fix old carto exception when no selection is passed
2018-10-24 13:16:50 +02:00
Paul Chavard
c0344fc30e
Fix procedures with multiple dossier link champs
2018-10-24 10:44:28 +02:00
Paul Chavard
5a8a4b393f
Add RPG carte source
2018-10-23 18:13:44 +02:00
Frederic Merizen
7baa239095
[ #2604 ] Introduce errors when retrieving ProcedurePresentation
2018-10-23 16:34:38 +02:00
Frederic Merizen
dd80cc280a
[ #2604 ] Extract method in ProceduresController
2018-10-23 16:34:19 +02:00
Paul Chavard
c8c75fc254
Better handle empty user selection layers
2018-10-23 09:35:25 +02:00
Paul Chavard
99e1a20d98
Add champ carte endpoint
2018-10-23 09:35:25 +02:00
Paul Chavard
53a261f424
Don’t rely on a decorator for ProcedureSerializer#geographic_information
2018-10-22 23:28:16 +02:00
Paul Chavard
4ebc0b7f4c
Refactor link attribute generation on ProcedureSerializer
2018-10-22 23:28:16 +02:00
Paul Chavard
e5d8d351ba
Fix sentry errors in old carto module
2018-10-22 15:40:19 +02:00
Frederic Merizen
4b2a06acb5
[ #2874 ] Show archived / followed status of dossier in search result
2018-10-18 16:05:19 +02:00
Pierre de La Morinerie
65bdfacd8c
dossier: remove old SIRET code, controllers and views
2018-10-18 15:46:00 +02:00
simon lehericey
fd9bdbf31d
StatsController: avoid doing useless queries
2018-10-18 11:50:43 +02:00
Pierre de La Morinerie
93f1a53dfc
dossier: add page for etablissement
2018-10-17 10:37:06 +02:00
Pierre de La Morinerie
310f4b92d1
dossier: add action to save SIRET number
2018-10-17 10:37:06 +02:00
Pierre de La Morinerie
54ba0f8e50
dossier: add new page for SIRET identification
2018-10-17 10:37:06 +02:00
simon lehericey
aff085bb6b
StatsController: avoid division by nil
2018-10-16 18:02:00 +02:00
gregoirenovel
99894961a5
AddressController#get → #suggestions
2018-10-16 09:38:53 +02:00
gregoirenovel
43f9fc93de
AddressController#get_address_point → #geocode
2018-10-16 09:38:53 +02:00
gregoirenovel
79ebdc3443
Ban::SearchController → AddressController
2018-10-16 09:38:53 +02:00
gregoirenovel
22088b167d
Remove ApiAdresse::Geocodeur
2018-10-16 09:33:16 +02:00
gregoirenovel
7af41b35a2
ApiAdresse::AddressAdapter#list → #get_suggestions
2018-10-16 09:33:16 +02:00
gregoirenovel
517c0ad3fc
ApiAdresse::AddressRetriever → ApiAdresse::AddressAdapter
2018-10-16 09:33:16 +02:00
gregoirenovel
5e9e913dce
Carto::Geocodeur → ApiAdresse::Geocodeur
2018-10-15 20:55:46 +02:00
gregoirenovel
dac2019675
Carto::Bano → ApiAdresse
2018-10-15 20:55:46 +02:00
gregoirenovel
22beb41240
Unify #generate_qp with #generate_cadastre
2018-10-15 16:45:30 +02:00
gregoirenovel
2ed4c1da1c
Use round brackets
2018-10-15 16:45:30 +02:00
simon lehericey
3d51b7f4a3
so crazy right now
2018-10-15 14:55:07 +02:00
simon lehericey
21e3dc1498
Let the stats be great again
2018-10-15 14:55:07 +02:00
simon lehericey
17b100b4e9
ControllerStat: renaming
2018-10-15 14:55:07 +02:00
Paul Chavard
c6a28d1444
Cleanup carto save
2018-10-14 12:34:44 +02:00
Paul Chavard
dff4f2116a
Move geographical zones list to a partial
2018-10-14 12:34:43 +02:00
Paul Chavard
b5a3fc76fb
Remove legacy carto routes
2018-10-14 12:34:43 +02:00
Paul Chavard
59c1b24f3c
Change demarche modifee message
...
fix #2821
2018-10-13 11:06:31 +02:00
simon lehericey
888bbee097
[ fix #2818 ] DossierController: ensure save_draft is authorized
2018-10-12 12:14:49 +02:00
gregoirenovel
c8f872c566
InviteUser → Invite
2018-10-10 12:07:10 +02:00
gregoirenovel
46d02d3e2b
Remove a return
2018-10-10 10:38:57 +02:00
gregoirenovel
89dec3d363
Add a variable to ease code reading
2018-10-10 10:38:57 +02:00
gregoirenovel
4e2964aec3
Unify code in Users::Dossiers::InvitesController#show
2018-10-10 10:38:57 +02:00
gregoirenovel
662349c8bb
Remove InviteDossierFacades
2018-10-10 09:36:05 +02:00
Frederic Merizen
fc157c3e4c
[ #2750 ] Move sorted_ids to ProcedurePresentation
2018-10-10 09:07:57 +02:00
Frederic Merizen
2e9dafb4c3
[ #2750 ] Move filtered_ids to ProcedurePresentation
2018-10-10 09:07:57 +02:00
Frederic Merizen
0e9b40ccf6
[ #2750 ] Move fields from Procedure to ProcedurePresentation
2018-10-10 09:07:57 +02:00
Frederic Merizen
efcac5192a
[ #2750 ] Move fields_for_select to ProcedurePresentation
2018-10-10 09:07:57 +02:00
gregoirenovel
f3caa8ef7f
Remove apipie (and maruku)
2018-10-09 17:23:07 +02:00
gregoirenovel
98d348aab1
Remove the delete demarche feature for admins
2018-10-09 16:42:32 +02:00
Paul Chavard
bcbfc370b2
Add button in manager to transition démarche in brouillon state
...
fix #2565
2018-10-09 16:14:18 +02:00
Paul Chavard
cc96723475
Allow users to fill dossiers on démarches en brouillon
2018-10-09 15:05:08 +02:00
Frederic Merizen
eafd0e8348
Evite de cacher la whitelist trop longtemps
2018-10-04 18:09:39 +02:00
gregoirenovel
12f0c99b5a
Remove FC fields from instructeur table customisation
2018-10-04 13:54:07 +02:00
gregoirenovel
5f8e8caeb5
Stop auto copying the FC infos to the dossier identity
2018-10-04 13:54:07 +02:00
Paul Chavard
44511acfed
Do not reload page when instructeur change dossier state
...
fix #2425
2018-10-04 11:12:43 +02:00
Pierre de La Morinerie
627df7a1f3
session: migrate the password pages to the new design
2018-10-03 15:10:02 +02:00
Pierre de La Morinerie
bfd106ba30
session: migrate the "token confirmation" page to the new design
2018-10-03 15:09:30 +02:00
gregoirenovel
c91a1cf474
Enable Style/SymbolArray
2018-10-03 12:15:48 +02:00
gregoirenovel
d9d4f6fe20
Enable Style/SymbolProc
2018-10-03 12:15:48 +02:00
gregoirenovel
a171186dd8
Enable Style/TrailingCommaInHashLiteral
2018-10-03 12:03:21 +02:00
gregoirenovel
d1439f8a52
Enable Style/YodaCondition
2018-10-03 12:00:17 +02:00
Paul Chavard
941c529b2c
Remove CGU checkbox
...
fix #2725
2018-10-03 08:59:02 +02:00
Mathieu Magnin
a029aa62b1
[ Fix #2674 ] Add Services to manager
2018-10-02 16:17:17 +02:00
Pierre de La Morinerie
36c1aa118d
dossier: remove RecapitulatifController
...
And add a redirection to the new URLs.
2018-10-02 15:42:29 +02:00
Pierre de La Morinerie
bf9f427299
dossier: remove DescriptionController
2018-10-02 14:40:47 +02:00
Pierre de La Morinerie
3392df0029
dossier: remove CommentairesController
2018-10-02 14:40:38 +02:00
Pierre de La Morinerie
758ccff984
dossier: remove feature flag
2018-10-02 12:25:44 +02:00
gregoirenovel
cf69c28979
Fix scope for logo/notice/deliberation deletion
2018-10-02 11:03:48 +02:00
gregoirenovel
b994fa4206
Do one thing per line
2018-10-01 16:15:46 +02:00
Pierre de La Morinerie
5f1ce48d2e
invites: update link to dossier
2018-09-27 17:22:59 +02:00
Pierre de La Morinerie
08dfe7d13a
support: update link to messagerie
2018-09-27 17:22:59 +02:00
Paul Chavard
3c66fceba5
Replace password strength js with ujs
2018-09-27 16:00:14 +02:00
simon lehericey
16566b46c0
DossierController: private some methods
2018-09-27 10:24:56 +02:00
simon lehericey
912371fbd6
DossierController: use new token validation
2018-09-27 10:24:56 +02:00
simon lehericey
8dd4a1ca4e
ProcedureController: remove useless logger call
2018-09-27 10:24:56 +02:00
simon lehericey
3c95273d6f
ProcedureController: use new token validation
2018-09-27 10:24:56 +02:00
simon lehericey
0b2a98cdce
ApiController: private some methods
2018-09-27 10:24:56 +02:00
simon lehericey
f7c23bb435
ApiController: remove ensure_token_is_present
...
An admin without token answer false to admin.api_token_valid?(api_token) with api_token=*
2018-09-27 10:24:56 +02:00
simon lehericey
4a04f2e59f
ApiController: check token validity for a given admin
2018-09-27 10:24:56 +02:00
simon lehericey
d576d426f4
ApiController: remove old authenticate logic
...
The old logic cannot work anymore as we cannot `find_by api_token`
2018-09-27 10:24:56 +02:00
simon lehericey
8c4f8347ca
Api Token: store token in an encrypted form
2018-09-27 10:14:32 +02:00
simon lehericey
1997f45d7e
Api Token: do not generate one token by default
2018-09-27 10:14:32 +02:00
simon lehericey
17285b0368
Profil: display token only once
2018-09-27 10:14:32 +02:00
simon lehericey
bd04972f65
Profile: move to new design
2018-09-27 10:14:32 +02:00
Paul Chavard
f94a24d7ce
Add path field to procedure information form
2018-09-26 10:53:45 +02:00
Mathieu Magnin
2507f963b1
[ Fix #1285 ] Create an endpoint to check password strength
2018-09-26 09:03:04 +02:00
Frederic Merizen
b521095010
[ #2258 ] Notify administrator of problems saving the types de champs
2018-09-25 20:31:42 +02:00
Frederic Merizen
7d382837d9
[ Fix #2622 ] Change filters to proper JSONB
2018-09-24 19:39:01 +02:00
Frederic Merizen
1419e9b73f
[ #2622 ] Change sort to proper JSONB
2018-09-24 19:39:01 +02:00
Frederic Merizen
68608307ad
[ #2622 ] Change displayed_fields to proper JSONB
2018-09-24 19:39:01 +02:00
gregoirenovel
5b011fef59
[ Fix #2652 ] Add the /tour-de-france page
2018-09-24 18:07:29 +02:00
Pierre de La Morinerie
682e29a211
dossier: refactor the pages permissions
...
Fixes the invites not being able to create a commentaire.
2018-09-24 17:05:27 +02:00
Pierre de La Morinerie
a5419b2f08
dossier: fix redirection to dossiers/invite
2018-09-24 17:05:27 +02:00
gregoirenovel
7b3a7d2336
[ Fix #187 ] Allow an admin to delete their demarche logo
2018-09-24 13:29:35 +02:00
gregoirenovel
94378e3663
[ Fix #2332 ] Allow the notice deletion
2018-09-24 12:25:10 +02:00
gregoirenovel
535f9004bf
Admins can delete the attestation template's logo
2018-09-24 10:15:22 +02:00
gregoirenovel
d649e29bb0
[ Fix #1979 ] Admins can delete the attestation template's signature
2018-09-24 10:15:02 +02:00
gregoirenovel
0c9628c180
Fix some files according the the .editorconfig rules
2018-09-20 16:23:09 +02:00
Paul Chavard
905a715e16
Fix dossier link
2018-09-20 16:05:40 +02:00
gregoirenovel
b317b49b3d
Confirmation → activation
2018-09-20 10:43:07 +02:00
Pierre de La Morinerie
e5f4056fe2
invite: fix prefilling the invited user email
2018-09-19 12:41:09 +02:00
Pierre de La Morinerie
bc55afba51
invite: clarify logic of sign-up redirection
2018-09-19 12:41:09 +02:00
Pierre de La Morinerie
082ef92a99
invite: move invites link to the after_confirmation
callback
...
Refactored from 6a69d958da
The `after_confirmation_path_for` isn't really made to be a callbback.
For instance, it is not executed during tests.
Moving the invitations linking to a proper documented callback allows
the linking to work in a testing environment, when invoking `user.confirm`.
2018-09-19 12:08:28 +02:00
Pierre de La Morinerie
38f6d11c57
dossier: finish feature-switch for enabled new dossier details
2018-09-18 16:48:27 +02:00
Frederic Merizen
63fc0b3bc3
[ Fix #2584 ] Move Field related code to a service
2018-09-18 13:49:34 +02:00
Paul Chavard
18922122b4
Fix SQL ambiguous name error
2018-09-18 13:21:29 +02:00
Paul Chavard
e2f13a8b73
Use helpers rather then view_context
2018-09-18 12:06:27 +02:00
gregoirenovel
f696560a14
Affichage du service dans la liste des démarches
2018-09-18 10:44:49 +02:00
gregoirenovel
cac202342a
Remove a new useless helper
2018-09-13 16:27:46 +02:00
gregoirenovel
aba0c1dcd6
Add links to the most popular demarches
2018-09-13 16:27:46 +02:00
gregoirenovel
9fe9f9b616
Add a new demarches page, showing the demarches already done
2018-09-13 16:27:46 +02:00
Frederic Merizen
a94397a70c
[ Fix #2562 ] Make dossier filters case insensitive
2018-09-13 10:29:22 +02:00
Paul Chavard
55a9b31b93
Cleanup SIRET champ
2018-09-12 15:53:02 +02:00
Paul Chavard
3f6cc668a7
Implement check_availability route
2018-09-12 12:37:15 +02:00
gregoirenovel
f8a6765367
[ Fix #2540 ] Allow an instructeur to send a dossier to several instructeurs
2018-09-11 18:00:24 +02:00
Paul Chavard
5a794cbb08
Use Procedure#publish_or_reopen!
2018-09-11 10:38:31 +02:00
Paul Chavard
e6485603c4
Add ProcedurePath#valid?
2018-09-11 10:38:31 +02:00
Paul Chavard
de908ef4be
Extract ProcedurePath#find_by_path
2018-09-11 10:38:31 +02:00
gregoirenovel
50019e5317
Show user satisfaction in percentages
2018-09-11 10:17:40 +02:00
gregoirenovel
26e0ada3d4
Improve the ratings stats
...
Make sure that for each data point, we have do not
have any partial data (e.g. a week that hasn’t
finished yet)
2018-09-11 10:17:40 +02:00
gregoirenovel
05d2988f61
Format FeedbackController like the other controllers
2018-09-11 10:10:43 +02:00
gregoirenovel
d504af3216
FeedbacksController should inherit from UserController
2018-09-11 10:10:43 +02:00
Paul Chavard
f3333595a0
Drop text_summary endpoint
2018-09-07 19:41:34 +01:00
Paul Chavard
c49db4b5a4
Add a champs/dossier_link endpoint and use it to fetch dossier info
2018-09-07 19:41:33 +01:00
Paul Chavard
e2a2748e79
Expose authenticated_logged_user! method
2018-09-07 17:11:19 +01:00
Paul Chavard
7e94f7778a
Disable csrf forgery protection in test environement
2018-09-07 17:11:19 +01:00
Pierre de La Morinerie
21dc9f8109
messagerie: improve success message
2018-09-07 12:02:26 +02:00
gregoirenovel
23405efd3a
Mutualize some code in #update_dossier_and_compute_errors
2018-09-07 10:19:10 +02:00
gregoirenovel
6fe1f912c8
Refactor DossiersController#update
...
Nested ifs are heavier but easier to understand
as related conditions are visually grouped
2018-09-07 10:19:10 +02:00
gregoirenovel
230bf22b77
Redactor DossierController#update_brouillon
2018-09-07 10:19:10 +02:00
gregoirenovel
f5debfef46
DossierController#draft? → #save_draft?
2018-09-07 10:19:10 +02:00
gregoirenovel
87e59e2bfb
Streamline DossierController#update_brouillon and #update
2018-09-07 10:19:10 +02:00
gregoirenovel
1341074325
Add DossierController#update
2018-09-07 10:19:10 +02:00
gregoirenovel
cd46ee06e1
Add DossierController#modifier
2018-09-07 10:19:10 +02:00
gregoirenovel
338ffb8b50
DossierController#update → #update_brouillon
2018-09-07 10:19:10 +02:00
gregoirenovel
5ac8117c69
DossierController#modifier → #brouillon
2018-09-07 10:19:10 +02:00
gregoirenovel
00ecae5f93
Procédure → Démarche
2018-09-05 15:46:24 +02:00
Pierre de La Morinerie
af5df2d661
dossier: add "Messagerie" tab
2018-09-05 14:02:12 +02:00
Pierre de La Morinerie
5cfb200417
dossier: cache the dossier value
2018-09-05 13:56:12 +02:00
gregoirenovel
6b88968889
Formulaire → demande, when not editable
2018-09-05 11:07:11 +02:00
Pierre de La Morinerie
750e1e0c83
gestionnaire: move commentaire creation into a service
2018-09-04 18:52:43 +02:00
gregoirenovel
d05209d28f
Make the stats code more robust to empty databases
2018-09-03 17:35:14 +02:00
Paul Chavard
0c582197da
Do not send messages to brouillon dossier
2018-08-30 15:12:50 +01:00
Paul Chavard
ea5248dde1
Flatten tags list, cast to array and remove blank elements
2018-08-30 15:12:50 +01:00
Paul Chavard
b60805a54c
Use mailto in error message
2018-08-30 15:12:50 +01:00