umap-project 2.1.2__py3-none-any.whl → 2.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umap-project might be problematic. Click here for more details.
- umap/__init__.py +1 -1
- umap/context_processors.py +1 -0
- umap/locale/br/LC_MESSAGES/django.mo +0 -0
- umap/locale/en/LC_MESSAGES/django.po +32 -32
- umap/locale/hu/LC_MESSAGES/django.mo +0 -0
- umap/locale/it/LC_MESSAGES/django.mo +0 -0
- umap/locale/ms/LC_MESSAGES/django.mo +0 -0
- umap/migrations/0020_alter_tilelayer_url_template.py +19 -0
- umap/migrations/0021_remove_map_description.py +16 -0
- umap/models.py +10 -6
- umap/settings/base.py +1 -0
- umap/static/umap/base.css +43 -156
- umap/static/umap/content.css +7 -25
- umap/static/umap/css/icon.css +112 -0
- umap/static/umap/css/panel.css +140 -0
- umap/static/umap/img/16-white.svg +5 -1
- umap/static/umap/img/16.svg +7 -4
- umap/static/umap/img/24-white.svg +3 -1
- umap/static/umap/img/24.svg +3 -4
- umap/static/umap/img/source/16-white.svg +176 -940
- umap/static/umap/img/source/16.svg +8 -5
- umap/static/umap/img/source/24-white.svg +5 -3
- umap/static/umap/img/source/24.svg +6 -7
- umap/static/umap/js/modules/browser.js +97 -73
- umap/static/umap/js/modules/dompurify.js +12 -0
- umap/static/umap/js/modules/facets.js +149 -0
- umap/static/umap/js/modules/global.js +9 -1
- umap/static/umap/js/modules/i18n.js +7 -0
- umap/static/umap/js/modules/orderable.js +84 -0
- umap/static/umap/js/modules/panel.js +76 -0
- umap/static/umap/js/modules/request.js +0 -1
- umap/static/umap/js/modules/schema.js +324 -223
- umap/static/umap/js/modules/urls.js +1 -16
- umap/static/umap/js/modules/utils.js +340 -0
- umap/static/umap/js/umap.autocomplete.js +40 -25
- umap/static/umap/js/umap.controls.js +248 -361
- umap/static/umap/js/umap.core.js +77 -366
- umap/static/umap/js/umap.datalayer.permissions.js +1 -1
- umap/static/umap/js/umap.features.js +65 -43
- umap/static/umap/js/umap.forms.js +128 -36
- umap/static/umap/js/umap.icon.js +11 -4
- umap/static/umap/js/umap.importer.js +78 -58
- umap/static/umap/js/umap.js +206 -192
- umap/static/umap/js/umap.layer.js +86 -46
- umap/static/umap/js/umap.permissions.js +13 -9
- umap/static/umap/js/umap.popup.js +26 -30
- umap/static/umap/js/umap.share.js +12 -9
- umap/static/umap/js/umap.tableeditor.js +4 -6
- umap/static/umap/js/umap.ui.js +10 -60
- umap/static/umap/locale/am_ET.js +243 -227
- umap/static/umap/locale/am_ET.json +21 -9
- umap/static/umap/locale/ar.js +243 -227
- umap/static/umap/locale/ar.json +21 -9
- umap/static/umap/locale/ast.js +243 -227
- umap/static/umap/locale/ast.json +21 -9
- umap/static/umap/locale/bg.js +243 -227
- umap/static/umap/locale/bg.json +21 -9
- umap/static/umap/locale/br.js +253 -237
- umap/static/umap/locale/br.json +25 -13
- umap/static/umap/locale/ca.js +243 -227
- umap/static/umap/locale/ca.json +21 -9
- umap/static/umap/locale/cs_CZ.js +243 -227
- umap/static/umap/locale/cs_CZ.json +21 -9
- umap/static/umap/locale/da.js +243 -227
- umap/static/umap/locale/da.json +21 -9
- umap/static/umap/locale/de.js +243 -227
- umap/static/umap/locale/de.json +21 -9
- umap/static/umap/locale/el.js +243 -227
- umap/static/umap/locale/el.json +21 -9
- umap/static/umap/locale/en.js +243 -234
- umap/static/umap/locale/en.json +22 -10
- umap/static/umap/locale/en_US.json +21 -9
- umap/static/umap/locale/es.js +243 -227
- umap/static/umap/locale/es.json +21 -9
- umap/static/umap/locale/et.js +243 -227
- umap/static/umap/locale/et.json +21 -9
- umap/static/umap/locale/eu.js +227 -199
- umap/static/umap/locale/eu.json +1 -1
- umap/static/umap/locale/fa_IR.js +243 -227
- umap/static/umap/locale/fa_IR.json +21 -9
- umap/static/umap/locale/fi.js +243 -227
- umap/static/umap/locale/fi.json +21 -9
- umap/static/umap/locale/fr.js +243 -234
- umap/static/umap/locale/fr.json +21 -9
- umap/static/umap/locale/gl.js +243 -227
- umap/static/umap/locale/gl.json +21 -9
- umap/static/umap/locale/he.js +243 -227
- umap/static/umap/locale/he.json +21 -9
- umap/static/umap/locale/hr.js +243 -227
- umap/static/umap/locale/hr.json +21 -9
- umap/static/umap/locale/hu.js +243 -234
- umap/static/umap/locale/hu.json +21 -9
- umap/static/umap/locale/id.js +243 -227
- umap/static/umap/locale/id.json +21 -9
- umap/static/umap/locale/is.js +243 -227
- umap/static/umap/locale/is.json +21 -9
- umap/static/umap/locale/it.js +243 -234
- umap/static/umap/locale/it.json +21 -9
- umap/static/umap/locale/ja.js +243 -227
- umap/static/umap/locale/ja.json +21 -9
- umap/static/umap/locale/ko.js +243 -227
- umap/static/umap/locale/ko.json +21 -9
- umap/static/umap/locale/lt.js +243 -227
- umap/static/umap/locale/lt.json +21 -9
- umap/static/umap/locale/ms.js +243 -234
- umap/static/umap/locale/ms.json +22 -10
- umap/static/umap/locale/nl.js +246 -230
- umap/static/umap/locale/nl.json +21 -9
- umap/static/umap/locale/no.js +243 -227
- umap/static/umap/locale/no.json +21 -9
- umap/static/umap/locale/pl.js +243 -227
- umap/static/umap/locale/pl.json +21 -9
- umap/static/umap/locale/pl_PL.json +21 -9
- umap/static/umap/locale/pt.js +243 -227
- umap/static/umap/locale/pt.json +21 -9
- umap/static/umap/locale/pt_BR.js +243 -227
- umap/static/umap/locale/pt_BR.json +21 -9
- umap/static/umap/locale/pt_PT.js +243 -227
- umap/static/umap/locale/pt_PT.json +21 -9
- umap/static/umap/locale/ro.js +243 -227
- umap/static/umap/locale/ro.json +21 -9
- umap/static/umap/locale/ru.js +243 -227
- umap/static/umap/locale/ru.json +21 -9
- umap/static/umap/locale/si.js +1 -1
- umap/static/umap/locale/si.json +1 -1
- umap/static/umap/locale/sk_SK.js +243 -227
- umap/static/umap/locale/sk_SK.json +21 -9
- umap/static/umap/locale/sl.js +243 -227
- umap/static/umap/locale/sl.json +21 -9
- umap/static/umap/locale/sr.js +243 -227
- umap/static/umap/locale/sr.json +21 -9
- umap/static/umap/locale/sv.js +243 -227
- umap/static/umap/locale/sv.json +21 -9
- umap/static/umap/locale/th_TH.js +243 -227
- umap/static/umap/locale/th_TH.json +21 -9
- umap/static/umap/locale/tr.js +243 -227
- umap/static/umap/locale/tr.json +21 -9
- umap/static/umap/locale/uk_UA.js +243 -227
- umap/static/umap/locale/uk_UA.json +21 -9
- umap/static/umap/locale/vi.js +243 -227
- umap/static/umap/locale/vi.json +21 -9
- umap/static/umap/locale/vi_VN.json +21 -9
- umap/static/umap/locale/zh.js +243 -227
- umap/static/umap/locale/zh.json +21 -9
- umap/static/umap/locale/zh_CN.json +21 -9
- umap/static/umap/locale/zh_TW.Big5.json +21 -9
- umap/static/umap/locale/zh_TW.js +243 -234
- umap/static/umap/locale/zh_TW.json +21 -9
- umap/static/umap/map.css +124 -264
- umap/static/umap/test/DataLayer.js +1 -1
- umap/static/umap/test/Feature.js +0 -226
- umap/static/umap/test/Map.js +0 -304
- umap/static/umap/test/Polygon.js +0 -256
- umap/static/umap/test/Polyline.js +0 -116
- umap/static/umap/test/TableEditor.js +10 -10
- umap/static/umap/test/Util.js +0 -521
- umap/static/umap/test/index.html +1 -5
- umap/static/umap/unittests/URLs.js +1 -1
- umap/static/umap/unittests/utils.js +610 -0
- umap/static/umap/vars.css +9 -0
- umap/static/umap/vendors/dompurify/purify.es.mjs +1525 -0
- umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +1 -0
- umap/static/umap/vendors/iconlayers/iconLayers.js +1 -1
- umap/templates/umap/css.html +2 -0
- umap/templates/umap/js.html +0 -1
- umap/templates/umap/map_detail.html +4 -0
- umap/templates/umap/map_table.html +12 -10
- umap/templatetags/umap_tags.py +5 -0
- umap/tests/conftest.py +9 -0
- umap/tests/fixtures/test_upload_data.csv +2 -1
- umap/tests/fixtures/test_upload_data.umap +171 -0
- umap/tests/fixtures/test_upload_data_osm.json +33 -0
- umap/tests/integration/conftest.py +16 -0
- umap/tests/integration/test_anonymous_owned_map.py +30 -5
- umap/tests/integration/test_basics.py +21 -0
- umap/tests/integration/test_browser.py +16 -36
- umap/tests/integration/test_choropleth.py +89 -0
- umap/tests/integration/test_collaborative_editing.py +30 -1
- umap/tests/integration/test_dashboard.py +10 -0
- umap/tests/integration/test_datalayer.py +132 -0
- umap/tests/integration/test_draw_polygon.py +363 -0
- umap/tests/integration/test_draw_polyline.py +325 -0
- umap/tests/integration/test_edit_datalayer.py +145 -6
- umap/tests/integration/test_edit_map.py +202 -0
- umap/tests/integration/test_edit_marker.py +120 -0
- umap/tests/integration/test_edit_polygon.py +122 -0
- umap/tests/integration/test_facets_browser.py +132 -11
- umap/tests/integration/test_import.py +407 -10
- umap/tests/integration/test_map.py +36 -54
- umap/tests/integration/test_map_list.py +28 -0
- umap/tests/integration/test_owned_map.py +24 -6
- umap/tests/integration/test_picto.py +25 -38
- umap/tests/integration/test_querystring.py +9 -15
- umap/tests/integration/test_slideshow.py +0 -5
- umap/tests/integration/test_statics.py +3 -2
- umap/tests/integration/test_tableeditor.py +23 -0
- umap/tests/integration/test_tilelayer.py +10 -0
- umap/tests/integration/test_view_marker.py +64 -0
- umap/tests/integration/test_view_polygon.py +59 -0
- umap/tests/integration/test_view_polyline.py +51 -0
- umap/tests/test_map_views.py +13 -0
- {umap_project-2.1.2.dist-info → umap_project-2.2.0.dist-info}/METADATA +12 -12
- {umap_project-2.1.2.dist-info → umap_project-2.2.0.dist-info}/RECORD +206 -187
- {umap_project-2.1.2.dist-info → umap_project-2.2.0.dist-info}/WHEEL +1 -1
- umap/static/umap/test/Choropleth.js +0 -245
- umap/static/umap/test/Permissions.js +0 -74
- umap/static/umap/vendors/dompurify/purify.min.js +0 -3
- umap/static/umap/vendors/dompurify/purify.min.js.map +0 -1
- umap/tests/integration/test_drawing.py +0 -243
- {umap_project-2.1.2.dist-info → umap_project-2.2.0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.1.2.dist-info → umap_project-2.2.0.dist-info}/licenses/LICENSE +0 -0
umap/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = "2.
|
|
1
|
+
VERSION = "2.2.0"
|
umap/context_processors.py
CHANGED
|
@@ -7,6 +7,7 @@ def settings(request):
|
|
|
7
7
|
return {
|
|
8
8
|
"UMAP_FEEDBACK_LINK": djsettings.UMAP_FEEDBACK_LINK,
|
|
9
9
|
"SITE_NAME": djsettings.SITE_NAME,
|
|
10
|
+
"SITE_URL": djsettings.SITE_URL,
|
|
10
11
|
"ENABLE_ACCOUNT_LOGIN": djsettings.ENABLE_ACCOUNT_LOGIN,
|
|
11
12
|
"UMAP_READONLY": djsettings.UMAP_READONLY,
|
|
12
13
|
"UMAP_DEMO_SITE": djsettings.UMAP_DEMO_SITE,
|
|
Binary file
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2024-
|
|
11
|
+
"POT-Creation-Date: 2024-04-24 19:16+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -25,7 +25,7 @@ msgstr ""
|
|
|
25
25
|
msgid "Everyone can edit"
|
|
26
26
|
msgstr ""
|
|
27
27
|
|
|
28
|
-
#: forms.py:69 models.py:
|
|
28
|
+
#: forms.py:69 models.py:384
|
|
29
29
|
msgid "Inherit"
|
|
30
30
|
msgstr ""
|
|
31
31
|
|
|
@@ -33,54 +33,50 @@ msgstr ""
|
|
|
33
33
|
msgid "Site is readonly for maintenance"
|
|
34
34
|
msgstr ""
|
|
35
35
|
|
|
36
|
-
#: models.py:
|
|
36
|
+
#: models.py:53
|
|
37
37
|
msgid "name"
|
|
38
38
|
msgstr ""
|
|
39
39
|
|
|
40
|
-
#: models.py:
|
|
40
|
+
#: models.py:84
|
|
41
41
|
msgid "details"
|
|
42
42
|
msgstr ""
|
|
43
43
|
|
|
44
|
-
#: models.py:
|
|
44
|
+
#: models.py:85
|
|
45
45
|
msgid "Link to a page where the licence is detailed."
|
|
46
46
|
msgstr ""
|
|
47
47
|
|
|
48
|
-
#: models.py:
|
|
48
|
+
#: models.py:95
|
|
49
49
|
msgid "URL template using OSM tile format"
|
|
50
50
|
msgstr ""
|
|
51
51
|
|
|
52
|
-
#: models.py:
|
|
52
|
+
#: models.py:101
|
|
53
53
|
msgid "Order of the tilelayers in the edit box"
|
|
54
54
|
msgstr ""
|
|
55
55
|
|
|
56
|
-
#: models.py:
|
|
56
|
+
#: models.py:147 models.py:385
|
|
57
57
|
msgid "Everyone"
|
|
58
58
|
msgstr ""
|
|
59
59
|
|
|
60
|
-
#: models.py:
|
|
60
|
+
#: models.py:148 models.py:154 models.py:386
|
|
61
61
|
msgid "Editors only"
|
|
62
62
|
msgstr ""
|
|
63
63
|
|
|
64
|
-
#: models.py:
|
|
64
|
+
#: models.py:149 models.py:387
|
|
65
65
|
msgid "Owner only"
|
|
66
66
|
msgstr ""
|
|
67
67
|
|
|
68
|
-
#: models.py:
|
|
68
|
+
#: models.py:152
|
|
69
69
|
msgid "Everyone (public)"
|
|
70
70
|
msgstr ""
|
|
71
71
|
|
|
72
|
-
#: models.py:
|
|
72
|
+
#: models.py:153
|
|
73
73
|
msgid "Anyone with link"
|
|
74
74
|
msgstr ""
|
|
75
75
|
|
|
76
|
-
#: models.py:
|
|
76
|
+
#: models.py:155
|
|
77
77
|
msgid "Blocked"
|
|
78
78
|
msgstr ""
|
|
79
79
|
|
|
80
|
-
#: models.py:157 models.py:391
|
|
81
|
-
msgid "description"
|
|
82
|
-
msgstr ""
|
|
83
|
-
|
|
84
80
|
#: models.py:158
|
|
85
81
|
msgid "center"
|
|
86
82
|
msgstr ""
|
|
@@ -113,7 +109,7 @@ msgstr ""
|
|
|
113
109
|
msgid "editors"
|
|
114
110
|
msgstr ""
|
|
115
111
|
|
|
116
|
-
#: models.py:186 models.py:
|
|
112
|
+
#: models.py:186 models.py:408
|
|
117
113
|
msgid "edit status"
|
|
118
114
|
msgstr ""
|
|
119
115
|
|
|
@@ -121,19 +117,23 @@ msgstr ""
|
|
|
121
117
|
msgid "share status"
|
|
122
118
|
msgstr ""
|
|
123
119
|
|
|
124
|
-
#: models.py:194 models.py:
|
|
120
|
+
#: models.py:194 models.py:403
|
|
125
121
|
msgid "settings"
|
|
126
122
|
msgstr ""
|
|
127
123
|
|
|
128
|
-
#: models.py:
|
|
124
|
+
#: models.py:325
|
|
129
125
|
msgid "Clone of"
|
|
130
126
|
msgstr ""
|
|
131
127
|
|
|
132
|
-
#: models.py:
|
|
128
|
+
#: models.py:394
|
|
129
|
+
msgid "description"
|
|
130
|
+
msgstr ""
|
|
131
|
+
|
|
132
|
+
#: models.py:398
|
|
133
133
|
msgid "display on load"
|
|
134
134
|
msgstr ""
|
|
135
135
|
|
|
136
|
-
#: models.py:
|
|
136
|
+
#: models.py:399
|
|
137
137
|
msgid "Display this layer on load."
|
|
138
138
|
msgstr ""
|
|
139
139
|
|
|
@@ -345,37 +345,37 @@ msgstr ""
|
|
|
345
345
|
msgid "Clone"
|
|
346
346
|
msgstr ""
|
|
347
347
|
|
|
348
|
-
#: templates/umap/map_table.html:
|
|
348
|
+
#: templates/umap/map_table.html:77 templates/umap/map_table.html:79
|
|
349
349
|
msgid "Delete"
|
|
350
350
|
msgstr ""
|
|
351
351
|
|
|
352
|
-
#: templates/umap/map_table.html:
|
|
352
|
+
#: templates/umap/map_table.html:93
|
|
353
353
|
msgid "first"
|
|
354
354
|
msgstr ""
|
|
355
355
|
|
|
356
|
-
#: templates/umap/map_table.html:
|
|
356
|
+
#: templates/umap/map_table.html:94
|
|
357
357
|
msgid "previous"
|
|
358
358
|
msgstr ""
|
|
359
359
|
|
|
360
|
-
#: templates/umap/map_table.html:
|
|
360
|
+
#: templates/umap/map_table.html:102
|
|
361
361
|
#, python-format
|
|
362
362
|
msgid "Page %(maps_number)s of %(num_pages)s"
|
|
363
363
|
msgstr ""
|
|
364
364
|
|
|
365
|
-
#: templates/umap/map_table.html:
|
|
365
|
+
#: templates/umap/map_table.html:107
|
|
366
366
|
msgid "next"
|
|
367
367
|
msgstr ""
|
|
368
368
|
|
|
369
|
-
#: templates/umap/map_table.html:
|
|
369
|
+
#: templates/umap/map_table.html:108
|
|
370
370
|
msgid "last"
|
|
371
371
|
msgstr ""
|
|
372
372
|
|
|
373
|
-
#: templates/umap/map_table.html:
|
|
373
|
+
#: templates/umap/map_table.html:116
|
|
374
374
|
#, python-format
|
|
375
375
|
msgid "Lines per page: %(per_page)s"
|
|
376
376
|
msgstr ""
|
|
377
377
|
|
|
378
|
-
#: templates/umap/map_table.html:
|
|
378
|
+
#: templates/umap/map_table.html:121
|
|
379
379
|
#, python-format
|
|
380
380
|
msgid "%(count)s maps"
|
|
381
381
|
msgstr ""
|
|
@@ -542,10 +542,10 @@ msgstr ""
|
|
|
542
542
|
msgid "Congratulations, your map has been cloned!"
|
|
543
543
|
msgstr ""
|
|
544
544
|
|
|
545
|
-
#: views.py:
|
|
545
|
+
#: views.py:1146
|
|
546
546
|
msgid "Layer successfully deleted."
|
|
547
547
|
msgstr ""
|
|
548
548
|
|
|
549
|
-
#: views.py:
|
|
549
|
+
#: views.py:1168
|
|
550
550
|
msgid "Permissions updated with success!"
|
|
551
551
|
msgstr ""
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Generated by Django 5.0.2 on 2024-04-17 09:18
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
dependencies = [
|
|
8
|
+
("umap", "0019_migrate_internal_remote_datalayers"),
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
operations = [
|
|
12
|
+
migrations.AlterField(
|
|
13
|
+
model_name="tilelayer",
|
|
14
|
+
name="url_template",
|
|
15
|
+
field=models.CharField(
|
|
16
|
+
help_text="URL template using OSM tile format", max_length=400
|
|
17
|
+
),
|
|
18
|
+
),
|
|
19
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Generated by Django 5.0.4 on 2024-04-24 07:50
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
dependencies = [
|
|
8
|
+
("umap", "0020_alter_tilelayer_url_template"),
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
operations = [
|
|
12
|
+
migrations.RemoveField(
|
|
13
|
+
model_name="map",
|
|
14
|
+
name="description",
|
|
15
|
+
),
|
|
16
|
+
]
|
umap/models.py
CHANGED
|
@@ -92,7 +92,7 @@ class Licence(NamedModel):
|
|
|
92
92
|
|
|
93
93
|
class TileLayer(NamedModel):
|
|
94
94
|
url_template = models.CharField(
|
|
95
|
-
max_length=
|
|
95
|
+
max_length=400, help_text=_("URL template using OSM tile format")
|
|
96
96
|
)
|
|
97
97
|
minZoom = models.IntegerField(default=0)
|
|
98
98
|
maxZoom = models.IntegerField(default=18)
|
|
@@ -155,7 +155,6 @@ class Map(NamedModel):
|
|
|
155
155
|
(BLOCKED, _("Blocked")),
|
|
156
156
|
)
|
|
157
157
|
slug = models.SlugField(db_index=True)
|
|
158
|
-
description = models.TextField(blank=True, null=True, verbose_name=_("description"))
|
|
159
158
|
center = models.PointField(geography=True, verbose_name=_("center"))
|
|
160
159
|
zoom = models.IntegerField(default=7, verbose_name=_("zoom"))
|
|
161
160
|
locate = models.BooleanField(
|
|
@@ -198,6 +197,13 @@ class Map(NamedModel):
|
|
|
198
197
|
objects = models.Manager()
|
|
199
198
|
public = PublicManager()
|
|
200
199
|
|
|
200
|
+
@property
|
|
201
|
+
def description(self):
|
|
202
|
+
try:
|
|
203
|
+
return self.settings["properties"]["description"]
|
|
204
|
+
except KeyError:
|
|
205
|
+
return ""
|
|
206
|
+
|
|
201
207
|
@property
|
|
202
208
|
def preview_settings(self):
|
|
203
209
|
layers = self.datalayer_set.all()
|
|
@@ -213,13 +219,9 @@ class Map(NamedModel):
|
|
|
213
219
|
"STATIC_URL": settings.STATIC_URL,
|
|
214
220
|
"editMode": "disabled",
|
|
215
221
|
"hash": False,
|
|
216
|
-
"attributionControl": False,
|
|
217
222
|
"scrollWheelZoom": False,
|
|
218
|
-
"umapAttributionControl": False,
|
|
219
223
|
"noControl": True,
|
|
220
224
|
"umap_id": self.pk,
|
|
221
|
-
"onLoadPanel": "none",
|
|
222
|
-
"captionBar": False,
|
|
223
225
|
"schema": self.extra_schema,
|
|
224
226
|
"slideshow": {},
|
|
225
227
|
}
|
|
@@ -443,6 +445,8 @@ class DataLayer(NamedModel):
|
|
|
443
445
|
"name": self.name,
|
|
444
446
|
"displayOnLoad": self.display_on_load,
|
|
445
447
|
}
|
|
448
|
+
if self.old_id:
|
|
449
|
+
obj["old_id"] = self.old_id
|
|
446
450
|
obj["id"] = self.pk
|
|
447
451
|
obj["permissions"] = {"edit_status": self.edit_status}
|
|
448
452
|
obj["editMode"] = "advanced" if self.can_edit(user, request) else "disabled"
|
umap/settings/base.py
CHANGED
|
@@ -239,6 +239,7 @@ UMAP_EXTRA_URLS = {
|
|
|
239
239
|
"routing": "http://www.openstreetmap.org/directions?engine=osrm_car&route={lat},{lng}&locale={locale}#map={zoom}/{lat}/{lng}", # noqa
|
|
240
240
|
"ajax_proxy": "/ajax-proxy/?url={url}&ttl={ttl}",
|
|
241
241
|
"search": "https://photon.komoot.io/api/?",
|
|
242
|
+
"edit_in_osm": "https://www.openstreetmap.org/edit#map={zoom}/{lat}/{lng}",
|
|
242
243
|
}
|
|
243
244
|
UMAP_KEEP_VERSIONS = env.int("UMAP_KEEP_VERSIONS", default=10)
|
|
244
245
|
SITE_URL = env("SITE_URL", default="http://umap.org")
|
umap/static/umap/base.css
CHANGED
|
@@ -21,6 +21,9 @@ a {
|
|
|
21
21
|
text-decoration: none;
|
|
22
22
|
color: SeaGreen;
|
|
23
23
|
}
|
|
24
|
+
button {
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
}
|
|
24
27
|
hr {
|
|
25
28
|
clear: both;
|
|
26
29
|
width: 100%;
|
|
@@ -132,7 +135,7 @@ ul {
|
|
|
132
135
|
/* forms */
|
|
133
136
|
/* *********** */
|
|
134
137
|
input[type="text"], input[type="password"], input[type="date"],
|
|
135
|
-
input[type="datetime"], input[type="email"], input[type="number"],
|
|
138
|
+
input[type="datetime-local"], input[type="email"], input[type="number"],
|
|
136
139
|
input[type="search"], input[type="tel"], input[type="time"],
|
|
137
140
|
input[type="url"], textarea {
|
|
138
141
|
background-color: white;
|
|
@@ -160,6 +163,8 @@ input[type="checkbox"] {
|
|
|
160
163
|
textarea {
|
|
161
164
|
height: inherit;
|
|
162
165
|
padding: 7px;
|
|
166
|
+
min-height: 15rem;
|
|
167
|
+
min-height: 6rlh;
|
|
163
168
|
}
|
|
164
169
|
select {
|
|
165
170
|
border: 1px solid #222;
|
|
@@ -258,6 +263,9 @@ input[type="checkbox"] + label {
|
|
|
258
263
|
display: inline;
|
|
259
264
|
padding: 0 14px;
|
|
260
265
|
}
|
|
266
|
+
label input[type="radio"] {
|
|
267
|
+
margin-right: 10px;
|
|
268
|
+
}
|
|
261
269
|
select + .error,
|
|
262
270
|
input + .error {
|
|
263
271
|
display: block;
|
|
@@ -273,12 +281,23 @@ input + .error {
|
|
|
273
281
|
input[type="file"] + .error {
|
|
274
282
|
margin-top: 0;
|
|
275
283
|
}
|
|
284
|
+
input:invalid {
|
|
285
|
+
border-color: red;
|
|
286
|
+
background-color: darkred;
|
|
287
|
+
}
|
|
288
|
+
.dark input, .dark textarea {
|
|
289
|
+
background-color: #232729;
|
|
290
|
+
border-color: #1b1f20;
|
|
291
|
+
color: #efefef;
|
|
292
|
+
}
|
|
276
293
|
.fieldset {
|
|
277
|
-
border: 1px solid #222;
|
|
278
294
|
margin-bottom: 5px;
|
|
279
295
|
border-top-left-radius: 4px;
|
|
280
296
|
border-top-right-radius: 4px;
|
|
281
297
|
}
|
|
298
|
+
.dark .fieldset {
|
|
299
|
+
border: 1px solid #222;
|
|
300
|
+
}
|
|
282
301
|
.fieldset .fields {
|
|
283
302
|
visibility: hidden;
|
|
284
303
|
opacity: 0;
|
|
@@ -296,7 +315,7 @@ input[type="file"] + .error {
|
|
|
296
315
|
text-align: left;
|
|
297
316
|
display: block;
|
|
298
317
|
cursor: pointer;
|
|
299
|
-
background-color:
|
|
318
|
+
background-color: var(--color-lightGray);
|
|
300
319
|
height: 30px;
|
|
301
320
|
line-height: 30px;
|
|
302
321
|
margin: 0;
|
|
@@ -327,6 +346,11 @@ input[type="file"] + .error {
|
|
|
327
346
|
.fieldset.toggle.on .legend:before {
|
|
328
347
|
background-position: -144px -51px;
|
|
329
348
|
}
|
|
349
|
+
fieldset legend {
|
|
350
|
+
font-size: 1.1rem;
|
|
351
|
+
padding: 0 5px;
|
|
352
|
+
}
|
|
353
|
+
|
|
330
354
|
/* Switch */
|
|
331
355
|
input.switch:empty {
|
|
332
356
|
display: none;
|
|
@@ -528,7 +552,7 @@ i.info {
|
|
|
528
552
|
background-position: -150px -78px;
|
|
529
553
|
}
|
|
530
554
|
.umap-delete:before {
|
|
531
|
-
background-position: -
|
|
555
|
+
background-position: -32px -8px;
|
|
532
556
|
}
|
|
533
557
|
.umap-edit:before {
|
|
534
558
|
background-position: -6px -6px;
|
|
@@ -542,12 +566,10 @@ i.info {
|
|
|
542
566
|
.permissions-panel,
|
|
543
567
|
.umap-upload,
|
|
544
568
|
.umap-share,
|
|
545
|
-
.umap-edit-container,
|
|
546
569
|
.umap-datalayer-container,
|
|
547
570
|
.umap-layer-properties-container,
|
|
548
571
|
.umap-browse-data,
|
|
549
572
|
.umap-facet-search,
|
|
550
|
-
.umap-browse-datalayers,
|
|
551
573
|
.umap-tilelayer-switcher-container {
|
|
552
574
|
padding: 0 10px;
|
|
553
575
|
}
|
|
@@ -558,20 +580,29 @@ i.info {
|
|
|
558
580
|
margin-top: -8px;
|
|
559
581
|
padding: 0 5px;
|
|
560
582
|
}
|
|
561
|
-
.
|
|
583
|
+
.flat-tabs {
|
|
562
584
|
display: flex;
|
|
563
585
|
justify-content: space-around;
|
|
564
586
|
font-size: 1.2em;
|
|
565
|
-
|
|
587
|
+
margin-bottom: 20px;
|
|
588
|
+
border-bottom: 1px solid #bebebe;
|
|
566
589
|
}
|
|
567
|
-
.
|
|
590
|
+
.flat-tabs button {
|
|
568
591
|
padding: 10px;
|
|
569
|
-
color: #fff;
|
|
570
592
|
text-decoration: none;
|
|
571
593
|
cursor: pointer;
|
|
594
|
+
border-bottom: 1px solid transparent;
|
|
572
595
|
}
|
|
573
|
-
.
|
|
596
|
+
.flat-tabs button:hover,
|
|
597
|
+
.flat-tabs .on {
|
|
574
598
|
font-weight: bold;
|
|
599
|
+
border-bottom: 1px solid #444;
|
|
600
|
+
}
|
|
601
|
+
.dark .flat-tabs button {
|
|
602
|
+
color: #fff;
|
|
603
|
+
}
|
|
604
|
+
.dark .flat-tabs button:hover,
|
|
605
|
+
.dark .flat-tabs .on {
|
|
575
606
|
border-bottom: 1px solid #fff;
|
|
576
607
|
}
|
|
577
608
|
.umap-pictogram-category h6 {
|
|
@@ -663,7 +694,7 @@ input[type=hidden].blur + [type="button"] {
|
|
|
663
694
|
.copiable-input button {
|
|
664
695
|
background-repeat: no-repeat;
|
|
665
696
|
background-image: url('./img/16.svg');
|
|
666
|
-
background-position: -
|
|
697
|
+
background-position: -141px -140px;
|
|
667
698
|
display: inline;
|
|
668
699
|
padding: 0 10px;
|
|
669
700
|
height: 32px;
|
|
@@ -678,105 +709,10 @@ input[type=hidden].blur + [type="button"] {
|
|
|
678
709
|
.leaflet-ui-container {
|
|
679
710
|
overflow-x: hidden;
|
|
680
711
|
}
|
|
681
|
-
#umap-ui-container {
|
|
682
|
-
/* Added for playwright to consider the element as non visible */
|
|
683
|
-
/* as being out of the visible viewport is not enough */
|
|
684
|
-
visibility: hidden;
|
|
685
|
-
position: absolute;
|
|
686
|
-
bottom: 0;
|
|
687
|
-
padding: 0 10px;
|
|
688
|
-
border-left: 1px solid var(--color-lightGray);
|
|
689
|
-
overflow-x: auto;
|
|
690
|
-
z-index: 1010;
|
|
691
|
-
background-color: #fff;
|
|
692
|
-
opacity: 0.98;
|
|
693
|
-
cursor: initial;
|
|
694
|
-
}
|
|
695
|
-
#umap-ui-container.login-panel {
|
|
696
|
-
position: fixed; /* Should not scroll when used in content pages (like home page) */
|
|
697
|
-
z-index: 1011; /* Above a map panel if any */
|
|
698
|
-
}
|
|
699
|
-
#umap-ui-container.dark {
|
|
700
|
-
border-left: 1px solid #222;
|
|
701
|
-
background-color: var(--color-darkGray);
|
|
702
|
-
color: #efefef;
|
|
703
|
-
}
|
|
704
|
-
#umap-ui-container.fullwidth {
|
|
705
|
-
width: 100%;
|
|
706
|
-
right: -100%;
|
|
707
|
-
z-index: 10000;
|
|
708
|
-
padding-left: 0;
|
|
709
|
-
padding-right: 0;
|
|
710
|
-
}
|
|
711
|
-
.umap-caption-bar-enabled #umap-ui-container {
|
|
712
|
-
bottom: 46px;
|
|
713
|
-
}
|
|
714
712
|
.leaflet-top,
|
|
715
713
|
.leaflet-right {
|
|
716
714
|
transition: all .7s;
|
|
717
715
|
}
|
|
718
|
-
.umap-ui .leaflet-right {
|
|
719
|
-
right: 400px;
|
|
720
|
-
}
|
|
721
|
-
#umap-ui-container,
|
|
722
|
-
#umap-alert-container,
|
|
723
|
-
#umap-tooltip-container {
|
|
724
|
-
-moz-box-sizing:border-box;
|
|
725
|
-
-webkit-box-sizing:border-box;
|
|
726
|
-
box-sizing: border-box;
|
|
727
|
-
}
|
|
728
|
-
#umap-ui-container .umap-popup-content img {
|
|
729
|
-
/* See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 */
|
|
730
|
-
max-width: 99% !important;
|
|
731
|
-
}
|
|
732
|
-
#umap-ui-container .umap-popup-content {
|
|
733
|
-
max-height: inherit;
|
|
734
|
-
}
|
|
735
|
-
#umap-ui-container .body {
|
|
736
|
-
clear: both;
|
|
737
|
-
height: calc(100% - 54px); /* Minus size of toolbox */
|
|
738
|
-
}
|
|
739
|
-
#umap-ui-container .toolbox {
|
|
740
|
-
padding: 5px 10px;
|
|
741
|
-
overflow: hidden;
|
|
742
|
-
display: flex;
|
|
743
|
-
flex-direction: row-reverse;
|
|
744
|
-
font-size: 10px;
|
|
745
|
-
justify-content: flex-start;
|
|
746
|
-
gap: 5px;
|
|
747
|
-
}
|
|
748
|
-
#umap-ui-container .toolbox li {
|
|
749
|
-
color: #2e3436;
|
|
750
|
-
line-height: 32px;
|
|
751
|
-
cursor: pointer;
|
|
752
|
-
float: right;
|
|
753
|
-
display: inline;
|
|
754
|
-
padding: 0 7px;
|
|
755
|
-
border: 1px solid #b6b6b3;
|
|
756
|
-
border-radius: 2px;
|
|
757
|
-
}
|
|
758
|
-
#umap-ui-container.dark .toolbox li {
|
|
759
|
-
color: #d3dfeb;
|
|
760
|
-
border: 1px solid #202425;
|
|
761
|
-
}
|
|
762
|
-
#umap-ui-container .toolbox li:hover {
|
|
763
|
-
color: #2e3436;
|
|
764
|
-
background-color: #d4d4d2;
|
|
765
|
-
}
|
|
766
|
-
#umap-ui-container.dark .toolbox li:hover {
|
|
767
|
-
color: #eeeeec;
|
|
768
|
-
background-color: #353c3e;
|
|
769
|
-
}
|
|
770
|
-
.dark input, .dark textarea {
|
|
771
|
-
background-color: #232729;
|
|
772
|
-
border-color: #1b1f20;
|
|
773
|
-
/*box-shadow: inset 0 0 0 1px #215d9c;*/
|
|
774
|
-
color: #efefef;
|
|
775
|
-
}
|
|
776
|
-
input:invalid {
|
|
777
|
-
border-color: red;
|
|
778
|
-
background-color: darkred;
|
|
779
|
-
}
|
|
780
716
|
|
|
781
717
|
|
|
782
718
|
/* *********** */
|
|
@@ -897,27 +833,6 @@ input:invalid {
|
|
|
897
833
|
/* *********** */
|
|
898
834
|
/* Close link */
|
|
899
835
|
/* *********** */
|
|
900
|
-
.umap-close-icon {
|
|
901
|
-
background-repeat: no-repeat;
|
|
902
|
-
background-image: url('./img/16.svg');
|
|
903
|
-
background-position: -28px -6px;
|
|
904
|
-
display: inline;
|
|
905
|
-
padding: 0 10px;
|
|
906
|
-
vertical-align: middle;
|
|
907
|
-
}
|
|
908
|
-
.dark .umap-close-icon {
|
|
909
|
-
background-image: url('./img/16-white.svg');
|
|
910
|
-
}
|
|
911
|
-
.dark .umap-close-link {
|
|
912
|
-
border: 1px solid #202425;
|
|
913
|
-
color: #eeeeec;
|
|
914
|
-
padding: 0 7px;
|
|
915
|
-
line-height: 32px;
|
|
916
|
-
background-color: var(--color-darkGray);
|
|
917
|
-
}
|
|
918
|
-
.dark .umap-close-link:hover {
|
|
919
|
-
background-color: #2e3436;
|
|
920
|
-
}
|
|
921
836
|
#umap-alert-container .umap-close-link {
|
|
922
837
|
color: #fff;
|
|
923
838
|
float: right;
|
|
@@ -962,35 +877,7 @@ input:invalid {
|
|
|
962
877
|
/* *********** */
|
|
963
878
|
/* Mobile */
|
|
964
879
|
/* *********** */
|
|
965
|
-
@media all and (orientation:landscape) {
|
|
966
|
-
.umap-edit-enabled #umap-ui-container {
|
|
967
|
-
top: 46px;
|
|
968
|
-
}
|
|
969
|
-
#umap-ui-container {
|
|
970
|
-
width: 400px;
|
|
971
|
-
right: -400px;
|
|
972
|
-
top: 0;
|
|
973
|
-
}
|
|
974
|
-
.umap-ui #umap-ui-container {
|
|
975
|
-
right: 0;
|
|
976
|
-
visibility: visible;
|
|
977
|
-
}
|
|
978
|
-
}
|
|
979
880
|
@media all and (orientation:portrait) {
|
|
980
|
-
#umap-ui-container {
|
|
981
|
-
height: 50%;
|
|
982
|
-
max-height: 400px;
|
|
983
|
-
width: 100%;
|
|
984
|
-
bottom: 0;
|
|
985
|
-
right: -100%;
|
|
986
|
-
}
|
|
987
|
-
.umap-ui #umap-ui-container {
|
|
988
|
-
right: 0;
|
|
989
|
-
visibility: visible;
|
|
990
|
-
}
|
|
991
|
-
.umap-ui .leaflet-right {
|
|
992
|
-
right: 0;
|
|
993
|
-
}
|
|
994
881
|
#umap-alert-container {
|
|
995
882
|
width: 100%;
|
|
996
883
|
left: 0;
|
umap/static/umap/content.css
CHANGED
|
@@ -17,22 +17,6 @@ input:-moz-placeholder, :-moz-placeholder {
|
|
|
17
17
|
color: #a5a5a5;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
#umap-ui-container textarea {
|
|
21
|
-
height: 100px;
|
|
22
|
-
margin-bottom: 14px;
|
|
23
|
-
}
|
|
24
|
-
#umap-ui-container select {
|
|
25
|
-
margin-bottom: 10px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
#umap-ui-container.warning .button {
|
|
29
|
-
background-color: #c60f13;
|
|
30
|
-
border: 1px solid #7f0a0c;
|
|
31
|
-
}
|
|
32
|
-
#umap-ui-container.warning .button:hover {
|
|
33
|
-
background-color: #970b0e;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
20
|
|
|
37
21
|
/* **************** */
|
|
38
22
|
/* Login icons */
|
|
@@ -194,9 +178,6 @@ h2.tabs a:hover {
|
|
|
194
178
|
color: #efefef;
|
|
195
179
|
text-decoration: underline;
|
|
196
180
|
}
|
|
197
|
-
body.content #umap-ui-container {
|
|
198
|
-
background-color: #fff;
|
|
199
|
-
}
|
|
200
181
|
|
|
201
182
|
|
|
202
183
|
/* **************************** */
|
|
@@ -356,23 +337,24 @@ ul.umap-autocomplete {
|
|
|
356
337
|
height: 36px;
|
|
357
338
|
width: 36px;
|
|
358
339
|
margin: 3px;
|
|
340
|
+
background-position: initial;
|
|
359
341
|
}
|
|
360
|
-
.icon-view {
|
|
342
|
+
.content .icon-view {
|
|
361
343
|
background-image: url('./img/icon-view.svg');
|
|
362
344
|
}
|
|
363
|
-
.icon-share {
|
|
345
|
+
.content .icon-share {
|
|
364
346
|
background-image: url('./img/icon-share.svg');
|
|
365
347
|
}
|
|
366
|
-
.icon-edit {
|
|
348
|
+
.content .icon-edit {
|
|
367
349
|
background-image: url('./img/icon-edit.svg');
|
|
368
350
|
}
|
|
369
|
-
.icon-download {
|
|
351
|
+
.content .icon-download {
|
|
370
352
|
background-image: url('./img/icon-download.svg');
|
|
371
353
|
}
|
|
372
|
-
.icon-duplicate {
|
|
354
|
+
.content .icon-duplicate {
|
|
373
355
|
background-image: url('./img/icon-duplicate.svg');
|
|
374
356
|
}
|
|
375
|
-
.icon-delete {
|
|
357
|
+
.content .icon-delete {
|
|
376
358
|
background-image: url('./img/icon-delete.svg');
|
|
377
359
|
}
|
|
378
360
|
.table-header {
|