Pierre de La Morinerie
51aacabf13
models: fix touch not propagating when using nested attributes
...
Sometimes, when using nested attributes, touch doesn’t propagate to
parent relationships. (see https://github.com/rails/rails/issues/26726 )
Specifically, this happens in our app when updating a dossier with
only new attachements (but without changing the value of any fields).
To work around this, we need to define the parent relationship
explicitely. This is good practice anyway.
Fix #3906
2019-06-17 13:44:07 +02:00
simon lehericey
ee296f2b44
Use default format for date and datetime champ
2019-06-12 17:48:12 +02:00
Nicolas Bouilleaud
5acb7a3f1b
Make rubocop happy
...
I did make some changes some lines above this 🤷 .
2019-06-12 17:33:53 +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
Nicolas Bouilleaud
be4c575622
Add Follow.unfollowed_at
...
The active scopes is used indirectly in the dossier<->gestionnaire associations: the existing tests in dossier and gestionnaire just work™.
2019-06-12 17:33:53 +02:00
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