Commit graph

1839 commits

Author SHA1 Message Date
Nicolas Bouilleaud
d417907f36 Just rely on the constraints to avoid duplicate Follows
Don’t check manually in advance: just try to create the new Follow and silently fail.

Since we have both Rails validation and DB constraints in place, we have two types of errors to check. I’m not actually sure this change improves the legibility of the code.
2019-06-12 17:33:53 +02:00
Nicolas Bouilleaud
ba48a1da6e Ensure Follow dates can not be not null
* Add Follow.unfollowed_at
* Change the unicity constraint to gestionnaire/dossier AND unfollowed_at
2019-06-12 17:33:53 +02:00
Paul Chavard
d5911071f8 Return dossiers on api with stable order 2019-06-04 15:34:49 +02:00
Pierre de La Morinerie
d410e31344 active_storage: document the virus scan hooks 2019-05-28 11:39:22 +02:00
Paul Chavard
4a9ef5d12e Always use purge_later 2019-05-21 14:05:33 +02:00
Paul Chavard
42235e81b1 Use active storage load hook to extend blob 2019-05-16 20:43:01 +02:00
Paul Chavard
9ce1f0d0a6 Set keep_until on operation_log if available on procedure 2019-05-14 14:31:03 +02:00
Paul Chavard
b8bf662c6d Track dossier demander un avis 2019-05-14 14:31:03 +02:00
Paul Chavard
9c472e6524 Track dossier private annotations modifications 2019-05-14 14:31:03 +02:00
Paul Chavard
dba8d65137 Track dossier operations with author and subject 2019-05-14 14:31:03 +02:00
clemkeirua
afa6711564 refacto suite à simplification virusscan 2019-05-07 08:54:29 +02:00
clemkeirua
d0794f42d1 fix tag_substitution_concern links for lien attestation 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
b3956bc072 introduce virus scans 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
4aab72be68 implementation du systeme de PJ de motivation 2019-05-07 08:54:29 +02:00
Nicolas Bouilleaud
0590cc1e28 Ignore the Procedure.administrateur_id column again
following #3822
2019-05-06 16:19:08 +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
maatinito
2308b3bc5c [Fix 3827] Champ Pays: la ligne de tirets ne devrait pas être selectionnable 2019-05-06 14:55:29 +02:00
Paul Chavard
91f2d7d706 Remove deprecated virus_scan model 2019-05-03 11:07:19 +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
Pierre de La Morinerie
8bd1064532 tasks: populate Procedure.administrateurs even for hidden procedures
The previous procedure migration (created in
f7af01e0dc) worked fine, but didn't run
on hidden procedures (due to the default scope).
2019-04-29 16:35:34 +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
Pierre de La Morinerie
1f955db2c7 gestionnaire: ignore when the gestionnaire already follows the dossier
Fix #3720
2019-04-18 11:41:24 +02:00
Paul Chavard
9beff5ee9a Always create menu deroulant champs with a value 2019-04-11 14:38:21 +02:00
Nicolas Bouilleaud
c5122ee7f5 Allow filtering ProcedurePresentation by followers_gestionnaires
fixes #3464
2019-04-10 14:32:51 +02:00
Nicolas Bouilleaud
988df15c6b Refactor ProcedurePresentation::sanitize_columns to use model reflection
The passed “table” is actually an association, and may not match the table name. Use model reflection instead of manually pluralizing.
2019-04-10 14:32:51 +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
clemkeirua
0d71120f98 [fix #306] Possibilité de joindre un document à un avis 2019-03-28 15:45:14 +01:00
Pierre de La Morinerie
abeb58caa5 dossiers: displays an "Start an other dossier" item in action dropdown 2019-03-28 15:26:15 +01:00
pedong
c0a928ac7a [fix #3440] use attachment.download for get attachment file 2019-03-26 17:11:59 +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
Pierre de La Morinerie
ce9c5da6e1 dossier: add a messagerie_available? method 2019-03-20 10:42:57 +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
simon lehericey
1644fd9059 Notification: add gestionnaire.procedures_with_email_notifications scope 2019-03-18 16:19:36 +01:00
Paul Chavard
4a9ff29391 Fix administration page 2019-03-12 15:34:30 +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
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
d08b478cfd Now that we don't have the type column anymore, we don't need to neuter it 2019-03-11 19:00:47 +01:00
Frederic Merizen
02f35e655d [#3477] Minor simplification 2019-03-11 17:14:17 +01:00
Frederic Merizen
b4790e5009 [#3477] Slightly more compact 2019-03-11 17:14:17 +01:00
Frederic Merizen
e8747f7c38 [#3477] Extract helper method 2019-03-11 17:14:17 +01:00
Frederic Merizen
656f0df377 [#3477] Remove clunky extra method 2019-03-11 17:14:17 +01:00
Frederic Merizen
f64ade355f [#3477] Fix a copy-paste mistake 2019-03-11 17:14:17 +01:00
Frederic Merizen
7d09624bbe [#3477] We only use the table anyway 2019-03-11 17:14:17 +01:00
Frederic Merizen
c9ad2995f1 [#3477] Remove extraneous variable 2019-03-11 17:14:17 +01:00
Frederic Merizen
4646e10864 [#3477] The where clause doesn't do what it's supposed to do 2019-03-11 17:14:17 +01:00
Frederic Merizen
cf3f2409dd [#3477] Clarify what the previous code of eager_load_displayed_fields does 2019-03-11 17:14:17 +01:00
Frederic Merizen
f0d83b1de8 [#3477] ignore invalid dates for now 2019-03-11 17:14:17 +01:00
Frederic Merizen
0ba3515d41 [#3477] Filter by 'column ilike values' as a scope 2019-03-11 17:14:17 +01:00
Frederic Merizen
a87e3ac697 [#3477] Make filtering by datetimes a proper scope 2019-03-11 17:14:17 +01:00
Frederic Merizen
9096f923b1 [#3477] Cleaner way to return no dossiers 2019-03-11 17:14:17 +01:00
Frederic Merizen
d24fb5d186 [#3477] Let where_ilike take care of necessary sanitizing 2019-03-11 17:14:17 +01:00
Frederic Merizen
e098779c5e [#3477] Accept symbol arguments to sanitized_column 2019-03-11 17:14:17 +01:00
Frederic Merizen
f34e65c207 [#3477] Make sanitized_column a class method 2019-03-11 17:14:17 +01:00
Frederic Merizen
7241e43a7c [#3477] Allow calling sanitized_column with individual fields
rather than a hash
2019-03-11 17:14:17 +01:00
Frederic Merizen
00ca2e0cbb [#3477] Make sanitized_column dryer 2019-03-11 17:14:17 +01:00
Frederic Merizen
1f34d971d1 [#3477] where_equals is trivial, inline it 2019-03-11 17:14:17 +01:00
Frederic Merizen
91e6671cfb [#3477] Do not use string interpolation for where_equals 2019-03-11 17:14:17 +01:00
Frederic Merizen
3c96c2e83d [#3477] Do not use string interpolation for where_datetime_matches 2019-03-11 17:14:17 +01:00
Frederic Merizen
664956d8c6 [#3477] Move compact nearer to the nil-generating place 2019-03-11 17:14:17 +01:00
Frederic Merizen
55d4dcc174 [#3477] Introduce column variable 2019-03-11 17:14:17 +01:00
Frederic Merizen
35d5322a9b [#3477] Clarify variable name 2019-03-11 17:14:17 +01:00
Frederic Merizen
cf2b40f6a0 [#3477] Extract all variables from sort hash 2019-03-11 17:14:17 +01:00
Frederic Merizen
21128d94b6 [#3477] Inline only use of variable 2019-03-11 17:14:17 +01:00
Frederic Merizen
43243e73d4 [#3477] Merge two ordering cases 2019-03-11 17:14:17 +01:00
Frederic Merizen
71f766c434 [#3477] Prefer pluck over map 2019-03-11 17:14:17 +01:00
Frederic Merizen
c53370e14c [#3477] Reuse existing filtering facility 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
70bf6aecf6 [#3477] Filter by mutliple values 2019-03-11 17:14:17 +01:00
Frederic Merizen
1431de5cc2 [#3477] Handle multiply-valued filters 2019-03-11 17:14:17 +01:00
Frederic Merizen
54cb65b8a7 [#3477] Extract helper 2019-03-11 17:14:17 +01:00
Frederic Merizen
02a72507b9 Remove compatibility code for legacy values in database column
They were fixed by a data migration long ago
2019-03-11 11:41:28 +01:00
Frederic Merizen
c75983710c Force stable order on champ fields 2019-03-11 11:32: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
610d2e7e2b [Fix #3572] Use champ with correct type for balise 2019-03-08 18:32:35 +01:00
Mathieu Magnin
fed1f3e921 Use query filter instead of array.reject 2019-02-26 12:05:49 +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
Mathieu Magnin
f7650135f4 [Fix #3375] on the API display safe files only 2019-02-19 18:10:35 +01:00
simon lehericey
2f66625f18 Manager: improve dossier view 2019-02-19 14:30:14 +01:00
Mathieu Magnin
cf610bbd91
Merge branch 'dev' into enforce-rubocop-timezone 2019-02-18 17:41:41 +01:00
simon lehericey
0b8619be77 Gestionnaire: login_token! -> create_trusted_device_token 2019-02-18 17:21:46 +01:00
simon lehericey
47e3b57e81 TrustedDeviceToken: valid for one week 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
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
b9b83cca3a use multiple trusted_device_token 2019-02-18 17:20:42 +01:00
simon lehericey
bee9a108c5 split login and trusted_device logic 2019-02-18 17:20:00 +01:00
simon lehericey
9d92e43d8d [fix #3315] Migrate service organisme 2019-02-18 16:50:44 +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
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
5da5f75c5f [Types de Champ Editeur] Save on change and only edited model 2019-02-07 17:05:55 +01:00
Paul Chavard
a0a1ce11c8 Add repetition to apercu 2019-02-07 12:29:27 +01:00
Pierre de La Morinerie
a6704c4cd6 dossiers: allow users to delete "en construction" dossiers 2019-02-07 11:07:07 +01:00
Pierre de La Morinerie
d251ebc2f4 dossiers: shorten method name 2019-02-06 18:20:35 +01:00
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
Frederic Merizen
d3498e10bd [#3356] Let dynamic type handle tag generation 2019-02-05 17:35:30 +01:00
Frederic Merizen
4a3d402a32 [#3356] No need for special treatment 2019-02-05 17:35:30 +01:00
Frederic Merizen
a8b9da9d3b [#3356] Remove redundant method 2019-02-05 17:35:30 +01:00
Frederic Merizen
5bc8bbbaa2 [#3356] Let tags handle their own substitution 2019-02-05 17:35:30 +01:00
Frederic Merizen
656061b21a [#3356] Clarify naming 2019-02-05 17:35:30 +01:00
Frederic Merizen
140a65cb36 [#3356] Simplify detection of handling champ 2019-02-05 17:35:30 +01:00
Frederic Merizen
bcfc0f2535 [#3356] Let types de champ decide their tags 2019-02-05 17:35:30 +01:00
Frederic Merizen
d67af741d5 [#3356] Prepare for multiples tags per type de champ 2019-02-05 17:35:30 +01:00
Paul Chavard
071448e1d9 Champ Repetition dossier editor 2019-02-04 16:19:07 +01:00
Paul Chavard
a4a421a91a Champ Repetition dossier display 2019-02-04 15:46:39 +01:00
Paul Chavard
9b7b59f67e Champs editor should handle repetition type 2019-02-04 11:58:26 +01:00
simon lehericey
41ae1f46f4 Trusted_device: cleaner time comparison 2019-02-01 10:54:20 +01:00
Paul Chavard
7678d8eb0b Revert for_api value on yes_no champs 2019-01-29 15:23:09 +01:00
Pierre de La Morinerie
db8289a19d procedure: ensure a procedure can't be deleted while it has dossiers 2019-01-23 17:19:36 +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
d1c0418c89 [#2180] Refactor - extract local variable 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
Mathieu Magnin
2ce6d01aec Procedure has a default generated path when created 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
simon lehericey
99bfd19b41 [fix #3268] Jobs: use automatic_operation 2019-01-16 17:20:12 +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
Mathieu Magnin
31c45fe2e5 Fix Sentry 161 2019-01-10 15:21:40 +01:00
simon lehericey
eb6ef1eb46 Gestionnaire: increase validity token to 45 minutes 2019-01-10 12:06:35 +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
55419b92a8 Simplify code 2019-01-08 12:32:27 +01:00
gregoirenovel
864bb38d8a Add #for_api methods to CheckboxChamp and YesNoChamp
Otherwise, we return nil instead of “off” / “non”,
so we don’t expose the data properly
2019-01-08 12:32:27 +01:00
gregoirenovel
0846bad1c8 Mutualize code in methods
As done in YesNoChamp
2019-01-08 12:32:27 +01:00
gregoirenovel
866c74ce63 Add Champ#for_api 2019-01-08 12:32:27 +01:00
gregoirenovel
c00aac2f80 We can now replace processing in #formatted_value by #to_s calls 2019-01-08 12:32:26 +01:00
gregoirenovel
f27717ab23 Make the CheckboxChamp export similar to YesNoChamp
Previously, nil values would be returned as nil
and not as off
2019-01-08 12:32:26 +01:00
gregoirenovel
4a6930b60a Remove from EngagementChamp a method it’s inheriting 2019-01-08 12:32:26 +01:00
gregoirenovel
66d1b7ba10 Use ternary conditions 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
7cd50531cf Remove the proxy string_value method
Overload to_s 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
gregoirenovel
2e6c91e9b0 Move #selected_options to the only relevant model 2019-01-08 12:32:26 +01:00
gregoirenovel
c4b9a0b79e Rename DropDownList#selected_options_without_decorator 2019-01-08 12:32:26 +01:00
simon lehericey
7b935a6486 login_token: lets constantize 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
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
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
gregoirenovel
03eb47016c Fix a gestionnaire sign in bug 2018-12-26 18:14:04 +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
Frederic Merizen
2a758d0759 [Fix #3196] Convert YAML to JSON 2018-12-19 23:17:55 +01:00
Frederic Merizen
36d6a43084 [#3196] Make TypeDeChamp#options compatible with raw JSON
instead of YAML inside a JSON string.
We still need to support the YAML form until the data has been migrated
2018-12-19 18:43:56 +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
gregoirenovel
4b0e632abb Enable the Style/ColonMethodCall cop 2018-12-19 13:56:10 +01:00
gregoirenovel
fba8d97256 Enable the Stlye/BlockDelimiters cop 2018-12-19 13:56:10 +01:00
Frederic Merizen
d1cfe4468d Encourager la création de champs PJ plutôt que de vieilles PJS 2018-12-19 11:57:23 +01:00
gregoirenovel
129df93fb1 Add a blank line to ease readability 2018-12-18 22:49:27 +01:00
gregoirenovel
3ce3d203d4 Simplify some code 2018-12-18 22:49:27 +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
Paul Chavard
a08f170dbd Assign users and gestionnaires to commentaires
fix #2052
2018-12-05 13:40:57 +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
097a15d624 Test and fix all possible cases of champ carte serialization 2018-11-30 12:02:27 +01:00
Paul Chavard
35d2bc36fc cleanup selection_utilisateur geo_json 2018-11-29 17:10:14 +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
c18796d02a Fix geojson exposed on legacy carto API 2018-11-29 08:43:51 +01:00
Paul Chavard
9b39934e8b Destroy dossier_operation_logs when dossier is destroyed 2018-11-28 17:06:54 +01:00
Mathieu Magnin
b51bf759b1 [Fix #3081] If a dossier is destroyed, then destroy the attestation 2018-11-28 16:33:12 +01:00
Paul Chavard
36f6f54337 Remove unused carto models 2018-11-27 16:11:25 +01:00
Paul Chavard
0f0ca2ec65 Lod dossier operations 2018-11-27 12:49:40 +01:00
Paul Chavard
85e3eb04f4 Add DossierOperationLog model 2018-11-27 12:49:40 +01:00
Paul Chavard
a079eaea5c Add procedure gestionnaire_for_cron_job method 2018-11-27 12:49:40 +01:00
Paul Chavard
9843666bdc Implement state change methods on dossier 2018-11-27 12:49:40 +01:00
gregoirenovel
251bd635c2 Prepare for champ_id deletion 2018-11-22 12:27:48 +01:00
Pierre de La Morinerie
e5303fd986 mailers: streamline the NotificationMailer
Notifications are now only for demarche-templated emails.
2018-11-20 14:46:31 +01:00
Paul Chavard
0b017580c5 Expose migrated legacy carto champs on api 2018-11-20 10:53:14 +01:00
Paul Chavard
d92364b90b Add user_geo_area do champ carte 2018-11-20 10:53:14 +01:00
Paul Chavard
971a08c92a Add expose legacy carto api flag 2018-11-20 10:53:14 +01:00
Paul Chavard
18815e88a3 Rename champ.zones to champ.geo_json 2018-11-20 10:53:14 +01:00
Paul Chavard
2462e42b53 Stop using legacy api carto after migration 2018-11-20 10:53:14 +01:00
Pierre de La Morinerie
83031b5cdd procedure: compute the usual instruction time only for the last month 2018-11-13 17:23:31 +01:00
simon lehericey
36621bffeb FlipFlop: enable for gestionnaire 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
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
Paul Chavard
6706b9004f Fix includes on api queries 2018-11-08 14:45:09 +01:00
Paul Chavard
80189def98 Remove n+1 calls from API queries 2018-11-08 14:45:09 +01:00
simon lehericey
9d406770a8 [fix #2956] YesNo: fixing to_s 2018-11-06 16:59:47 +01:00
Frederic Merizen
c7358a8f53 [Fix #835] Enable asking for multiple avis at the same time 2018-11-06 15:44:43 +01:00
gregoirenovel
9833564863 [#835] Add a missing validation to avis 2018-11-06 15:44:43 +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
e391fe6bec Clarify procedure path availability code 2018-10-30 15:59:37 +01:00
Paul Chavard
b42095363e Refactor procedure model 2018-10-30 12:01:45 +01:00
Paul Chavard
78dc582588 Remove ProcedurePath 2018-10-30 12:01:45 +01: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
3dad743d56 remove localtime as it uses server timezone 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
4b25d16f5a Time.zone.parse(_, options) => Time.zone.strptime(_, options) 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
02f4ef215a [#2675] Make dossiers_id_with_notifications public 2018-10-24 17:10:30 +02:00
Frederic Merizen
dfdcfc62e2 [#2675] Make dossiers_id_with_notifications self-contained 2018-10-24 17:10:30 +02:00
Paul Chavard
5a8a4b393f Add RPG carte source 2018-10-23 18:13:44 +02:00
Paul Chavard
ed46e2c3be Use Typhoeus in ApiGeo adapter 2018-10-23 18:13:44 +02:00
Frederic Merizen
51954a6d85 [#2604] Warn that we are destroying an invalid ProcedurePresentation 2018-10-23 16:41:51 +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
84cac7a5c2 [#2604] Remove unneeded self in AssignTo 2018-10-23 16:34:35 +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
a541f1fcee Add type options on carte champ 2018-10-23 09:35:25 +02:00
Paul Chavard
df73e442e9 Explicit foreign_key on CarteChamp 2018-10-22 23:28:00 +02:00
Frederic Merizen
a2bd0582b9 [Fix #2741] Filter / sort by en_construction_at 2018-10-17 12:16:51 +02:00
Paul Chavard
93ba94a9e6 Add carte champ and geo area models 2018-10-16 14:01:12 +03:00
gregoirenovel
22088b167d Remove ApiAdresse::Geocodeur 2018-10-16 09:33:16 +02:00
gregoirenovel
76cf9ab746 ApiGeo::Driver → ApiGeo::API 2018-10-15 23:31:23 +02:00
gregoirenovel
5e9e913dce Carto::Geocodeur → ApiAdresse::Geocodeur 2018-10-15 20:55:46 +02:00
gregoirenovel
4903a6b189 Carto::GeoAPI → ApiGeo 2018-10-15 20:55:46 +02:00
gregoirenovel
1f0af303f3 Remove the unused ModuleApiCarto#classes method 2018-10-15 16:16:16 +02:00
Paul Chavard
c63675461a Add new carto init code 2018-10-14 12:34:43 +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
07b8838561 Remove dead code
Should have been removed as part of #2720 but was accidentally reintroduced
in #2770
2018-10-11 12:00:49 +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
gregoirenovel
ed11852300 Delete the InviteGestionnaire model 2018-10-10 12:07:10 +02:00
Frederic Merizen
fac6922b98 [#2750] Set might be overkill here 2018-10-10 09:07:57 +02:00
Frederic Merizen
667deae5cc [#2750] Sanity check procedure 2018-10-10 09:07:57 +02:00
Frederic Merizen
30ef6e6d95 [#2750] No need to validate table and column
Because they are pre-validated by rails on the model
2018-10-10 09:07:57 +02:00
Frederic Merizen
58c0ec1bbd [#2750] Validate order on model update rather than on usage 2018-10-10 09:07:57 +02:00
Frederic Merizen
026c322fce [#2750] Make ProcedurePresentation checks private 2018-10-10 09:07:57 +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
f59984ea70 [#2750] Remove redundant references to procedure 2018-10-10 09:07:57 +02:00
Frederic Merizen
462c818025 [#2750] Move fields from DossierFieldService to ProcedurePresentation 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
Frederic Merizen
c1f18a164d Remove dead, buggy code 2018-10-10 05:51:17 +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
simon lehericey
87e731bc75 Dossier: move state translation to model dossier 2018-10-08 17:55:20 +02:00
Frederic Merizen
33f29f35ab Avoid recreating service too often 2018-10-04 18:09:39 +02:00
Frederic Merizen
eafd0e8348 Evite de cacher la whitelist trop longtemps 2018-10-04 18:09:39 +02:00
gregoirenovel
36ce94195b Remove france_connect delegation on User 2018-10-04 13:54:07 +02:00
gregoirenovel
14c8e02aca [Fixes #2597] Remove given_name and family_name delegation 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
c91a1cf474 Enable Style/SymbolArray 2018-10-03 12:15:48 +02:00
gregoirenovel
a171186dd8 Enable Style/TrailingCommaInHashLiteral 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
Frederic Merizen
3bb6fd2d47 [#2579] Remove no-op
(sanitize_sql_for_order does not do anything when its argument is a string)
2018-10-03 10:17:46 +02:00
Paul Chavard
941c529b2c Remove CGU checkbox
fix #2725
2018-10-03 08:59:02 +02:00
gregoirenovel
b994fa4206 Do one thing per line 2018-10-01 16:15:46 +02:00
Pierre de La Morinerie
0526551e71 templates: update link to dossier 2018-09-27 17:22:59 +02:00
simon lehericey
4d4dba1550 Procedure: small renaming on mean_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
4a04f2e59f ApiController: check token validity for a given admin 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
Paul Chavard
f94a24d7ce Add path field to procedure information form 2018-09-26 10:53:45 +02:00
Paul Chavard
f6a6d8f457 Fix destroy dossiers on procedure reset 2018-09-26 10:53:45 +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
695426316c [#2258] Make linked menus more robust in the face of bad configuration 2018-09-25 20:31:06 +02:00
Frederic Merizen
9beaa293cd [#1421] Use delegation rather than STI for TypeDeChamp 2018-09-25 08:26:56 +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
e4eb55a37f Revert "[Fix #2623] Ensure numbers are integers"
This reverts commit 68789ff43b.
2018-09-21 15:15:11 +02:00
gregoirenovel
68789ff43b [Fix #2623] Ensure numbers are integers 2018-09-21 08:12:52 +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
8ea021fb69 Factorize code in a method 2018-09-19 12:31:59 +02:00
gregoirenovel
6b98c36dad Add Dossier#mean_traitement_time for the upcoming page de garde 2018-09-19 12:31:59 +02:00
gregoirenovel
f3a257d81d Show the mean verification time in the Résumé tab 2018-09-19 12:31:59 +02:00
gregoirenovel
d55c9dff4d Show the mean instruction time in the Résumé tab 2018-09-19 12:31:59 +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
Paul Chavard
36812793d4 Do not clone procedure path 2018-09-18 14:40:02 +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
b042efdcba Update procedure path attribute when procedure_path changes 2018-09-18 13:21:29 +02:00
Paul Chavard
b772256a97 Read from path attribute instead of procedure_path when possible 2018-09-18 13:21:18 +02:00
Paul Chavard
2787f040af Add path attribute to Procedure model 2018-09-18 13:21:18 +02:00
Paul Chavard
3f6cc668a7 Implement check_availability route 2018-09-12 12:37:15 +02:00
Paul Chavard
631df3197a Add uniqueness validation to procedure path 2018-09-11 10:38:31 +02:00
Paul Chavard
2770f1db82 Archive only when path changes owner 2018-09-11 10:38:31 +02:00
Paul Chavard
be51802983 Add reopen aasm event 2018-09-11 10:38:31 +02:00
Paul Chavard
5a794cbb08 Use Procedure#publish_or_reopen! 2018-09-11 10:38:31 +02:00
Paul Chavard
ec3a0dc4cf Use Procedure#publish_with_path! 2018-09-11 10:38:31 +02:00
Paul Chavard
b3f8b68b99 Add Procedure#publish_with_path! 2018-09-11 10:38:31 +02:00
Paul Chavard
e6485603c4 Add ProcedurePath#valid? 2018-09-11 10:38:31 +02:00
Paul Chavard
f2f3c54147 Procedure: update -> update! 2018-09-11 10:38:31 +02:00
Paul Chavard
7a322266fa Make aasm related methods private 2018-09-11 10:38:31 +02:00
Paul Chavard
de908ef4be Extract ProcedurePath#find_by_path 2018-09-11 10:38:31 +02:00
Paul Chavard
b63038faca Allow administrateur to try dossier info on aperçu page 2018-09-07 19:41:34 +01:00
Paul Chavard
23170f54c0 Instructeur should see published drafts 2018-09-07 11:20:16 +01:00
gregoirenovel
00ecae5f93 Procédure → Démarche 2018-09-05 15:46:24 +02:00
Frederic Merizen
7326065590 [fix #2486] Include all needed attributes on downloadable_sorted
to avoid N+1 select
2018-08-30 14:13:32 +02:00
Frederic Merizen
9403d4c042 [#2486] followers_gestionnaires should not be a method
To help activerecord caching
2018-08-30 14:13:32 +02:00
Frederic Merizen
37c45f0d29 [#2486] Always order champs
to help activerecord cache the champs collection
2018-08-30 14:13:32 +02:00
gregoirenovel
4b071ecf06 Use enum to the fullest with Dossier.states 2018-08-29 17:31:08 +02:00
gregoirenovel
2d3b553e4d Use enum to the fullest with TypeDeChamp.type_champs 2018-08-29 17:31:08 +02:00
gregoirenovel
606b56033a Use enum to the fullest with VirusScan.statuses 2018-08-29 17:31:08 +02:00
gregoirenovel
66c5f080cc Add AR validation for Feedback rating 2018-08-28 10:36:36 +02:00
gregoirenovel
4103861f90 Add the rating column to feedbacks 2018-08-27 17:03:11 +02:00
Frederic Merizen
1134877d59 [#2179] Remove newly dead code 2018-08-23 11:57:06 +02:00
Frederic Merizen
650a740642 [#2179] Remove dead code 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
Frederic Merizen
333f4e8824 [#2179] update champ and individual association with default
That way, they are safe to read in update_search_terms, and no
reload is needed later
2018-08-23 10:34:25 +02:00
Paul Chavard
aec02a9b8a Remove references to test_procedure 2018-08-14 16:30:43 +02:00
Paul Chavard
7237ff80cc Drop procedure dossiers when updating brouillon 2018-08-14 11:21:05 +02:00
Paul Chavard
3be678dbe5 Add publish_draft feature flag 2018-08-13 19:27:28 +02:00
simon lehericey
b33f11115c [fix #2358] Checkbox: serialize in attestation by oui or no 2018-08-10 16:25:34 +02:00
lucien mollard
9ecc5f7928 add a user satisfaction form' 2018-08-09 11:41:26 +02:00
Paul Chavard
46e75ac8ef Only notify on dossier supression if dossier is en_construction 2018-08-02 17:07:24 +02:00
Paul Chavard
e358e72867 Do not display gestionnaire emails in the messaging interface
fix #2302
2018-07-31 15:27:36 +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
gregoirenovel
eb95fce194 [Fix #2272] Add a SIRET field to the Service form 2018-07-19 15:43:13 +02:00
gregoirenovel
4d41381155 Move the attestation route inside the member block 2018-07-17 17:26:42 +02:00
Mathieu Magnin
e748b6883f Fix comportement chelou in LinkedDropDownListChamp 2018-07-12 12:31:54 +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
5192929730 [#1421] Format linked dropdown menus in attestations and mails 2018-06-28 20:06:32 +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
Paul Chavard
93d6d72df5 Do not copy service info when cloning from library 2018-06-28 11:33:10 +02:00
Frederic Merizen
7fdb523b1a We can use the shorter syntax fort ordered_champs(_private)
now that the old preview is gone
2018-06-28 10:27:07 +02:00
Pierre de La Morinerie
0cebf60c46 [#1421] replace master/slave by primary/secondary 2018-06-27 17:02:46 +02:00
Frederic Merizen
2f206af0d6 [#1421] Make label clickable for drop-down lists 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
15e8d8af05 [#1421] Add linked dropown fields 2018-06-21 16:19:20 +02:00
gregoirenovel
3c331b65a5 Remove an unused method 2018-06-20 18:30:41 +02:00
Frederic Merizen
e99931527b [#1421] Move pays to PaysChamp 2018-06-19 15:20:01 +02:00
Frederic Merizen
0239f936d7 [#1421] Move departements to DepartementChamp 2018-06-19 15:20:01 +02:00
Frederic Merizen
5b59bce0b6 [#1421] Move regions to RegionChamp 2018-06-19 15:20:01 +02:00
Frederic Merizen
95666238ea [#1421] Move piece justificative error code to piece justificative champ 2018-06-19 15:20:01 +02:00
Frederic Merizen
6af27a7190 [#1421] Move same_hour / same_minute to typed champ 2018-06-19 15:20:01 +02:00
Frederic Merizen
41734092b2 [#1421] Move type specific for_export code to typed champs 2018-06-19 15:20:01 +02:00
Frederic Merizen
ee8616fb97 [#1421] Move type specific to_s implementations to typed champs 2018-06-19 15:20:01 +02:00
Frederic Merizen
c2f199c5aa [#1421] Move piece justificative specific validation to PieceJustificativeChamp 2018-06-19 15:20:01 +02:00
Frederic Merizen
c690d3819e [#1421] Move type-specific before_save to typed champs 2018-06-19 15:20:01 +02:00
Mathieu Magnin
ae6e3e345e Task to unhide dossiers with instruction commencee 2018-06-19 10:05:00 +02:00
Mathieu Magnin
89f82ba92e Move email sending in delete method 2018-06-19 10:05:00 +02:00
Mathieu Magnin
e05fb2d0ae Allow dossier deletion if instruction has not started 2018-06-19 10:05:00 +02:00
Mathieu Magnin
cd4615b10d When a new PJ is uploaded enqueue a anti virus scan job 2018-06-12 15:12:39 +02:00
Mathieu Magnin
927cd3c6f4 Create virus scan model to store clamav result 2018-06-12 15:12:38 +02:00
simon lehericey
e11392981d [fix #2072] DossierController: check the user can update the dossier 2018-06-08 16:24:29 +02:00
Frederic Merizen
74135b193a [Fix #2042] Pre-validate users for administrateurs
Rather kludgy but better than the double-validation that is required now
2018-06-06 17:45:48 +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
gregoirenovel
8f1579fb9e [Fix #886] Move mail templates from /mails to /notification_mailers 2018-06-01 11:47:46 +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
23931a7591 Remove the contact_email locale 2018-06-01 00:00:11 +02:00
gregoirenovel
185f08f63e Add constants for email addresses 2018-06-01 00:00:11 +02:00
simon lehericey
0e690c90cc Procedure: clone the deliberation 2018-05-31 16:56:28 +02:00
simon lehericey
fa14db1cbf Procedure: add deliberation 2018-05-31 16:56:28 +02:00
simon lehericey
a96889310b Procedure: add legal reference 2018-05-31 16:55:31 +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
gregoirenovel
dc045bdefb [Fix #1808] Use &. where possible 2018-05-31 11:49:25 +02:00
Mathieu Magnin
eb1fbb7dbc Delete button, notify user and admin then delete dossier 2018-05-30 18:01:36 +02:00
Mathieu Magnin
55a3d59e38 Create new model to store deleted dossier metadatas 2018-05-30 18:01:36 +02:00
Paul Chavard
86b2cb211e Do not attempt to archive already archived procedures 2018-05-29 14:29:26 +02:00
Paul Chavard
87d7bd4fb2 Fix clone procedure 2018-05-28 14:58:40 +02:00
Frederic Merizen
fd168c4a72 [Fix #1972] Make devise mails async 2018-05-28 12:02:13 +02:00
Frederic Merizen
07b1c147d9 [Fix #1972] Always send mails asynchronously 2018-05-28 12:02:13 +02:00
Paul Chavard
66b83b4508 Remove unused alias 2018-05-24 17:54:51 +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
6b683cc491 procedure AASM derived state 2018-05-23 16:31:27 +02:00
Paul Chavard
550ddc8d97 procedure AASM callbacks 2018-05-23 16:31:27 +02:00
Paul Chavard
9cf87d6063 procedure AASM states and events 2018-05-23 16:31:27 +02:00
simon lehericey
5bd589344e Devise: confirm user email 2018-05-23 15:55:52 +02:00
Paul Chavard
94d253c6dc Add commencer/test/:procedure_path route 2018-05-23 11:32:26 +02:00
Paul Chavard
ffef1a644c procedure_path should check for test and regular procedure 2018-05-23 11:32:26 +02:00
Paul Chavard
4ad3932c05 Add test_procedure to procedure_path 2018-05-23 11:32:26 +02:00
Paul Chavard
785fe3410e Clone procedure notice 2018-05-22 17:43:44 +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
bda0ca8188 Service: sort services by name in index 2018-05-18 16:21:26 +02:00
simon lehericey
fc17b68dc1 Service: create model 2018-05-18 16:21:26 +02:00
Paul Chavard
2b8ee92074 Add aasm_state to procedures 2018-05-17 14:46:48 +02:00
Paul Chavard
0c54220c2b Add test_started_at to procedures 2018-05-15 11:00:20 +02:00
Frederic Merizen
5ef129d960 [#1563] Remove attestation mail attachment 2018-05-09 10:42:40 +02:00
Mathieu Magnin
a2bbf1b4d6 [Fix #1907] A new token should be regenerated, because the one in db is encrypted 2018-05-04 14:23:05 +02:00
gregoirenovel
8848abc536 #to_sorted_values -> #sorted_values 2018-05-03 23:35:51 +02:00
gregoirenovel
886431b120 Make some methods private 2018-05-03 23:35:51 +02:00
gregoirenovel
f020fa9e2b Remove some useless self mentions 2018-05-03 23:35:51 +02:00
Paul Chavard
0b7cf3ae75 #full_data_strings_array -> #export_values 2018-05-03 23:35:51 +02:00
Paul Chavard
8637a3015e Simplify Procedure#generate_export code 2018-05-03 23:35:51 +02:00
gregoirenovel
031522cf42 Checking on entreprise has no sense, check etablissement 2018-05-03 23:35:51 +02:00
gregoirenovel
12cda1739b #export_entreprise_data -> #export_etablissement_data 2018-05-03 23:35:51 +02:00
simon lehericey
bb4d29ee8f [fix #1855] Gestionnaire: are now invited to create their password 2018-04-27 14:10:06 +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
28ce027025 [fix #1832] Procedure Stat: display procedure cloned ratio 2018-04-24 14:22:22 +02:00
simon lehericey
f46bf5a67e Procedure: procedure cloned from library are tagged 2018-04-24 14:22:22 +02:00
Paul Chavard
45019ce75c Use Flipflop instead of Feature 2018-04-18 16:51:21 +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
5667cfe747 [fix #675] upload notice in DS 2018-04-12 10:44:58 +02:00
simon lehericey
0ab526de5a [fix #932] Let an adminstrateur upload a pj template 2018-04-09 18:19:24 +02:00
Paul Chavard
408feaa52e Display etablissement information for siret champ 2018-04-09 13:18:10 +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
gregoirenovel
c60c58ff8b Fix issues spotted by @fredZen in #1802 2018-04-06 16:39:54 +02:00
kemar
b42e410da0 [Fix #1494] Display a warning when accepting a dossier if needed
Show the accompagnateur the unspecified demande
champs and attestations privées needed for the
attestation
2018-04-06 16:15:09 +02:00
Frederic Merizen
809638df79 [#1563] Determine if Attestation and Closed mail are out of sync 2018-04-06 10:18:56 +02:00
Paul Chavard
45ef32e6d9 Add SIRET Type De Champ 2018-04-05 10:29:29 +02:00
Paul Chavard
0b79a3d79d Add Siret(TypeDe)Champ STI model 2018-04-04 18:44:08 +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
db0937d1eb [#1563] Allow default template name to depend on procedure 2018-04-04 10:44:40 +02:00
Frederic Merizen
7bf7347b9c [#1563] Clarify constant’s role 2018-04-04 10:44:40 +02:00
Frederic Merizen
66aca60957 [#1563] Remove useless self keywords 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
Frederic Merizen
abf938ff1b [#1563] Generalise external link generation for mails 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
simon lehericey
0bff7abb0c User: add has many relation to dossiers_invites 2018-04-03 10:48:46 +02:00
Paul Chavard
a9f078265a Add STI types de champ models 2018-03-29 17:45:19 +02:00
Paul Chavard
e8f3fda1f0 Add STI champ models 2018-03-29 17:45:19 +02:00
Frederic Merizen
13d7149b5c [#1677] Extract Dossier#invite_for_user 2018-03-29 16:59:16 +02:00
Frederic Merizen
884c430619 [#1677] No need to use emails when we have users 2018-03-29 16:59:16 +02:00
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
2385548a03 [Ref #1626] Add the administrateurs_procedures table and associations 2018-03-23 11:40:03 +01:00
simon lehericey
9e566596fa [fix #1601] show pipedrive demandes in manager 2018-03-22 15:37:16 +01:00
Frederic Merizen
2fa88a432b Add missing brackets around parameters in method definitions 2018-03-20 17:54:51 +01:00
gregoirenovel
4df2eb168d Remove mandataires_sociaux 2018-03-20 16:09:00 +01:00
gregoirenovel
d0a59058e8 Remove the mandataire_social guess
Rationale:
- is true for only 0.06% of Dossiers
- is not displayed anymore anyways
- will be a rare case for now
  * FC adoption is not insane
  * FC used more for personal than professional
    matters
  * not always the mandataires sociaux that fill
    dossiers for their companies, so not that
    relevant
- we can add it back later
2018-03-20 16:09:00 +01:00
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
a00114d03d [Fix #1479] Sanitize User email before validation 2018-03-14 17:41:47 +01:00
Mathieu Magnin
8731f7c63b [Fix #1479] Sanitize Administrateur email before validation 2018-03-14 17:41:47 +01:00
Mathieu Magnin
d9c562c59d [Fix #1479] Sanitize Gestionnaire email before validation 2018-03-14 17:41:46 +01:00
Mathieu Magnin
38e1609d73 [Fix #1479] Validate Avis email format 2018-03-14 17:41:46 +01:00
Mathieu Magnin
5650c4aefe [Fix #1479] Sanitize email format for invite 2018-03-14 17:41:45 +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
Paul Chavard
5faf4cdd84 Remove all references to old STI 2018-03-08 14:17:04 +01:00
Paul Chavard
19b58a298c Clarify dependent relationships between etablissement and entreprise 2018-03-07 17:42:31 +01:00
Paul Chavard
d5f620a163 Mark 1to1 nested relationships as update_only to avoid creating multiple associations
This fixes the invalid entreprises without etablissements
2018-03-07 17:42:02 +01:00
gregoirenovel
0a9f442260 Enable some Rails cops 2018-03-06 17:18:44 +01:00
gregoirenovel
da3d9d403a Enable some more 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
b33fd6dd37 Fix rubocop warnings 2018-03-02 15:42:20 +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
Paul Chavard
896518f3d5 add SIRETService 2018-02-27 16:22:53 +01:00
Paul Chavard
da14cceadc Refactor siade adapters 2018-02-27 16:22:53 +01:00
Paul Chavard
0b2ad653fa Fix camelcase attribute 2018-02-27 16:22:53 +01:00
simon lehericey
d702a0c083 [fix #1411] user: new form ui 2018-02-27 15:24:50 +01:00
Mathieu Magnin
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
ac6ba40598 Unscope the procedures on Gestionnaire and add #visible_procedures 2018-02-23 17:12:58 +01:00
gregoirenovel
1b1460c191 Move a service to the gestionnaire model 2018-02-23 17:12:24 +01:00
Paul Chavard
5470141ca4 Moulinette™ STI Champ et TypeDeChamp 2018-02-20 16:13:40 +01:00
Paul Chavard
55f15b2354 Add a way to check for notifications on dossiers terminé 2018-02-20 15:54:36 +01:00
Mathieu Magnin
9627ba43c0 [Fix #1409] Identite can be updated 2018-02-20 11:01:47 +01:00
gregoirenovel
ee145180a3 Add a piece_justificative_file attribute to Champ 2018-02-15 11:15:23 +01:00
gregoirenovel
7097cad51a Add the “piece_justificative” type de champ 2018-02-15 11:14:03 +01:00
Paul Chavard
db42c0c0cf Fix public and private champs scopes 2018-02-14 18:13:23 +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
f80a9466b9 Delegate mandatory? to type_de_champ 2018-02-13 14:56:55 +01:00
Paul Chavard
2e4ada98e6 Add private columns to Champ and TypeDeChamp 2018-02-13 12:35:03 +01:00
Paul Chavard
52749713ab Remove ChampPublic/ChampPrivate STI 2018-02-13 12:07:13 +01:00
gregoirenovel
29d9b03672 Bump rails to 5.2.0.rc1 2018-02-07 16:18:42 +01:00
gregoirenovel
142241dd16 Remove notifications 2018-02-06 14:07:20 +01:00
gregoirenovel
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
6afaf42e6a The "through" relation used in a HasManyThrough must be declared first 2018-01-30 16:40:04 +01:00
gregoirenovel
25aef60354 Use string interpolation 2018-01-30 15:50:52 +01:00
gregoirenovel
5b62bc4f12 Use transform_keys when possible 2018-01-30 15:45:32 +01:00
gregoirenovel
db8c3030e3 Use transform_values when possible 2018-01-30 15:45:32 +01:00
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
Paul Chavard
fdd6cedeb8 Remove data_provide and data_date_format attributes 2018-01-30 13:49:16 +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
a21dee680d [#1203] Define tags in constants rather than methods 2018-01-18 18:26:14 +01:00
Frederic Merizen
db5bf39e32 [#1203] No implicit available_for_states, make it explicit 2018-01-18 18:26:14 +01:00
Frederic Merizen
21ad13cf74 [#1203] Make all tags multi-line 2018-01-18 18:26:14 +01:00
Frederic Merizen
943fef3160 [#1203] Move all tag definitions to mail template concern
Even the one that is mail-specific, because it is too easy to overlook
it when refactoring otherwise
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
Paul Chavard
273b3f2faf Remove data_provide and data_date_format attributes 2018-01-18 15:13:48 +01:00
gregoirenovel
813844f9db Enable the Layout/TrailingWhitespace cop 2018-01-18 10:55:08 +01:00
gregoirenovel
d30ea70c08 Enable the Layout/SpaceInsideParens cop 2018-01-18 10:53:35 +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
gregoirenovel
9ea1106503 Enable the Layout/SpaceInLambdaLiteral cop 2018-01-18 10:53:34 +01:00
gregoirenovel
3e93bd3615 Enable the Layout/SpaceBeforeComma cop 2018-01-18 10:53:34 +01:00
gregoirenovel
7c93b2a0c2 .map -> .pluck when possible 2018-01-16 13:23:29 +01:00
gregoirenovel
80ed589a17 Use string interpolation 2018-01-16 11:08:57 +01:00
gregoirenovel
83be054884 .map.flatten -> .flat_map 2018-01-16 11:08:56 +01:00
gregoirenovel
c3754a173f Use map instead of inject 2018-01-16 11:08:56 +01:00
gregoirenovel
a050bc20de Add a dossiers_from_avis relation to Gestionnaire 2018-01-16 11:01:52 +01:00
Paul Chavard
0cf40f4f18 Add invitation related methods to administrateur model 2018-01-16 10:49:07 +01:00
gregoirenovel
73dd58b6cd Enable the Layout/MultilineMethodCallIndentation 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
345b892956 Enable the Layout/LeadingCommentSpace 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
9e0e553f80 Enable the Layout/IndentArray cop 2018-01-15 22:33:12 +01:00
gregoirenovel
9f855afdfe Enable the Layout/FirstHashElementLineBreak cop 2018-01-15 22:14:38 +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
f8519c5345 FC initializers: remove Hashie 2018-01-15 17:08:38 +01:00
simon lehericey
ec69be0f7b FC ParticulierClient: simplier initializer 2018-01-15 17:00:26 +01:00
Simon Lehericey
0d46f92795 FC: move FC constants under particulier namespace 2018-01-15 16:59:50 +01:00
simon lehericey
4c2da46dd8 FC ParticulierClient: simplier initialize 2018-01-15 16:59:48 +01:00
gregoirenovel
1368cd4b03 [Fix #1120] Delete the old accompagnateur UI 2018-01-15 10:02:10 +01:00
gregoirenovel
bbaebe0602 !foo.nil? -> foo.present? 2018-01-12 11:32:43 +01:00
gregoirenovel
7c34807f46 Don’t use unless 2018-01-12 11:32:43 +01:00
gregoirenovel
608a8eaf67 Abstract the Procedure whitelisting 2018-01-10 17:58:10 +01:00
simon lehericey
53687bf84a Whitelist: add whitelist button in admin 2018-01-10 17:18:44 +01:00
Frederic Merizen
56749769d6 [Fix #1186] Rename object to subject for mail templates 2018-01-09 16:00:31 +01:00
Frederic Merizen
7f040a5cf8 [Fix #1037] Add date tags to mail / attestation templates
- date de dépôt
- date de passage en instruction
2018-01-09 11:30:54 +01:00
Frederic Merizen
935a38bde0 [#1037] Introduce format-date function 2018-01-09 11:30:54 +01:00
gregoirenovel
093d853ecc Fix some buggy error handling code in Admin::ProcedureController#clone 2018-01-09 11:05:19 +01:00
Frederic Merizen
63ca52792b [#1110] Remove legacy tags 2018-01-09 10:39:10 +01:00
gregoirenovel
ec5b9c86ce Add the admin argument to Procedure#clone 2018-01-08 14:55:07 +01:00
Frederic Merizen
75a3d0f3db [#1110] use modern rather than legacy tags in default mail templates 2018-01-05 17:42:25 +01:00
Frederic Merizen
deea23139f [#1110] Use TagsSubstitutionConcern as engine for mail template tags 2018-01-05 17:42:25 +01:00
Frederic Merizen
ab63f80080 [#1110] Motivation and date de décision are only tags for terminé dossiers 2018-01-05 16:35:29 +01:00
Frederic Merizen
e985439416 [#1110] Use tags method rather than ALLOWED_TAGS class constant 2018-01-05 12:48:07 +01:00
Frederic Merizen
b9a1f707f5 [#1110] name => libelle in mail templates
to match attestation templates
2018-01-05 12:48:07 +01:00
Frederic Merizen
8d77cd58c6 [#1110] Make linked procedure available to mail model 2018-01-05 12:48:07 +01:00
Frederic Merizen
ad0462f7ff [#1110] Port libellé procédure tag from mail templates 2018-01-05 11:51:08 +01:00
Frederic Merizen
ee109b24e3 [#1110] Port date de décision tag from mail templates 2018-01-05 11:51:08 +01:00
Frederic Merizen
3dfc37826a [#1110] Extract document template concern from attestation template class 2018-01-05 10:57:27 +01:00
Frederic Merizen
b603af1ec7 [#1110] Simplification: directly use symbols 2018-01-04 16:20:08 +01:00
Mathieu Magnin
7c0fdbc9f8 [Fix #1096] Github Oauth 2017-12-22 11:10:24 +01:00
Simon Lehericey
40b9a77395 Dossier: replace nouveau scope by en_construction 2017-12-15 17:37:30 +01:00
Simon Lehericey
4be6cb9126 Dossier: delete state_nouveaux which is similar to en_construction 2017-12-15 17:37:30 +01:00
LeSim
7cc69de543 Dossier: remove useless state methods and const 2017-12-15 17:37:30 +01:00
Simon Lehericey
9c354e18eb [fix 363] Dossier: remove next_step! 2017-12-15 15:43:30 +01:00
Simon Lehericey
e78f5b3a2d [fix 363] Dossier: remove next_step! role var 2017-12-15 15:43:30 +01:00
Simon Lehericey
201862d450 [fix 363] Dossier: remove next_step! action = initiate, role = user 2017-12-15 15:43:30 +01:00
Simon Lehericey
907db89371 [fix 363] Dossier: remove next_step! action = follow 2017-12-15 15:43:30 +01:00
Simon Lehericey
11c010859c [fix 363] Dossier: remove next_step! action = update 2017-12-15 15:43:30 +01:00
Simon Lehericey
629cccbf27 [fix 363] Dossier: remove next_step! action = comment 2017-12-15 15:43:30 +01:00
Simon Lehericey
c83552f423 [fix #504] Dossier: without_continuation -> sans_suite 2017-12-15 12:10:54 +01:00
Simon Lehericey
2be9b8d2ba [fix #504] Dossier: refused -> refuse 2017-12-15 12:10:54 +01:00
Simon Lehericey
a13256f73d [fix #504] Dossier: closed -> accepte 2017-12-15 12:10:54 +01:00
LeSim
3dda27b281 [fix #504] Dossier: received -> en_instruction 2017-12-15 12:10:54 +01:00
Simon Lehericey
72bae2c374 [fix #504] Dossier: draft -> brouillon 2017-12-15 11:52:09 +01:00
LeSim
56545933a9 [fix #504] Dossier: initiated -> en_construction
The change must not impact the api
2017-12-15 11:52:09 +01:00
Frederic Merizen
94f1a1fa0c [Fix #866] Allow use of non-breaking spaces in balise in attestation template 2017-12-14 17:22:21 +00:00
Mathieu Magnin
c6be745067 [Fix #1016] display notifications for champs publics 2017-12-14 13:57:15 +01:00
gregoirenovel
e26911a47a An Etablissement’s libelle is its Libellé NAF, not its name 2017-12-07 16:26:59 +01:00
Simon Lehericey
e2bbd2a37a [fix #992] export: dossiers are order by initiated_at 2017-12-01 13:45:53 +01:00
Mathieu Magnin
53bb7b07da [Fix #775] If champ type is a multiple drop down list then display it properly 2017-12-01 12:23:19 +01:00
gregoirenovel
731e1b6787 [Fix #164] Make the organisme field mandatory 2017-11-29 10:36:22 +01:00
Mathieu Magnin
150ff5e7ca New UI : Use RemoteDownloader class to hide ovh url 2017-11-28 15:07:10 +01:00
Mathieu Magnin
4d12aa222c Validate body is present 2017-11-28 15:07:10 +01:00
Mathieu Magnin
6c39aba978 Validates commentaire file size 2017-11-28 15:07:10 +01:00
Mathieu Magnin
76cb54988d Validate virus free with Clamav 2017-11-28 15:07:10 +01:00
Mathieu Magnin
5775901868 Add commentaire file uploader 2017-11-28 15:07:09 +01:00
Simon Lehericey
28a047a64b [Fix #508]Api GeoJson: export dossier.json_latlngs to geojson 2017-11-28 14:41:08 +01:00
Simon Lehericey
e28b18d978 Dossier: add statut method 2017-11-23 09:34:18 +01:00
Simon Lehericey
a71574b8dd [fix #445]: add title to pages 2017-11-21 17:47:27 +01:00
Mathieu Magnin
7bfafb6fc2 Fix export for yes_no champs 2017-11-21 10:36:24 +01:00
Simon Lehericey
ed4e885e6f Notification: new acknowledgment system 2017-11-10 16:29:45 +01:00
Simon Lehericey
155a5f7826 Notification: add methods to retrieve notifications 2017-11-10 16:29:44 +01:00
Simon Lehericey
909ecf2142 Notification: add timestamp to champs, pieces jusitificatives and follows 2017-11-10 16:29:44 +01:00
Simon Lehericey
f4a8ff31b9 Champ: export multiple_drop_down_list as a [].join(', ') 2017-10-30 17:14:31 +01:00
Simon Lehericey
b658f8c8dc Champ: export yes_no champ with oui non 2017-10-30 17:14:31 +01:00
Simon Lehericey
338911d1a8 [fix #905] Champ: add for_export method which strips tag for textarea champ 2017-10-30 17:14:31 +01:00
Simon Lehericey
3f2419a2a3 Dossier: rename data_with_champs to to_sorted_values 2017-10-30 17:14:31 +01:00
Simon Lehericey
f0373f6bc2 Dossier: remove useless return 2017-10-30 17:14:31 +01:00
Simon Lehericey
fc987a730d [Fix #925] strip avis email input 2017-10-30 14:19:20 +01:00
Simon Lehericey
8dedf6fdca [fix #575] dossier updated_at is ... updated when children are updated 2017-10-24 18:12:25 +02:00
Mathieu Magnin
02c83766e5 [Fix #839] Fix mail template modification by side effect 2017-10-23 14:36:52 +02:00
Mathieu Magnin
a8ec374252 [Fix #813] When a brouillon is created, send an email to user 2017-10-20 12:13:55 +02:00
Simon Lehericey
3dce5b9b5e AttestationTemplate: store logo and signature with uuid 2017-10-19 15:32:04 +02:00
gregoirenovel
9ea396cc8b Avoid loading the association for the without_followers scope
As seen in https://stackoverflow.com/questions/5319400/want-to-find-records-with-no-associated-records-in-rails-3
2017-10-17 14:10:34 +02:00
Simon Lehericey
5257d20ba0 [fix #845] Attestation: affiche les dates au format français 2017-10-16 18:54:19 +02:00
Mathieu Magnin
0f945e2fea Simplify mailer parameters to be serializable (even if mail_template.id is nil) 2017-10-13 21:27:17 +02:00
Mathieu Magnin
3ba5de88b6 [Fix #839] Send notification email in async to avoid sending same email to different users 2017-10-13 17:41:02 +02:00
gregoirenovel
fd08bb8c57 Eager-load data for downloadable dossiers
So that the export is faster
2017-10-11 12:38:00 +02:00
Mathieu Magnin
17ce3885fd Force commentaire order to avoid tests to fail randomly 2017-10-06 11:04:09 +02:00
Simon Lehericey
19b3416361 Gestionnaire: add unfollow method 2017-10-05 16:59:26 +02:00
gregoirenovel
a611cace5f Do not allow to filter by explication fields 2017-10-05 14:46:09 +02:00
gregoirenovel
0705efde30 Add filtering to the dossiers table 2017-10-02 17:45:22 +02:00
gregoirenovel
3df9356021 Add field sort to the dossiers table 2017-10-02 17:45:22 +02:00
gregoirenovel
88ad986143 Remove the ordering from the dossier scopes 2017-10-02 17:45:22 +02:00
gregoirenovel
e1bdbec815 Allow the customization of the dossiers table 2017-10-02 17:45:22 +02:00
gregoirenovel
7036f9778b Add ProcedurePresentation 2017-10-02 17:03:30 +02:00
Simon Lehericey
2b760c85c4 [Fix #763] Add annotations_privees to buggy annotation system 2017-09-27 15:08:34 +02:00
Simon Lehericey
f2e1480c73 Notifications: add annotations_privees 2017-09-27 12:16:33 +02:00
Simon Lehericey
04d1e0f0e8 Notification: instruction -> avis 2017-09-27 12:16:33 +02:00
Simon Lehericey
fb5472d3f6 Dossier: remove a_instruire scope
As it s a duplication of en_instruction
2017-09-26 14:42:54 +02:00
Simon Lehericey
1cfeb10ce9 [Fix #503] Dossier: remove updated 2017-09-26 14:42:54 +02:00
Simon Lehericey
633b55aca0 [Fix #503] Dossier: remove replied 2017-09-26 14:42:54 +02:00
Simon Lehericey
030a11d98c [Fix #503] Dossier: remove unused ouvert state 2017-09-26 14:42:54 +02:00
Simon Lehericey
73357c5144 [Fix #503] Dossier: Remove waiting for gestionnaire scope 2017-09-26 14:42:54 +02:00
Simon Lehericey
460cd3e237 [Fix #503] Dossier: Remove waiting for user scope 2017-09-26 14:42:54 +02:00
Simon Lehericey
fdbf34f04b Avis instruction: only authorized avis 2017-09-20 15:42:26 +02:00
Mathieu Magnin
31995c270c [Fix #721] If an avis is created with uppercase email, downcase it before save 2017-09-13 10:59:59 +02:00
Simon Lehericey
a298c48e8f Dossier: add notification icon 2017-09-06 11:13:50 +02:00
Simon Lehericey
fbd16b8c75 Procedure show: add notification icon 2017-09-06 11:11:47 +02:00
Simon Lehericey
3e93d21bf5 Procedure Index: add notification icon 2017-09-06 11:11:47 +02:00
Simon Lehericey
faf2d2814b Champ: fix indentation 2017-09-06 11:11:40 +02:00
Simon Lehericey
3e5d0dce6a NewDesign: can add annotations 2017-09-06 11:11:37 +02:00
Simon Lehericey
d4bbcdf682 Champ: add before save logic to serialize datetime and dropdownlist fields 2017-09-06 11:11:35 +02:00
Simon Lehericey
74c71a3776 Form: use rails form helper 2017-09-06 11:11:34 +02:00
Simon Lehericey
9c2e71afa3 Form: add various champs html and style 2017-09-06 11:11:29 +02:00
gregoirenovel
7ff7710803 A gestionnaire can only see procédures publiées 2017-09-06 11:11:26 +02:00
Simon Lehericey
0d27ca3bca Commentaire: use scope to order commentaires association 2017-09-06 11:11:25 +02:00
Simon Lehericey
95fbd1824a Follow: remove old backoffice follow and toggle_follow 2017-09-06 11:11:22 +02:00
Simon Lehericey
e68f3332c1 Gestionnaire: add follow(dossier) method 2017-09-06 11:11:21 +02:00
Simon Lehericey
033f08524f Gestionnaire: refactor follow? 2017-09-06 11:11:21 +02:00
Simon Lehericey
0d3c145ef3 NewDesign: procedure show add dossier actions 2017-09-06 11:11:12 +02:00
Simon Lehericey
013f2463d1 NewDesign: procedure show add dossier status 2017-09-06 11:11:12 +02:00
Simon Lehericey
b48af51ee9 NewDesign: procedure show only header 2017-09-06 11:11:11 +02:00
Simon Lehericey
5737ebd090 Dossier: workaround preview bug linked to champs with dossier.id == 0 2017-08-29 16:30:34 +02:00
gregoirenovel
79eccb2de0 Add a method to speed up a conditional statement 2017-08-29 14:57:23 +02:00
gregoirenovel
0a8ac645d8 Shave some requests in build_default_champs 2017-08-29 14:22:14 +02:00
Simon Lehericey
a7b00ee847 Rubocop: enable Layout/SpaceAroundOperators 2017-08-28 13:39:13 +02:00
Simon Lehericey
62f1b9c712 Rubocop: enable indentation width rule 2017-08-28 12:20:58 +02:00
Mathieu Magnin
dd1fea78ac [Fix #658] when dossier linked to avis is hidden, do not crash application 2017-08-28 10:11:50 +02:00
Simon Lehericey
d40eef284d Dossier: fixup n+1 champ query 2017-08-03 13:02:13 +02:00
Simon Lehericey
1363999621 Dossier: fixup n+1 private champ query 2017-08-03 13:01:55 +02:00
Mathieu Magnin
539fc682a0 Format date to iso with dedicated method 2017-08-01 16:47:44 +02:00
Mathieu Magnin
03fde0a502 [FIX #589] Force birthdate format when saving 2017-08-01 16:47:43 +02:00
Simon Lehericey
7016bdc49a Avis: move assign_gestionnaire logic to avis model 2017-07-21 11:22:16 +02:00
Simon Lehericey
fe1b97b738 Avis: move notify_gestionnaire to private method 2017-07-21 11:19:18 +02:00
Simon Lehericey
5ec0e2ed18 Dossier: remove unused ordered_commentaires
as commentaires are sorted on the view _messagerie.haml.html
dossier_facade.commentaires.object.sort
2017-07-20 11:03:10 +02:00
Mathieu Magnin
b0c0477622 [Fix #315] Order champs by procedure order in export 2017-07-19 16:31:30 +02:00
gregoirenovel
1c1a47d83a publiee_ou_archivee -> publiees_ou_archivees 2017-07-17 15:06:36 +02:00
gregoirenovel
32e0fa9f69 Add Procedure#publiee_ou_archivee? 2017-07-13 17:01:39 +02:00
gregoirenovel
2b7a148540 Remove Procedure#published? 2017-07-13 17:01:38 +02:00
gregoirenovel
36bee67085 Add Procedure#brouillon? 2017-07-13 17:01:38 +02:00
gregoirenovel
9a7d5d1833 Add Procedure#publiee? 2017-07-13 15:44:18 +02:00
gregoirenovel
cfec05506a Rename Procedure#archived? -> #archivee? 2017-07-13 15:32:13 +02:00
gregoirenovel
07d390db09 Remove comments that were wrong
Having a foo_at column automatically generates the
#foo_at? method, not the #foo? method
2017-07-13 14:46:09 +02:00
gregoirenovel
c43f3fa415 Improve the formatting of the Procedure scopes 2017-07-13 14:46:09 +02:00
gregoirenovel
2f4f10683f Delete now unused scopes on Procedure 2017-07-13 14:46:09 +02:00
gregoirenovel
75aebe4f07 Add the archivees scope on Procedure 2017-07-13 14:46:09 +02:00
gregoirenovel
89feb6cdf7 Add the brouillons scope on Procedure 2017-07-13 14:46:08 +02:00
gregoirenovel
fc2540649f Add the publiees scope on Procedure 2017-07-13 14:46:07 +02:00
gregoirenovel
ab9cf1c351 Rename the published scope on Procedure 2017-07-13 14:40:41 +02:00
gregoirenovel
bb10e13e2f [Ref #145] Don't use Procedure.archived anymore 2017-07-11 15:03:35 +02:00
gregoirenovel
f55b7914cf [Ref #144] Don't use Procedure.published anymore 2017-07-11 14:51:43 +02:00
gregoirenovel
6a381caaee Add the archived scope to Procedure 2017-07-10 17:24:53 +02:00
gregoirenovel
31b23ac74e Add the not_published Procedure scope 2017-07-10 17:24:39 +02:00
gregoirenovel
3a602b05a4 Use the archived and not_archived Dossier scopes 2017-07-10 16:54:02 +02:00
gregoirenovel
f480f26bd4 Use the state_not_brouillon Dossier scope 2017-07-10 16:54:02 +02:00
gregoirenovel
09d596eec1 Remove a useless call to all 2017-07-10 16:54:02 +02:00
gregoirenovel
5f50f76341 Add the published scope en Procedure 2017-07-10 16:54:01 +02:00
Mathieu Magnin
ce171208da Fix redirect loop for gestionnaire if hidden procedure is saved in procedure_filter 2017-07-04 14:34:26 +02:00
Mathieu Magnin
be3304f71e Add a scope to Dossier to check if procedure is not hidden 2017-07-04 14:34:16 +02:00
Mathieu Magnin
760efcdad3 Add hidden_at on procedure 2017-07-04 14:33:40 +02:00
gregoirenovel
6b90e0ccfa [Ref #145] Record archived_at when archiving a procedure 2017-07-03 10:18:49 +02:00
Simon Lehericey
603e2dd020 ProcedureOverview: reboot model and layout 2017-06-29 16:07:46 +02:00
Simon Lehericey
ee415c4aa6 [FIX #509] add dossier id tag in attestation template 2017-06-28 10:59:14 +02:00
gregoirenovel
aeeb0dd22f [Fix #170] Keep drop down menu values for annot. privées when cloning 2017-06-27 14:31:33 +02:00
gregoirenovel
556359cd05 [Fix #318] Add annotations privées to exported files 2017-06-27 14:27:02 +02:00
gregoirenovel
cf5398fe99 Record published_at when publishing a procedure 2017-06-27 13:55:17 +02:00
Simon Lehericey
3d99407495 [Fix #499] Attestation: add maxlength to footer 2017-06-27 13:35:01 +02:00
Simon Lehericey
84e3d8fbe0 Attestation_template: use etablissement inline_adresse 2017-06-27 11:15:25 +02:00
Simon Lehericey
d69d0f8a78 Etablissement: add inline_adresse 2017-06-27 11:15:25 +02:00
Simon Lehericey
e60ce35ae8 [Fix #196] Attestation: join the attestation to the closed mail
Add a upper limit to the attachment size as it could be a problem with Mailjet and receiver
(https://www.mailjet.com/support/what-is-the-size-limit-for-attachments-files-sent-via-mailjet,289.htm)

If the attestation cannot be sent, it is logged in sentry
2017-06-16 12:11:10 +02:00
Simon Lehericey
602527a09d [Fix #196] Attestation: building logic from template 2017-06-16 12:11:09 +02:00
Simon Lehericey
b443b5cefd [Fix #196] Dossier: add Attestation 2017-06-16 12:11:09 +02:00
Simon Lehericey
fdb4d15bcf [Fix #196] AttestationTemplate: add edition 2017-06-16 12:11:09 +02:00
Simon Lehericey
d7ff3d6139 [Fix #196] AttestationTemplate: add model 2017-06-16 11:35:13 +02:00
gregoirenovel
0120995533 [Fix #197] Add the TAG_MOTIVATION email tag 2017-06-13 15:14:50 +02:00
gregoirenovel
b58c02180c [Fix #197] Allow a gestionnaire to add a motivation 2017-06-13 15:14:50 +02:00
gregoirenovel
f1d66e40c3 Enable the Layout/EmptyLinesAroundModuleBody cop 2017-06-13 10:35:34 +02:00
gregoirenovel
82eb66cfe8 Enable the Layout/EmptyLinesAroundMethodBody cop 2017-06-13 10:35:33 +02:00
gregoirenovel
24e7537c49 Enable the Layout/EmptyLinesAroundClassBody cop 2017-06-13 10:35:32 +02:00
gregoirenovel
f1907f4d0e Enable the Layout/EmptyLinesAroundBlockBody cop 2017-06-13 10:35:23 +02:00
gregoirenovel
9439e1abb1 Enable the Layout/AlignParameters cop 2017-06-13 10:35:16 +02:00
gregoirenovel
50fad54538 Enable the Layout/AlignArray cop 2017-06-13 10:35:15 +02:00
gregoirenovel
3f44b963c8 Fix the wording of the initiated email’s subject 2017-06-12 16:17:07 +02:00
Mathieu Magnin
b9522ce404 [Fix #376] Before save format champ date to ISO 2017-06-12 14:05:31 +02:00
Mathieu Magnin
41a5ed59f3 [Fix #376] Force every browser to use native input[type=date] on date champ 2017-06-12 14:05:31 +02:00
gregoirenovel
2a74207d15 you_are_invited_on_dossier -> avis_invitation
- shorter
- clearer
2017-06-12 10:53:59 +02:00
gregoirenovel
107c322062 [Fix #323] Refactor received dossier notification: use a callback 2017-06-08 15:06:01 +02:00
gregoirenovel
585a5bcaba Add TEMPLATE_NAME to Mail classes 2017-06-08 12:22:49 +02:00
gregoirenovel
ec69086ebc Don’t use alias_method_chain, use a proxy method 2017-06-08 12:22:48 +02:00
gregoirenovel
07ea0ceea1 Make MailTemplateConcern.slug a constant 2017-06-08 12:22:44 +02:00
gregoirenovel
9988444459 Remove useless blank lines 2017-06-08 12:22:40 +02:00
gregoirenovel
e06ddeb168 Make all Mails classes inherit from ApplicationRecord 2017-06-08 12:22:38 +02:00
gregoirenovel
5a59115df4 Refactor the TAGS management in MailTemplateConcern 2017-06-08 12:22:36 +02:00
gregoirenovel
1794da5a30 [Fix #234] Remove dynamic email templates handling code in Procedure 2017-06-07 10:10:15 +02:00
gregoirenovel
d5023a3d38 Use the same order for constants and scopes in Dossier 2017-06-01 11:08:26 +02:00
gregoirenovel
0971ede57e Add a termine scope to Dossier 2017-06-01 11:08:00 +02:00
gregoirenovel
68da2ecbae Use symbols instead of strings in for the order arg in scopes 2017-06-01 11:07:30 +02:00
gregoirenovel
8fb6a41386 Remove an unused argument in some Dossier scopes 2017-06-01 11:07:04 +02:00
gregoirenovel
e0a3a48f76 Improve the formatting of Dossier scopes 2017-06-01 11:05:51 +02:00
gregoirenovel
ddac4bbfdb Change the order in the all_state scope for consistency 2017-06-01 10:58:09 +02:00
gregoirenovel
7055aec634 Add some more state scopes and use them 2017-06-01 10:58:09 +02:00
gregoirenovel
9c2c0346b6 [Fix #125] Transform some Dossier class methods into scopes 2017-06-01 10:58:08 +02:00
gregoirenovel
ab1c19c09b Rename some Dossier scopes 2017-06-01 10:58:08 +02:00
gregoirenovel
51dd6df1c0 Improve the formatting of the Dossier state enum 2017-06-01 10:58:08 +02:00
gregoirenovel
1816aef7d0 Group the Dossier scopes and move them at the top 2017-06-01 10:58:07 +02:00