Commit graph

1247 commits

Author SHA1 Message Date
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