kara Diaby
da067597ab
Add create expert method
2021-01-20 18:03:05 +01:00
simon lehericey
d409a9a6c5
Procedure and expert link
2021-01-20 18:03:05 +01:00
simon lehericey
29e9f2dd32
Ajout du model expert
...
Co-authored-by: Kara Diaby <kdiaby.pro@gmail.com>
2021-01-20 18:03:05 +01:00
Christophe Robillard
792b53beeb
import several instructeurs for a routee procedure
...
Co-authored-by: simon lehericey <mail@simon.lehericey.net>
2021-01-20 15:03:17 +01:00
simon lehericey
650a598698
ensure a buggy procedure does not block the others from being closed
2021-01-19 10:42:16 +01:00
simon lehericey
685534e827
Add content validation for avis and messages
2021-01-18 17:23:08 +01:00
simon lehericey
d72f0c6dd2
Add authorized content type for pj
2021-01-18 17:23:08 +01:00
simon lehericey
da71031801
add skip_content_type_pj_validation attr to pj
2021-01-18 15:12:17 +01:00
Paul Chavard
97ce8f312b
Use external_id to fetch annuaire_education data
2021-01-15 11:50:02 +01:00
Paul Chavard
9f691dce4c
Set external_id from combo search inputs
2021-01-15 11:50:02 +01:00
Paul Chavard
09a3cacd88
Add external_id to champs
2021-01-15 11:50:02 +01:00
Paul Chavard
91be115c70
Add annuaire_education champ ui
2021-01-14 17:57:48 +01:00
Paul Chavard
54f2084aef
Add annuaire_education champ
2021-01-14 17:57:48 +01:00
Paul Chavard
5c9f2e8783
Add api education adapter and job
2021-01-14 17:57:48 +01:00
Paul Chavard
a1643dad84
Add data column to champ
2021-01-14 17:31:37 +01:00
Paul Chavard
6ca9daab0f
Ensure a combo always autosave value on change
2021-01-14 17:31:37 +01:00
Paul Chavard
dc08993a89
Add DateTime champ to GraphQL
2021-01-14 14:08:42 +01:00
Paul Chavard
d509fe2edb
GraphQL: add has_fragment to context
2021-01-12 16:24:14 +01:00
Paul Chavard
082b4830f3
Fix a crash when champ carte has no options
2021-01-12 14:47:20 +01:00
Paul Chavard
f33544f067
Fix type_de_champ repetition revision after clone
...
fix #5769
2021-01-12 10:57:34 +01:00
simon lehericey
d766779b8c
allow wrap in radio buttons
2021-01-04 17:14:28 +01:00
simon lehericey
d43c7364fc
add image to notice and deliberation valid content type
2021-01-04 15:13:26 +01:00
kara Diaby
0bd0fef8d5
fixes regarding invited expert list
2021-01-04 14:15:24 +01:00
kara Diaby
8f6440f615
Admins can see the list of invited experts
2020-12-21 14:55:51 +01:00
kara Diaby
2b06ee95e1
Add a method to retrieve all invited experts for all procedure dossiers
2020-12-21 14:55:51 +01:00
Paul Chavard
7a8b1fa639
[GraphQL] hide dossiers brouillon from api
2020-12-18 16:34:42 +01:00
Paul Chavard
d31f4d4e25
GraphQL: render api errors as json
2020-12-18 12:25:52 +01:00
Paul Chavard
09128cb85e
Add titre identite champ to GraphQL
2020-12-17 17:23:34 +01:00
simon lehericey
1348b883e3
Add cron to complete missing analysis
2020-12-17 11:05:33 +01:00
Paul Chavard
a9a4f6e2a8
Add migration task to use stable_id in filters
2020-12-17 10:51:09 +01:00
simon lehericey
116b3c8189
update link ?
2020-12-17 10:51:09 +01:00
simon lehericey
024cc70667
human_value use stable_id ?
2020-12-17 10:51:09 +01:00
simon lehericey
4960eda5cb
use stable id
2020-12-17 10:51:09 +01:00
simon lehericey
f07b395d95
sort : remove superfluous return
2020-12-17 10:51:08 +01:00
simon lehericey
f37c27a243
nicer find_field
2020-12-17 10:51:08 +01:00
simon lehericey
e5da1d7111
move remove_filter
2020-12-17 10:51:08 +01:00
simon lehericey
4241ea05f3
move add_filter
2020-12-17 10:51:08 +01:00
simon lehericey
e3ee756da4
move update_sort
2020-12-17 10:51:08 +01:00
simon lehericey
b7a43f3f44
move update_displayed_fields to procedure_presentation
2020-12-17 10:51:08 +01:00
simon lehericey
cbccdea8e0
move displayed_fields for select to procedure_controller
2020-12-17 10:51:08 +01:00
simon lehericey
55998b1284
remove unused dossier_field service
2020-12-17 10:51:08 +01:00
simon lehericey
0399bb7dcf
cosmetic move
2020-12-17 10:51:08 +01:00
Paul Chavard
a2e87cbb56
Add attestation, justificatifs, operation_logs and bill_signatures to dossier export
2020-12-16 16:34:31 +01:00
simon lehericey
ef11190cda
wording to be consistent with the other entries
2020-12-16 15:00:26 +01:00
simon lehericey
d760402393
fix typo
2020-12-16 15:00:26 +01:00
simon lehericey
996180bf24
add folder icon to dossier
2020-12-16 15:00:26 +01:00
simon lehericey
57bff8ca70
improve deletion mail
2020-12-16 15:00:26 +01:00
kara Diaby
c7643154d1
final optims after sim review
2020-12-16 15:00:26 +01:00
kara Diaby
f3c4040d2d
add grace period to deleted dossiers
2020-12-16 15:00:26 +01:00
simon lehericey
d2f3bb18f9
instructeur can delete a dossier UI
2020-12-16 15:00:26 +01:00
kara Diaby
00b5ad7a10
EQT instructeur, je peux supprimer un dossier terminé
2020-12-16 15:00:26 +01:00
Paul Chavard
43976550cf
GraphQL: make parts of address nullable
2020-12-15 17:57:37 +01:00
Christophe Robillard
3428c58b9e
extract password complexity validator
...
for user and superadmin
2020-12-15 16:26:09 +01:00
Christophe Robillard
15a395fbc7
superadmin: check complexity password server side
2020-12-15 16:26:09 +01:00
Christophe Robillard
94b3ec942b
super_admin: check password complexity client side
2020-12-15 16:26:09 +01:00
Fabrice Gangler
3a9f82bd6f
Fix(form /contact-admin): use APPLICATION_NAME
...
Refs: #5799
2020-12-15 16:14:51 +01:00
Fabrice Gangler
107ad1d28e
Fix(form add/edit a service): use APPLICATION_NAME
...
Refs: #5797
2020-12-14 14:26:09 +01:00
simon lehericey
a941626d45
factorize read_attachment
2020-12-14 14:09:15 +01:00
simon lehericey
38a5847ca4
rewind io before reading to allow multiple read
2020-12-14 14:09:15 +01:00
Fabrice Gangler
064ea776c7
allow default logo of a procedure to be configured in .env file
...
Refs: #5795
2020-12-14 13:41:10 +01:00
simon lehericey
5a9cd71783
fix bill signature
2020-12-11 15:49:05 +01:00
Paul Chavard
075ee9dcde
Fix cadastres layer
2020-12-11 14:47:50 +01:00
Paul Chavard
fed300bfe1
Fix and test ActiveStorage::IntegrityError on upload
2020-12-11 10:30:17 +01:00
Paul Chavard
65d650eba6
Better graphql mutation error messages
2020-12-10 18:35:24 +01:00
kara Diaby
f748ccfc9e
Appelle l'API entreprise avec le token en Header
2020-12-10 17:49:49 +01:00
Paul Chavard
3c6e30a326
Show titre identite link only once watermark is added
2020-12-10 16:50:03 +01:00
Paul Chavard
48e7822e34
Remove titres identite after a dossier is processed
2020-12-10 15:21:25 +01:00
Paul Chavard
5c07882679
Merge pull request #5768 from adullact/5764_allow_images_to_be_configured
...
#5764 - Allow logos (mail, webapp) and favicons to be configured in .env file
2020-12-10 12:54:55 +01:00
Paul Chavard
1af0d30d94
Use new optional layers in maps module
2020-12-10 11:26:16 +01:00
Paul Chavard
eaa9b1c071
Expose all optional layers in TypeDeChamp editor
2020-12-10 11:26:16 +01:00
Paul Chavard
cad8ee31d8
Remove legacy geo sources
2020-12-10 11:26:16 +01:00
Christophe Robillard
23ae528c6b
affiche Madame ou Monsieur
...
mais continue à enregistrer en base Mme ou M.
2020-12-08 21:30:54 +01:00
Christophe Robillard
2066e3db87
rend plus compréhensible la civilité
2020-12-08 18:31:38 +01:00
Christophe Robillard
30b9d603bd
presente la civilite par ordre alphabétique
2020-12-08 17:29:07 +01:00
clemkeirua
513d4f6ff1
move all the cron jobs in a dedicated directory
2020-12-08 13:22:43 +00:00
Christophe Robillard
ddd50993a5
cache pays
2020-12-08 13:09:08 +00:00
Christophe Robillard
a8ed9ef172
remove dead code
2020-12-08 13:09:08 +00:00
Christophe Robillard
12d1a5bece
implement ComboPaysSearch
2020-12-08 13:09:08 +00:00
Paul Chavard
43b6f198d5
Adapt 2FA issuer for local and staging environements
2020-12-08 12:55:28 +00:00
simon lehericey
b187244a29
extract and refactor api errors
2020-12-04 17:07:30 +01:00
simon lehericey
46c355beb2
Add comments
2020-12-03 11:52:01 +01:00
simon lehericey
f56235c7ee
retry exponentially on api entreprise timeout
2020-12-03 11:52:01 +01:00
simon lehericey
78a40b5176
Increase api_entreprise_timeout
2020-12-03 10:26:05 +01:00
simon lehericey
9eab310565
[ #5675 ] for all api entreprise job, retry on 502, 503
2020-12-02 18:25:31 +01:00
simon lehericey
02e7de0003
more details when Typhoeus request fails
2020-12-02 18:25:31 +01:00
Christophe Robillard
2a5086f7df
indique depuis quand il y a des nouveautés
2020-12-02 18:06:37 +01:00
Christophe Robillard
5ffe0f618f
rend plus compréhensible le mail quotidien des nouveautés
2020-12-02 17:26:44 +01:00
Fabrice Gangler
0d80d2ddd1
allow logos (mail, webapp) and favicons to be configured in .env file
...
Refs: #5764
2020-11-27 01:41:47 +01:00
Paul Chavard
18dfacb933
Make watermark configurable
2020-11-25 16:19:06 +01:00
Paul Chavard
b48e7813d2
Put watermark code behind a feature flag
2020-11-25 16:19:06 +01:00
Paul Chavard
371179dc5b
Watermark titres identite
2020-11-25 16:19:06 +01:00
Paul Chavard
00ef56db10
[GraphQL] fix attachment upload
...
- `identify` will return `true` sometime
2020-11-25 10:46:20 +01:00
Christophe Robillard
6f3bf48d30
add specific totp label for dev env
2020-11-17 15:33:13 +00:00
kara Diaby
d9dea779ea
Remove foreign key dossier on dossier operations logs
2020-11-17 16:02:53 +01:00
Paul Chavard
b897e0cc1c
[GraphQL] add better errors when attachments are not properly used
2020-11-17 12:40:14 +01:00
Christophe Robillard
f368255f91
fix saml entity id
2020-11-16 15:01:16 +01:00
Christophe Robillard
d91e9b372f
add sendinblue login link to manager
2020-11-16 12:19:54 +01:00
Christophe Robillard
9347951cea
act as an saml identity provider
2020-11-16 12:19:54 +01:00
Paul Chavard
e74c32446e
Fix champ->type_de_champ n+1
2020-11-12 15:48:31 +01:00
kara Diaby
06f6cf7771
add new columns to deleted dossiers
2020-11-12 12:18:59 +01:00
clemkeirua
dae65c49f6
revert counters display
...
in Instructeur::ProceduresController::show, we recently used a grouped query for counters
for some reason, this grouped query in procedure#dossiers_count_for_instructeur
gives incorrect results.
I keep this method as is for now (instructeurs are complaining) and hotfix the controllers
2020-11-12 08:15:00 +00:00
clemkeirua
64c964bf5e
fix broken nil values in france_connect_informatio
2020-11-11 15:40:44 +01:00
kara Diaby
bc0f77978f
add an api token verification for api entreprise
2020-11-09 16:58:24 +01:00
Paul Chavard
20cdefad63
GraphQL: bump timeout to 10 sec
2020-11-06 12:00:00 +01:00
kara Diaby
c033ef0910
Ajoute a l'information de connexion France Connect dans les informations du dossier ainsi que sur la demande usager
2020-11-05 19:30:13 +01:00
kara Diaby
4b2e3b5be7
Revert "Merge pull request #5710 from betagouv/revert-5705-feat/5701"
...
This reverts commit aae77c77b0
, reversing
changes made to 4c2c5c630c
.
2020-11-05 19:30:13 +01:00
Christophe Robillard
0e43b5e5c0
fix refacto super_admin
2020-11-05 17:51:38 +01:00
Christophe Robillard
5562e65bf3
refacto: rename administration to super_admin
2020-11-05 16:03:55 +01:00
Christophe Robillard
a88172eb01
configure otp_secret_key secret
2020-11-05 16:03:55 +01:00
Christophe Robillard
efd8ec85e8
recover superadmin password or reset otp
2020-11-05 16:03:55 +01:00
Christophe Robillard
8d23f6ae99
remove useless redirection for manager sign_in and out
...
The manager alias for signin causes layout problems
2020-11-05 16:03:55 +01:00
Christophe Robillard
2a0ebd062a
enable 2FA for manager
...
when trying to access manager, if superadmin did'nt enable otp, he/she is redirected to a page to enable 2FA. When superadmin is enabling 2FA, he has to to scan a qrcode with the 2FA application client. And afterwards, the superadmin has to log in with email, password and OTP code.
2020-11-05 16:03:55 +01:00
Christophe Robillard
305ccdc0cd
add recoverable and two_factor stragegy for administration
2020-11-05 16:03:55 +01:00
Christophe Robillard
6c2eb22960
remove github authentication for manager
2020-11-05 16:03:55 +01:00
clemkeirua
30dfe7fbd0
fix a_suivre
2020-11-04 11:07:53 +01:00
Kara Diaby
f78e0ced3a
Revert "feat 5701 - Ajoute l'information lorsqu'un usager s'authentifie via France Connect"
2020-10-30 18:28:08 +01:00
kara Diaby
e6c1a20329
Ajoute l'information lorsqu'un usager s'authentifie via France Connect
2020-10-30 17:28:54 +01:00
simon lehericey
d82d1132c2
Remove rack_mini_profiler from prod as it could show env var and force us to allow unsafe_eval and script in csp
2020-10-30 17:08:31 +01:00
kara Diaby
7d157eac12
Modifie la description dans le champ titre identité
2020-10-30 14:17:09 +01:00
simon lehericey
c563956a9f
retry each day during 5 days to fetch attestation social
2020-10-28 15:53:58 +00:00
clemkeirua
89316c0689
fix counter for dossiers suivis/à suivre when unfollow
2020-10-28 13:51:35 +00:00
clemkeirua
640984f9b6
moins de count dans Instructeurs::ProceduresController#show
...
exploitation de dossiers_count_for_instructeur dans Instructeurs::ProceduresController#showpour sortir les chiffres facilement
2020-10-28 13:51:35 +00:00
clemkeirua
b4910c557d
ajout de procedure.dossiers_count_for_instructeur
2020-10-28 13:51:35 +00:00
clemkeirua
5d7680150b
cache encours/termine has notifications
2020-10-28 13:51:35 +00:00
clemkeirua
e96709a4f8
cache not_archived notification list
2020-10-28 13:51:35 +00:00
clemkeirua
47181ca80b
remove assert_matching_procedure
2020-10-28 13:51:35 +00:00
simon lehericey
0f719b4fa2
update dinum logo and shrunk size from 70K to 4K
2020-10-28 12:09:31 +01:00
simon lehericey
42d0ffb977
update marianne logo and shrunk size from 5K to 0.5K
2020-10-28 12:07:44 +01:00
simon lehericey
576a740bb2
do not load an entire italic font for 10 words
2020-10-28 11:55:21 +01:00
simon lehericey
5f74584c6a
reduce font size by subsetting and using woff2 ( https://www.fontsquirrel.com/tools/webfont-generator )
2020-10-28 11:55:21 +01:00
simon lehericey
3c0c829a29
add dimensions to img tag to avoid reflow, add loading: lazy to avoid blocking
2020-10-28 11:39:10 +01:00
Paul Chavard
618c81b9a6
Mount react components on page updates
2020-10-15 18:46:12 +02:00
Paul Chavard
ca0ba4ba2d
replace deprecated react-loadable with suspense
2020-10-15 17:30:49 +02:00
clemkeirua
421e8384af
fix blocked user
2020-10-13 17:36:43 +02:00
clemkeirua
2d492226e3
added helscout link for emails
2020-10-13 17:36:43 +02:00
clemkeirua
f298d2c2ba
dedicated screen for inspecting user emails
2020-10-13 17:36:43 +02:00
clemkeirua
27b8797296
ajout d'une route /manager/users/:id/emails
2020-10-13 17:36:43 +02:00
clemkeirua
e9c33ecbd0
added meta user info
2020-10-13 17:36:43 +02:00
Paul Chavard
752ee78c49
Use fetch instead of jQuery
2020-10-13 10:55:10 +02:00
Kara Diaby
0bd48999bd
Revert "feat/5635 - Supprime la possibilité pour l'expert invité d'envoyer un message"
2020-10-12 09:24:34 +02:00
Paul Chavard
7c58f06c60
always validate geometries returned from api
2020-10-08 16:03:28 +02:00
Paul Chavard
70bf9ea92f
remove unused select2 code
2020-10-08 15:26:15 +02:00
Paul Chavard
653270d02f
Update specs
2020-10-08 15:26:15 +02:00
Paul Chavard
8a2f079acb
Implement ComboAdresseSearch
2020-10-08 15:26:14 +02:00
Paul Chavard
b6c94a3758
Implement ComboCommunesSearch
2020-10-08 15:26:14 +02:00
Paul Chavard
4217dcd94b
Implement ComboDepartementsSearch
2020-10-08 15:26:14 +02:00
Paul Chavard
2c7ee82d31
Implement ComboRegionsSearch
2020-10-08 15:26:14 +02:00
Paul Chavard
1b57d94d93
Use @reach/combobox instead of select2
2020-10-08 15:26:14 +02:00
kara Diaby
6636b7f14c
Supprime la possibilité pour l'expert invité d'envoyer un message à l'usager
2020-10-08 11:14:09 +02:00
simon lehericey
185193086b
preload fonts for faster rendering
...
It's a lighthouse recommendation
2020-10-08 09:03:08 +02:00
Paul Chavard
5df7a729e7
Add a wrapper to catch chart rendering before chartkick is loaded
2020-10-07 11:40:07 +02:00
Paul Chavard
d8852c7dc5
Lazily load trix
2020-10-07 11:40:07 +02:00
Paul Chavard
95eb907090
remove unused javascript
2020-10-07 11:39:57 +02:00
clemkeirua
9edab7c851
add missing procedure_id
2020-10-07 11:16:02 +02:00
Christophe Robillard
d572a892df
show masked token if token already been defined
2020-10-07 09:02:33 +00:00
Paul Chavard
e9ed3dcb92
Update graphql schema
2020-10-06 21:54:44 +02:00
Paul Chavard
393dc9578d
Fix apostrophes
2020-10-06 21:54:43 +02:00
Paul Chavard
0aa06d0197
[GraphQL] expose dossier pdf, geojson and attestation
2020-10-06 21:54:43 +02:00
simon lehericey
4af8bd47ac
cache landing data
2020-10-06 16:12:01 +02:00
simon lehericey
ad01d4dee5
really faster stats by precomputing some of them
2020-10-06 16:12:01 +02:00
simon lehericey
f5f363ae99
add 3 counts to @dossiers_states
2020-10-06 16:12:01 +02:00
simon lehericey
e9adcdd7fc
add @dossiers_states to compute more dossier count
2020-10-06 16:12:01 +02:00
simon lehericey
6e17eeb635
reduce dossiers count
2020-10-06 16:12:01 +02:00
kara Diaby
75ab403611
fixe le choix du service lorsque la démarche en a déjà un d'affecté
2020-10-06 14:45:48 +02:00
kara Diaby
73399ae072
Fixe le nombre de caractères maximum dans l'url de la démarche (back end)
2020-10-06 14:26:14 +02:00
kara Diaby
c0a517e028
Fixe la longueur de l'url de la démarche
2020-10-05 16:54:10 +02:00
kara Diaby
9207cc5aa5
Ajoute un flag pour qu'un expert ne puisse pas inviter une autre personne à donner son avis sur un dossier
2020-10-02 18:57:29 +02:00
Paul Chavard
59086cc728
Fix geo length computations
2020-10-01 15:09:38 +02:00
Paul Chavard
4dfc1c719f
Fix geo areas computations
2020-10-01 15:09:38 +02:00
kara Diaby
57adb90c8f
add the possibility for administrator to refuse external review on a specific procedure
2020-10-01 10:55:19 +02:00
clemkeirua
9019a8b380
ensure a dossier_id is set if possible
2020-09-30 16:50:28 +02:00
Paul Chavard
775a677465
GraphQL handle parse errors
2020-09-30 14:18:37 +02:00
clemkeirua
67b8bf4754
smaller font-size for large footers in attestation
2020-09-30 14:05:12 +02:00
Paul Chavard
1bd59c72e5
Include in exports types_de_champ from all revisions
2020-09-30 13:42:38 +02:00
kara Diaby
e174079850
fix send a copy link
2020-09-30 10:03:08 +02:00
clemkeirua
4fc038fe1b
use after_create instead of after_save
2020-09-29 18:15:38 +00:00
clemkeirua
d23b1136ad
send invite notifications using a hook
2020-09-29 18:15:38 +00:00
clemkeirua
dd7840cdc4
Notify new draft after dossier commit
2020-09-29 18:15:38 +00:00
kara Diaby
2a69e2fbeb
fix services choice into a procedure
2020-09-29 19:53:28 +02:00
Keirua
3fa628235e
Nettoyage de I18n.transliterate pour les noms de feuilles d'exports
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2020-09-29 15:50:19 +00:00
clemkeirua
9714b607aa
ensure valid excel worksheet names
2020-09-29 15:50:19 +00:00
Paul Chavard
a55be55c6a
Add mandatory * to secondary value
2020-09-29 14:33:27 +00:00
simon lehericey
1eb780b0c9
convert sheet_name to ascii before tuncate to 30 to ensure length < 31 bytes
2020-09-29 14:11:06 +02:00
simon lehericey
29ef5e6785
compute async only after create
2020-09-29 14:00:31 +02:00
simon lehericey
5ed491b958
export are kept for 1 hour
2020-09-29 13:59:57 +02:00
clemkeirua
245e9e59c7
do not run ApiEntreprise jobs on missing etablissements
2020-09-28 17:36:38 +02:00
clemkeirua
bf02238662
fix for missing user_sign_in_count
2020-09-28 15:55:18 +02:00
clemkeirua
560e1fc4fe
tag.span instead of content_tag
2020-09-25 12:53:11 +00:00
clemkeirua
2cb3b1c68e
more idiomatic count
2020-09-25 12:53:11 +00:00
clemkeirua
f7ebbdc7c2
use match if possible
2020-09-25 12:53:11 +00:00
clemkeirua
9b324614b8
transform_values instead of map+to_h
2020-09-25 12:53:11 +00:00
clemkeirua
eb46cc6425
piecejusticative file validation focus on size
2020-09-25 09:35:16 +00:00
clemkeirua
c155de1d7e
ajout de la liste des extensions
2020-09-25 09:35:16 +00:00
clemkeirua
31d48c2879
validation is enableed only for 'new' procedures
2020-09-25 09:35:16 +00:00
clemkeirua
0d88674cea
better translations
2020-09-25 09:35:16 +00:00
clemkeirua
8711e8f911
reenable validator on piece_justificative
2020-09-25 09:35:16 +00:00
clemkeirua
d617a4b252
create export after commiting the export object
2020-09-24 18:56:22 +00:00
clemkeirua
c19b653581
higher level length sanitization for worksheet length
2020-09-24 14:59:46 +02:00
Paul Chavard
a49c962ab3
Redirect demandes to DEMANDE_INSCRIPTION_ADMIN_PAGE_URL
2020-09-24 09:57:43 +02:00
Paul Chavard
26a6e18cb9
Do not crash when rgeo can’t calculate polygon area
...
example are “hourglass” shaped polygons
2020-09-23 16:52:08 +02:00