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
4bbd16576b
Add champ communes
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
clemkeirua
4f604c8b0a
put the strike banner behind a feature-flip
2020-01-06 15:25:43 +01:00
Pierre de La Morinerie
a5f2c84cbf
sign_up: fix suggestions error when navigating away
...
When navigating away from the page, the field receives the 'focusout'
event – but stops to be present in the DOM.
Thus we need to check that the DOM element is actually present.
2019-12-19 17:45:14 +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
Pierre de La Morinerie
c7a307553c
helpers: allow dossier_display_state
to take a state as input
...
This allow to use either:
- `dossier_display_state(dossier)`
- `dossier_display_state(:en_construction)`
2019-12-19 13:22:40 +01:00
simon lehericey
2ee559c748
Fix typo in purges_stale_exports_job filename
2019-12-18 13:35:04 +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
ce7ab89934
Add purge stale export job
2019-12-18 13:13:15 +01:00
simon lehericey
d0939ae1a4
Add Export Model
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
c02e8b9553
Routing: send emails to the right group
2019-12-16 17:47:08 +01:00
clemkeirua
c2c3f05262
p'tit fix d'utilisabilité
2019-12-16 09:49:23 +01:00
simon lehericey
278659dcb3
fix footer without tel
2019-12-12 15:57:47 +01:00
maatinito
9672d892e9
Bug with time zone: Time.zone.today looses time_zone and may breaks database comparisons
2019-12-11 17:34:10 +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
simon lehericey
301653bb89
Only display email form if the user is not instructeur
2019-12-11 17:18:21 +01:00
Paul Chavard
6b5793f0b9
[GraphQL] fix a crash in mutations with an attachment
2019-12-11 13:22:32 +01:00
Paul Chavard
422b7f37ec
[GraphQL] expose file information
2019-12-11 12:34:49 +01:00
Pierre de La Morinerie
ef76af5546
app: add a site-wide banner for the national strike
2019-12-04 17:32:04 +01:00
Paul Chavard
2f060fc30a
Add depubliee state to procedures
2019-12-04 16:52:41 +01:00
Paul Chavard
3a142fea40
Isolate react components from react loaders
2019-12-04 16:26:59 +01:00
Paul Chavard
03326169c5
Always load IntersectionObserver to fix old browsers
...
fix #4614
2019-12-04 16:26:59 +01:00
Pierre de La Morinerie
7f2d5f6248
app: unify pre-maintenance banner with other site-wide banners
2019-12-04 15:29:15 +01:00
Pierre de La Morinerie
704ac64f63
stylesheet: move all browser banner styles into site-banner.scss
2019-12-04 15:25:37 +01:00
Paul Chavard
e5f582d644
Afficher la description du champ répétable
...
fix #4579
2019-12-04 14:28:31 +01:00
Paul Chavard
b5eafdab56
[GraphQL]: informations du service
2019-12-04 14:21:40 +01:00
Paul Chavard
fd42fafcb4
[GraphQL]: informations du demandeur du dossier
2019-12-04 12:39:29 +01:00
Paul Chavard
34afc44813
Expose declarative démarche state in GraphQL
2019-12-04 12:30:26 +01:00
Paul Chavard
e429c79eb1
Allow administrators to set themselves démarches as déclaratives
2019-12-04 12:30:26 +01:00
Christophe Robillard
e35dcad5ae
rend le téléphone obligatoire côté client
2019-12-04 05:34:43 +01:00
Christophe Robillard
77b647fe25
N'affiche pas un telephone inexistant d'un service
2019-12-04 05:34:43 +01:00
Christophe Robillard
6eb36482bc
rend lisible l'explication d'un contact valide
2019-12-04 05:34:43 +01:00
Christophe Robillard
8ee6657f1e
rend le champ telephone optionnel côté client
2019-12-04 05:34:43 +01:00
Christophe Robillard
4e7c779116
refuse les numéros de tel invalides
...
rend facultatif les numéros de téléphone
2019-12-04 05:34:43 +01:00
Christophe Robillard
b60aff8468
explique en détail l'importance de renseigner des info de contact valides
2019-12-04 05:34:43 +01:00
Christophe Robillard
0b518844dc
explique pourquoi un tel valide est important
2019-12-04 05:34:43 +01:00
simon lehericey
508ba8f116
Add seek_and_destroy_expired_dossier
2019-12-03 17:18:53 +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
6391f7ff9c
Work on notify_near_deletion mailer
2019-12-03 17:18:53 +01:00