Commit graph

921 commits

Author SHA1 Message Date
Nicolas Bouilleaud
930fd345de Validate messagerie_available? when creating a new Commentaire
Commentaires bu Users and Gestionnaire need the messagerie to be available; Automatic system Commentaires can be created anytime.

This reintroduces Commentaire validation that was introduced in #3979 and disabled in #4018
2019-07-08 16:13:43 +02:00
Nicolas Bouilleaud
3f439ac07a Add Commentaire.is_sent_by_system? and .is_sent_by(someone)
And use it in CommentaireHelper and in the _message_icon and _message_issuer partials
2019-07-08 16:06:44 +02:00
Nicolas Bouilleaud
2abd93d360 Display the full User email in Commentaires
* Only redact gestionnaires’ emails
* Also, rename Commentaire.sender to Commentaire.redacted_email
2019-07-08 16:06:44 +02:00
Paul Chavard
e582ff729c Add aasm to dossiers state 2019-07-03 13:37:27 +02:00
Mathieu Magnin
10d3ba10f2 Before save copy body in rich_body 2019-07-03 13:15:49 +02:00
simon lehericey
b2c987ff0d [fix #3683] Dossier: add repasser_en_instruction! 2019-07-02 18:40:20 +02:00
simon lehericey
92bd382c64 [fix #4008] secured login for all gestionnaires 2019-07-01 15:06:39 +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
c5704fa22f Remove unused code from Commentaire 2019-06-25 17:04:29 +02:00
Nicolas Bouilleaud
c606644902 Tweak codestyle in specs, following review 2019-06-17 16:16:28 +02:00
Nicolas Bouilleaud
f355f849a6 Add BillSignature Model 2019-06-17 16:16:28 +02:00
simon lehericey
ee296f2b44 Use default format for date and datetime champ 2019-06-12 17:48:12 +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
Paul Chavard
cc4eba2b36 Less mokey patching 2019-05-21 14:21:42 +02:00
Paul Chavard
42235e81b1 Use active storage load hook to extend blob 2019-05-16 20:43:01 +02:00
Paul Chavard
dba8d65137 Track dossier operations with author and subject 2019-05-14 14:31:03 +02:00
clemkeirua
d0794f42d1 fix tag_substitution_concern links for lien attestation 2019-05-07 08:54:29 +02:00
clemkeirua
c98655be52 ellipsis on file input overflow 2019-05-07 08:54:29 +02:00
clemkeirua
0e26bda186 cleanup the tag substitution concern & uniformization 2019-05-07 08:54:29 +02:00
clemkeirua
e4259466b4 nettoyage du tag_substitution_concern 2019-05-07 08:54:29 +02:00
clemkeirua
f8a2598647 ajout du lien vers le justificatif dans la balise --lien attestation-- 2019-05-07 08:54:29 +02:00
clemkeirua
747dc505cc ajout d'un test 2019-05-07 08:54:29 +02:00
Nicolas Bouilleaud
df865e71dc Make sure that there always is at least one administrator per Procedure 2019-05-06 16:19:08 +02:00
Paul Chavard
f113d108c9 Save virus scan status to blob metadata 2019-05-02 15:58:09 +02:00
Pierre de La Morinerie
d855468cb6 dossiers: display the estimate of the entire processing time
Displaying separate estimations for en_construction and en_instruction
doesn't really make sense for the users: they want to know how
long it is going to take overall, not the petty details of our workflow.
2019-04-30 15:56:27 +02:00
Nicolas Bouilleaud
1c2e93ed41 Fix “nearing_end_of_retention” test
The `nearing_end_of_retention` test creates a `just_expired_dossier` “six months ago”, which is 29 Oct 2018. The autumn DST change was on October 28; this is the first time this test runs under these conditions. We workaround the time offset by creating the dossier one hour earlier.

This is technically a workaround, not a fix: the date arithmetics in `nearing_end_of_retention` are probably wrong. It looks like it’s comparing intervals, which seems error-prone, while it should be comparing dates. For now, I’m just making the tests pass.
2019-04-29 15:41:52 +02:00
Paul Chavard
8d093bd9ba Fix missing dossier_id on champs inside repetition 2019-04-18 16:55:35 +02:00
simon lehericey
e65e21a72f Email notification: use the right method for procedures 2019-04-18 15:07:01 +02:00
Nicolas Bouilleaud
c5122ee7f5 Allow filtering ProcedurePresentation by followers_gestionnaires
fixes #3464
2019-04-10 14:32:51 +02:00
Pierre de La Morinerie
e34c556f29 procedure: fix specs
When the time computations are done accross a Daylight Saving Time
change, they may be off by one hour.

It doesn't matter, as the estimated delay is counted in days, not
hours.
2019-04-08 15:24:44 +02:00
Paul Chavard
639facaf2a Add new types_de_champ#move api 2019-04-03 14:38:07 +02:00
Mathieu Magnin
71e0969bc0 [Fix #3692] Ensure SIRET is correct on server 2019-03-28 18:03:53 +01:00
Mathieu Magnin
27c8e9dcb8 Use the same clone_attachment method for all attributes on procedure.clone 2019-03-28 17:17:29 +01:00
Mathieu Magnin
4e27872a25 [Fix #3650] when cloning a procedure, do not forget pj_templates 2019-03-26 15:31:09 +01:00
Pierre de La Morinerie
b1a7018d30 procedure: ignore bad data when computing usual_instruction_time
Fix #3655
2019-03-20 17:48:54 +01:00
Mathieu Magnin
6570bed09c [Fix #3641] Do not change PJ value in API if PJ is safe 2019-03-20 11:37:31 +01:00
Paul Chavard
69a51e3296 Save SIRET data on search 2019-03-19 16:22:42 +01:00
Pierre de La Morinerie
ed1f6ec38d procedure: fix verification delay
The verification delay was ignoring all dossiers not closed yet.
2019-03-19 15:51:51 +01:00
simon lehericey
6607de4827 Notification: add service to send notifications 2019-03-18 16:37:51 +01:00
Paul Chavard
bb8ba75d22 Explicitly pass current_administrateur on publish 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
Mathieu Magnin
44f28ec565 Remove feature flag for publish draft 2019-03-12 11:26:07 +01:00
Frederic Merizen
efa71284fc [#3477] Test eager_load_displayed_fields 2019-03-11 17:14:17 +01:00
Frederic Merizen
70bf6aecf6 [#3477] Filter by mutliple values 2019-03-11 17:14:17 +01:00
Frederic Merizen
5d01e37d70 [#3477] Make filters stand out a little more in spec 2019-03-11 17:14:17 +01:00
Frederic Merizen
b428406fc7 [Fix #3578] No tags for champs that cannot have user input anyway 2019-03-11 10:26:27 +01:00
Frederic Merizen
1d0156f9c6 [#3572] Add tests 2019-03-08 18:32:35 +01:00
clemkeirua
71bff0812c ajout d'un test pour caractériser le cas service = null 2019-02-21 12:34:53 +01:00
clemkeirua
236f73f838 ajout d'une balise pour le nom du service 2019-02-21 12:18:44 +01:00
Paul Chavard
84383fc3c1 Assigne admins to procedure.administrateurs 2019-02-20 17:10:57 +01:00
Paul Chavard
a7ba01a02a Fix champ spec
fix #3257
2019-02-20 16:26:12 +01:00
Mathieu Magnin
f7650135f4 [Fix #3375] on the API display safe files only 2019-02-19 18:10:35 +01:00
simon lehericey
0b8619be77 Gestionnaire: login_token! -> create_trusted_device_token 2019-02-18 17:21:46 +01:00
simon lehericey
d664f130fd trustedDeviceToken: move token youth 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
9d92e43d8d [fix #3315] Migrate service organisme 2019-02-18 16:50:44 +01:00
simon lehericey
a7e068003a [fix #3427] Administration can soft delete a dossier 2019-02-14 18:09:08 +01:00
Frederic Merizen
eb7cd28504 Fix undefined method for nil:NilClass 2019-02-13 19:22:38 +01:00
Frederic Merizen
41ab7246cf [#3424] Improve formatting of addresses with missing components 2019-02-13 09:57:33 +01:00
Paul Chavard
6b39128be3 Clone nested types_de_champ 2019-02-06 10:05:27 +01:00
simon lehericey
5715cdaa4c [fix #3363] use organisation_name in dossier summary 2019-02-05 17:41:51 +01:00
Frederic Merizen
a255e61556 [#3356] Improve formatting for menus that only have a primary value 2019-02-05 17:35:30 +01:00
Frederic Merizen
a3d7c8de55 [Fix #3356] Add tags for primary menu only / secondary menu only 2019-02-05 17:35:30 +01:00
Paul Chavard
071448e1d9 Champ Repetition dossier editor 2019-02-04 16:19:07 +01:00
Frederic Merizen
5e37400834 [#2180] Only retain old PJ API when cloning for same admin 2019-01-17 17:40:40 +01:00
Frederic Merizen
530079e464 [#2180] Make sure that old_pj is kept through successive clones 2019-01-17 17:40:40 +01:00
Frederic Merizen
8cb509d192 [#2180] Keep information that this type de champ was cloned from a PJ 2019-01-17 17:40:40 +01:00
Frederic Merizen
651fd6149b [#2180] When cloning a procedure, convert types de PJ to types de champ PJ 2019-01-17 17:40:40 +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
simon lehericey
29fff9ee68 [fix #3269] bufferize login token email 2019-01-10 12:06:35 +01:00
simon lehericey
a197285742 [fix #2612] Admin: add missing steps to admin UI 2019-01-09 16:25:00 +01:00
simon lehericey
8ca7eb1c54 Procedure: cloning set the current admin gestionnaire of the procedure 2019-01-09 16:25:00 +01:00
simon lehericey
f0139c5962 Spec Factory: an administrateur always has a gestionnaire 2019-01-09 13:49:47 +01:00
Paul Chavard
1beefe4469 Fix champ repetition belongs_to associations 2019-01-08 11:56:33 +00:00
gregoirenovel
c00aac2f80 We can now replace processing in #formatted_value by #to_s calls 2019-01-08 12:32:26 +01:00
gregoirenovel
9e42190148 Remove the proxy value_for_export method
Overload for_export instead
2019-01-08 12:32:26 +01:00
gregoirenovel
9a2341c56c Remove the useless #for_display proxy method 2019-01-08 12:32:26 +01:00
simon lehericey
7b935a6486 login_token: lets constantize 2019-01-07 08:18:29 +01:00
simon lehericey
5daa565a80 login_token: add missing tests 2019-01-07 08:18:29 +01:00
gregoirenovel
5fa5f2aa37 Bump development gems
- rubocop (0.61.1 → 0.62.0)
2019-01-05 11:47:55 +01:00
Pierre de La Morinerie
d77530c461 Make Procedure state consistent after switching types de champ order
Fixes an issue where, after clicking the "move champ up" button,
the new form is rendered with an incoherent order.
2019-01-03 15:13:14 +01:00
gregoirenovel
b41764ec03 Remove ChampDecorator 2019-01-03 12:08:25 +01:00
gregoirenovel
186e362701 Enable the Layout/SpaceInsideArrayLiteralBrackets 2019-01-03 10:53:50 +01:00
gregoirenovel
386fbce776 Enable the Layout/SpaceBeforeBlockBraces cop 2019-01-03 10:53:50 +01:00
gregoirenovel
8b0b8162f0 Enable the Layout/SpaceAfterComma cop 2019-01-03 10:53:50 +01:00
Mathieu Magnin
b40c706d98 [Fix #3192] Clone service if procedure is transferred 2018-12-20 15:45:48 +01:00
Paul Chavard
eb9edc1cee Order types de champ in scope 2018-12-20 14:14:15 +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
Frederic Merizen
57a136c861 Make champ PJ generally available 2018-12-18 11:11:23 +01:00
pedong
f70f276ae9 [fix #2813] set lien_notice nil when clone a procedure 2018-12-06 21:28:08 +01:00
Paul Chavard
35494df78e Procedure export dossiers with champs siret 2018-12-05 17:09:39 +01:00
Pierre de La Morinerie
e206f3d4d4 gestionnaire: display draft procedures in the list
Fix #3088
2018-12-05 15:38:20 +01:00
Pierre de La Morinerie
421f125c45 gestionnaire_spec: factorize a assign helper 2018-12-05 15:38:20 +01:00
Paul Chavard
e873b6a9c4 Expose selection utilisateur size on champ carte 2018-12-03 12:49:03 +01:00
Paul Chavard
d77a5c9f15 More tests and fixes on carte champ 2018-11-30 13:28:30 +01:00
Paul Chavard
ca147969ab Fix number champs validation 2018-11-29 15:12:31 +01:00
Paul Chavard
1883c57c87 Add stable ids to types_de_champ after every update 2018-11-29 11:41:13 +01:00
Paul Chavard
36f6f54337 Remove unused carto models 2018-11-27 16:11:25 +01:00
Paul Chavard
0b017580c5 Expose migrated legacy carto champs on api 2018-11-20 10:53:14 +01:00
Pierre de La Morinerie
b6521625e4 procedure_spec: add missing Timecop.return statement
Fix order-dependant test.
2018-11-14 14:49:41 +01:00
Pierre de La Morinerie
83031b5cdd procedure: compute the usual instruction time only for the last month 2018-11-13 17:23:31 +01:00
Pierre de La Morinerie
b693e055b7 procedure: make usual_instruction_time spec more robust 2018-11-13 17:23:31 +01:00
Pierre de La Morinerie
b1296df4c3 procedure: refactor usual_instruction_time spec 2018-11-13 17:23:31 +01:00
simon lehericey
2613d05a4f An admin has always a gestionnaire role 2018-11-13 10:41:45 +01:00
Pierre de La Morinerie
e59bec51ef procedure: use 90th percentile to estimate the completion delay 2018-11-08 18:29:17 +01:00
Pierre de La Morinerie
5c921182ea procedure: rename mean_instruction_time to usual_instruction_time
Ref #2970
2018-11-08 17:20:06 +01:00
Paul Chavard
33c6ddc452 Remove dead code related to dossier state 2018-11-08 14:56:45 +01:00
Pierre de La Morinerie
d4b2b04875 spec: clear deliveries before every example 2018-11-06 17:26:20 +01:00
simon lehericey
9d406770a8 [fix #2956] YesNo: fixing to_s 2018-11-06 16:59:47 +01:00
Paul Chavard
074050a91a Add IntegerNumberChamp 2018-11-06 11:28:44 +01:00
Paul Chavard
45bfb2fd47 Add DecimalNumberChamp 2018-11-06 11:28:44 +01:00
Paul Chavard
78dc582588 Remove ProcedurePath 2018-10-30 12:01:45 +01:00
Frederic Merizen
aff93ecd6a Simplify test syntax 2018-10-26 17:53:36 +02:00
Frederic Merizen
f6207bee26 Do not take time of day into account when searching dates 2018-10-26 17:53:26 +02:00
simon lehericey
a06f872a4b ProcedurePresentation: rescue big int as a datetime value 2018-10-26 14:39:17 +02:00
simon lehericey
63db387984 ProcedurePresentation: display dossier date in d/m/Y 2018-10-26 10:10:20 +00:00
simon lehericey
3685c65fb7 [fix #2905] fix DATE_TRUNC usage
DATE_TRUNC is played on the db where the timestamp are stored in utc.
So if a user search for 12/12/2012 in Paris timezone and that we truncate it should do something similar to :

SELECT DATE_TRUNC('day', foo.timezone) from (SELECT timestamp '2012-12-12 00:00:00' AT TIME ZONE 'Europe/Paris') as foo;
=> 2012-12-11

To avoid such pb, I suggest avoiding DATE_TRUNC when exact results are needed
2018-10-26 10:10:20 +00:00
simon lehericey
3078b377c7 Time.new => Time.zone.local 2018-10-26 10:10:20 +00:00
simon lehericey
e684cec516 DateTime.new => Time.zone.local 2018-10-26 10:10:20 +00:00
simon lehericey
f620e4aee2 DateTime.parse => Time.zone.parse 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
Frederic Merizen
64cb231b01 [#2675] Fix notification sort order 2018-10-24 17:10:30 +02:00
Frederic Merizen
14fd60bee7 [Fix #2604] Handle ProcedurePresentations that have gone invalid 2018-10-23 16:41:51 +02:00
Frederic Merizen
7baa239095 [#2604] Introduce errors when retrieving ProcedurePresentation 2018-10-23 16:34:38 +02:00
Frederic Merizen
85f698bc71 [#2604] Clean up GestionnaireSpec 2018-10-23 16:34:31 +02:00
Frederic Merizen
eab8da43fc [#2604] Introduce explicit context in GestionnaireSpec 2018-10-23 16:34:28 +02:00
Frederic Merizen
91cfa69220 [#2604] Clean up AssignTo spec 2018-10-23 16:34:25 +02:00
Frederic Merizen
86f01a9120 [#2604] Factor AssignTo spec 2018-10-23 16:34:22 +02:00
Paul Chavard
c8c75fc254 Better handle empty user selection layers 2018-10-23 09:35:25 +02:00
Paul Chavard
93ef0a02b7 Remove unused lien_demarche from procedure 2018-10-23 09:25:29 +02:00
Frederic Merizen
0dea9f9ece [#2741] Additional test to filtered_ids to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
c652cf3ae5 [#2741] Expand unit tests for sorted_ids just to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
37fb358bd5 [#2741] Expand unit tests for #get_value just to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
a2bd0582b9 [Fix #2741] Filter / sort by en_construction_at 2018-10-17 12:16:51 +02:00
gregoirenovel
baf69acbcb [Fix #2833] Move /support files to /fixtures 2018-10-16 10:47:41 +02:00
gregoirenovel
2a57c093c0 Remove a duplicated cassette 2018-10-15 20:55:46 +02:00
gregoirenovel
1f0af303f3 Remove the unused ModuleApiCarto#classes method 2018-10-15 16:16:16 +02:00
Frederic Merizen
3dca3c7dee [Fix #1961] Check that sorted_ids works for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
abd066c6f4 [#1961] filtered_ids for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
34da620b0f [#1961] get_value for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
5d862ae92b [#1961] Add individual fields 2018-10-11 12:13:03 +02:00
Frederic Merizen
577475f26e [Fix #2580] Filter by created_at / updated_at 2018-10-10 18:18:28 +02:00
gregoirenovel
c8f872c566 InviteUser → Invite 2018-10-10 12:07:10 +02:00
Frederic Merizen
40a5ff0266 [#2750] do parsing of displayed_fields inside ProcedurePresentation
rather than in the view
2018-10-10 09:07:57 +02:00
Frederic Merizen
9fa7a6fd0e [#2750] Move get_value to ProcedurePresentation 2018-10-10 09:07:57 +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
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
gregoirenovel
12f0c99b5a Remove FC fields from instructeur table customisation 2018-10-04 13:54:07 +02:00
gregoirenovel
5107b33af8 Remove FC fields from search 2018-10-04 13:54:07 +02:00
Frederic Merizen
b36d153620 Fix missing sort columns 2018-10-03 17:09:49 +02:00
gregoirenovel
7e4268db67 Enable Style/TrailingCommaInArguments 2018-10-03 12:03:21 +02:00
gregoirenovel
6eeba14885 Enable Style/WordArray 2018-10-03 12:03:21 +02:00
Frederic Merizen
8bb08a1b8b [#2579] Validate columns on ProcedurePresentation model 2018-10-03 10:17:46 +02:00
Pierre de La Morinerie
0526551e71 templates: update link to dossier 2018-09-27 17:22:59 +02:00
simon lehericey
6725c5e34c Procedure: add test on mean_instruction_time 2018-09-27 15:02:38 +02:00
simon lehericey
88f7e888c3 Administrateur: do not save api_token in clear text anymore 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
Mathieu Magnin
499021588d [Fix #1285] Password strength is ensured when saving an administrateur 2018-09-26 09:03:03 +02:00
Frederic Merizen
998754ab73 [Fix #2258] Validate options for linked dropdown menus 2018-09-25 20:32:19 +02:00
Frederic Merizen
3fea14c07d [#2258] Let dynamic type validate the type de champ 2018-09-25 20:31:34 +02:00
Frederic Merizen
9beaa293cd [#1421] Use delegation rather than STI for TypeDeChamp 2018-09-25 08:26:56 +02:00
Frederic Merizen
112fdb71fb [#2613] Remove dead code 2018-09-24 20:19:26 +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
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
gregoirenovel
0c9628c180 Fix some files according the the .editorconfig rules 2018-09-20 16:23:09 +02:00
gregoirenovel
a87e79ac1f Update a test to comply with Rubocop rules 2018-09-20 16:23: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
gregoirenovel
4e4b7c617f [Fix #2618] Do not enforce Luhn for La Poste SIRET numbers 2018-09-19 10:29:43 +02:00
gregoirenovel
471f6799c8 Refactor Siret tests 2018-09-19 10:15:42 +02:00
gregoirenovel
00ecae5f93 Procédure → Démarche 2018-09-05 15:46:24 +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
gregoirenovel
ee25bba38c Use enum to the fullest with Service.type_organismes 2018-08-29 17:31:08 +02:00
gregoirenovel
2d3b553e4d Use enum to the fullest with TypeDeChamp.type_champs 2018-08-29 17:31:08 +02:00
Frederic Merizen
7643459a55 [#2179] Reuse search spec for search service 2018-08-23 11:57:06 +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
Pierre de La Morinerie
242f9d0af7 specs: fix order-dependant tests in spec/models/gestionnaire_spec.rb
Test run that would fail randomly before:

```
bin/rspec --seed 10002 spec/models/dossier_spec.rb spec/models/gestionnaire_spec.rb
```
2018-08-14 11:48:54 +02:00
simon lehericey
b33f11115c [fix #2358] Checkbox: serialize in attestation by oui or no 2018-08-10 16:25:34 +02:00
Pierre de La Morinerie
5e01be0f15 mailer: add direct link to dossier in creation email
Fix #2341
2018-08-08 15:24:17 +02:00
Paul Chavard
46e75ac8ef Only notify on dossier supression if dossier is en_construction 2018-08-02 17:07:24 +02:00
Pierre de La Morinerie
dee4acd802 dossier_facade: remplace followers by an equivalent implementation 2018-08-01 17:41:11 +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
Pierre de La Morinerie
6daa31d410 spec: add tests for Dossier#delete_and_keep_track 2018-07-25 13:49:55 +02:00
Pierre de La Morinerie
b0a9e49549 procedures: group new_from_existing list by organization
As procedures are not grouped by Service (which are unique to an
administrator) but by organization, this allows procedures with the same
organization name to be displayed together.
2018-07-03 23:43:42 +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
Frederic Merizen
b326cb9c3e [#1421] Handle mandatory fields 2018-06-28 20:06:32 +02:00
Frederic Merizen
e794515c8e [#1421] Format linked dropdown menus in spreadsheet export 2018-06-28 20:06:32 +02:00
Frederic Merizen
04892f6c55 [#1421] Format value for display 2018-06-28 20:06:32 +02:00
Paul Chavard
d0a6957862 Remove old cerfa code 2018-06-28 15:16:20 +02:00
Pierre de La Morinerie
0cebf60c46 [#1421] replace master/slave by primary/secondary 2018-06-27 17:02:46 +02:00
Frederic Merizen
7b1e8c2110 [#1421] Extract values for both drop down lists 2018-06-27 17:02:46 +02:00
Frederic Merizen
2214fc6b86 [#1421] Extract contents of both drop down lists 2018-06-27 17:02:46 +02:00
Frederic Merizen
0239f936d7 [#1421] Move departements to DepartementChamp 2018-06-19 15:20:01 +02:00
Mathieu Magnin
cd4615b10d When a new PJ is uploaded enqueue a anti virus scan job 2018-06-12 15:12:39 +02:00
gregoirenovel
41e8350cbe [Fix #1735] Sign the admin account creation email 2018-06-01 20:48:50 +02:00
Frederic Merizen
346687bd33 [#1946] Once durees de conservation have been set, forbid unsetting them 2018-06-01 16:46:39 +02:00
Frederic Merizen
42765efb91 [#1946] Add validation to durees conservation 2018-06-01 16:46:39 +02:00
Frederic Merizen
c39a58749f Remove duplicate translations
There is a default translation for `blank` already
2018-06-01 15:21:25 +02:00
gregoirenovel
b364b8bfb3 Improve many subjects 2018-06-01 11:35:40 +02:00
simon lehericey
c72421fb9e Procedure: Once deliberation or cadre_juridique have been set, forbid unsetting them 2018-06-01 11:12:53 +02:00
simon lehericey
1f0e46a4ff Procedure: required juridique stuff only if needed 2018-06-01 11:12:53 +02:00
gregoirenovel
185f08f63e Add constants for email addresses 2018-06-01 00:00:11 +02:00
simon lehericey
fa14db1cbf Procedure: add deliberation 2018-05-31 16:56:28 +02:00
gregoirenovel
0329b1db68 Use User#owns_or_invite? instead of Dossier#owner_or_invite? 2018-05-31 14:39:43 +02:00
gregoirenovel
4e9565a5df Adds User#owns? 2018-05-31 14:39:43 +02:00
gregoirenovel
a57e2388f6 Unify NotificationMailer methods’ signatures 2018-05-31 12:10:06 +02:00
Paul Chavard
87d7bd4fb2 Fix clone procedure 2018-05-28 14:58:40 +02:00
Frederic Merizen
07b1c147d9 [Fix #1972] Always send mails asynchronously 2018-05-28 12:02:13 +02:00
Paul Chavard
753a81c2d3 Update tag substitution concern 2018-05-24 17:54:51 +02:00
Paul Chavard
ad24fd5991 Remove entreprise and rna_information models 2018-05-24 17:54:51 +02:00
Paul Chavard
7fb7d77886 Use aasm_state in scopes 2018-05-24 17:49:24 +02:00
Paul Chavard
7070b0aba0 Fix tests to rely on aasm states 2018-05-23 16:31:27 +02:00
simon lehericey
928227a610 Procedure: remove now duplicate organisation and direction 2018-05-18 16:21:27 +02:00
simon lehericey
39bb56d1d9 Service: add organisme, email, tel, horaires, adresse 2018-05-18 16:21:27 +02:00
simon lehericey
30513bcb4f Procedure Clone: ensure the service is kept 2018-05-18 16:21:26 +02:00
simon lehericey
fc17b68dc1 Service: create model 2018-05-18 16:21:26 +02:00
Frederic Merizen
5ef129d960 [#1563] Remove attestation mail attachment 2018-05-09 10:42:40 +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
Paul Chavard
0b7cf3ae75 #full_data_strings_array -> #export_values 2018-05-03 23:35:51 +02:00
gregoirenovel
12cda1739b #export_entreprise_data -> #export_etablissement_data 2018-05-03 23:35:51 +02:00
simon lehericey
c90ddb92a6 Procedure: add #new_dossier
Create a new instance of a dossier and its champs without saving them in the db
2018-04-24 16:49:42 +02:00
simon lehericey
9d0b568ef5 Procedure: add parent_procedure 2018-04-24 15:48:20 +02:00
simon lehericey
f46bf5a67e Procedure: procedure cloned from library are tagged 2018-04-24 14:22:22 +02:00
Paul Chavard
3f3358db16 Add flipflop config 2018-04-18 16:51:21 +02:00
Frederic Merizen
ee67e7b154 Always create a corresponding User account for Admin accounts 2018-04-12 16:40:24 +02:00
simon lehericey
0ab526de5a [fix #932] Let an adminstrateur upload a pj template 2018-04-09 18:19:24 +02:00
Paul Chavard
27592ae072 Add simple web hooks to procedures 2018-04-09 11:02:24 +02:00
Frederic Merizen
6ed7ae4b53 [Fix #1809] Handle non-champ tags in attestation 2018-04-06 19:22:42 +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
809638df79 [#1563] Determine if Attestation and Closed mail are out of sync 2018-04-06 10:18:56 +02:00
Paul Chavard
3cd80af6cb Add sign and verify to etablissement 2018-04-04 18:44:08 +02:00
simon lehericey
3c8d1f13b6 Individual: remove birthdate proxy 2018-04-04 15:27:30 +02:00
simon lehericey
c019cb623a Individual: use birthdate as a ... date :) 2018-04-04 13:19:39 +02:00
Frederic Merizen
3e56b6fe9b [#1563] Include attestation link in default closed mail when it makes sense 2018-04-04 10:44:40 +02:00
Frederic Merizen
84c864ed11 [#1563] Add lien attestation link to closed mail template 2018-04-04 09:34:04 +02:00
simon lehericey
8828663880 Individual: save the birthdate in Y 2018-04-03 16:23:15 +02:00
Paul Chavard
9cc6d494a4 Spec STI loading champ/type de champ 2018-03-29 17:45:19 +02:00
Frederic Merizen
884c430619 [#1677] No need to use emails when we have users 2018-03-29 16:59:16 +02:00
Paul Chavard
322f93afbe Add administrateur#feature_enabled? method 2018-03-28 17:19:07 +02:00
simon lehericey
66a113c7db Dossier: remove uncessary query on order_champ_v2 2018-03-27 16:48:38 +02: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
Frederic Merizen
13d251d970 describe '#method' rather than describe '.method' for instance methods 2018-03-20 16:00:30 +01:00
Mathieu Magnin
621f8143bd [Fix #1654] Generate procedure export filename with libelle 2018-03-19 11:16:05 +01:00
Frederic Merizen
610058c534 [Fix #1619] Do not consider invitations to deleted dossiers 2018-03-15 11:32:21 +01:00
Mathieu Magnin
69f8353b2f [Fix #1479] Sanitize Avis email before validation 2018-03-14 17:41:47 +01:00
Mathieu Magnin
e00e8ba01d [Fix #1479] Validate email format with Rails format validation 2018-03-14 17:41:45 +01:00
Mathieu Magnin
b7de632d6c [Fix #1479] Create a sanitize email concern 2018-03-14 17:41:45 +01:00
gregoirenovel
0a9f442260 Enable some Rails cops 2018-03-06 17:18:44 +01:00
gregoirenovel
e26f4148ff Bump development gems
- brakeman
- rubocop
- scss_lint
2018-03-06 16:17:22 +01:00
gregoirenovel
fe7f8da636 Revert "Bump development gems"
This reverts commit d6ad3fc3fd.
2018-03-06 15:11:26 +01:00
gregoirenovel
d6ad3fc3fd Bump development gems
- brakeman
- rubocop
- scss_lint
2018-03-06 10:36:35 +01:00
gregoirenovel
0af270faa0 tps.apientreprise.fr -> demarches-simplifiees.fr 2018-03-01 10:33:53 +01:00
gregoirenovel
1b8b6a3274 TPS -> demarches-simplifiees.fr 2018-02-28 18:14:06 +01:00
Mathieu Magnin
2b6edc0fa4 Remove unused procedure_filter 2018-02-26 17:25:28 +01:00
Mathieu Magnin
3db941ea06 [Fix #1475] Ensure date is parsable before doing it (to avoid errors) 2018-02-26 13:20:23 +01:00
gregoirenovel
3d10dbf0e4 Refactor assignement-related methods 2018-02-23 17:12:58 +01:00
gregoirenovel
8902a81f23 Remove a useless assignment 2018-02-23 17:12:24 +01:00
Paul Chavard
db42c0c0cf Fix public and private champs scopes 2018-02-14 18:13:23 +01:00
Paul Chavard
0c1d529b61 Unify :type_de_champ public/private factories 2018-02-14 11:49:06 +01:00
Paul Chavard
31d638ae2a Remove TypeDeChampPublic/TypeDeChampPrivate STI 2018-02-14 11:49:06 +01:00
Paul Chavard
b3e07d8504 Use in? in type_champ tests 2018-02-13 17:59:27 +01:00
Paul Chavard
0c10f2bd47 Always use factories in spec 2018-02-13 15:05:10 +01:00
Paul Chavard
52749713ab Remove ChampPublic/ChampPrivate STI 2018-02-13 12:07:13 +01:00
gregoirenovel
142241dd16 Remove notifications 2018-02-06 14:07:20 +01:00
gregoirenovel
2da724d681 Remove an unused Gestionnaire method and its tests
The tests would fail with rails 5.1
2018-01-30 16:56:49 +01:00
gregoirenovel
b2fe1b856c Use #sum instead of #inject when possible 2018-01-30 15:45:32 +01:00
Mathieu Magnin
50abb36c81 [Fix #1309] Format datetime before save 2018-01-30 13:49:16 +01:00
Mathieu Magnin
dcb38d79a3 [Fix #1309] Datetime value should be print with yyyy-mm-dd format 2018-01-30 13:49:16 +01:00
Paul Chavard
fdd6cedeb8 Remove data_provide and data_date_format attributes 2018-01-30 13:49:16 +01:00
gregoirenovel
a2f4e8b283 factory_girl is now factory_bot 2018-01-23 17:15:42 +01:00
Mathieu Magnin
469aca999b Revert "Remove data_provide and data_date_format attributes"
This reverts commit 273b3f2faf.
2018-01-19 13:20:53 +01:00
Frederic Merizen
9b4ce1517c Use lambda instead of send for etablissement tag 2018-01-18 18:35:07 +01:00
Frederic Merizen
8f41ab89cf [#1203] Do not include champs privés in accusé de réception 2018-01-18 18:26:14 +01:00
Frederic Merizen
eebab14954 [Fix #1203] No début d’instruction tag in accusé de réception mails
Doesn’t make sense functionnally
2018-01-18 18:26:14 +01:00
Frederic Merizen
9f7ffddb31 [#1203] Allow filtering tags based on an arbitray status 2018-01-18 18:26:14 +01:00
Frederic Merizen
1282fc2113 [#1203] Use factory girl to instanciate model in spec 2018-01-18 18:26:14 +01:00
Paul Chavard
273b3f2faf Remove data_provide and data_date_format attributes 2018-01-18 15:13:48 +01:00
gregoirenovel
b138dcd876 Enable the Layout/SpaceInsideHashLiteralBraces cop 2018-01-18 10:53:35 +01:00
gregoirenovel
897a30da0c Enable the Layout/SpaceInsideBlockBraces cop 2018-01-18 10:53:34 +01:00
Paul Chavard
0cf40f4f18 Add invitation related methods to administrateur model 2018-01-16 10:49:07 +01:00
gregoirenovel
9d75526460 Enable the Layout/MultilineAssignmentLayout cop 2018-01-15 22:33:13 +01:00
gregoirenovel
14c1747645 Enable the Layout/MultilineArrayBraceLayout cop 2018-01-15 22:33:13 +01:00
gregoirenovel
1e71188d4d Enable the Layout/IndentationConsistency cop 2018-01-15 22:33:13 +01:00
gregoirenovel
08ed400ec2 Enable the Layout/FirstArrayElementLineBreak cop 2018-01-15 22:14:38 +01:00
simon lehericey
7024e14d1c FC information: remove funny find_by 2018-01-15 17:14:12 +01:00
simon lehericey
06d9c4356e FC ParticulierClientSpec: simplier spec 2018-01-15 16:59:50 +01:00
simon lehericey
4c2da46dd8 FC ParticulierClient: simplier initialize 2018-01-15 16:59:48 +01:00