Skip to content

Commit 57d687a

Browse files
committed
fix deployment and custom app settings
1 parent db4814c commit 57d687a

File tree

10 files changed

+121
-72
lines changed

10 files changed

+121
-72
lines changed

.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SCHEME_EXTERNAL=http
2-
#HOST_EXTERNAL=172.20.0.1
3-
HOST_EXTERNAL=localhost
2+
HOST_EXTERNAL = 172.25.193.89 # ping host.docker.internal
3+
#HOST_EXTERNAL=localhost
44
POSTGRES_PORT_EXTERNAL=5435
55
WEBAPP_PORT_EXTERNAL=9889
66
POSTGRES_SERVER_EXTERNAL=${HOST_EXTERNAL}:${POSTGRES_PORT_EXTERNAL}

build_nginx/Dockerfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM nginx:latest
2+
ENV PYTHONDONTWRITEBYTECODE=1
3+
ENV PYTHONUNBUFFERED=1
4+
ENV HTTPS_PROXY=http://172.20.0.252:3128
5+
ENV HTTP_PROXY=http://172.20.0.252:3128
6+
7+
RUN apt-get update
8+
#RUN apt-get install -y openssl
9+
10+
ARG DEBIAN_FRONTEND=noninteractive
11+
ENV TZ=Etc/UTC
12+
13+
RUN apt-get -y install tzdata
14+
RUN apt-get install -y iputils-ping
15+
RUN apt-get install -y wget
16+
17+
COPY --chmod=755 docker-entrypoint.sh /
18+
ENTRYPOINT ["/docker-entrypoint.sh"]
19+
CMD ["nginx", "-g", "daemon off;"]

build_nginx/docker-entrypoint.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env sh
2+
if [ -e /etc/nginx/conf.d/default.conf.template ]
3+
then
4+
set -eu
5+
# ${HOST_EXTERNAL} ${WEBAPP_PORT_EXTERNAL} ${WEBAPP_EXTERNAL} ${QGIS_SERVER_EXTERNAL}
6+
#envsubst '${SITE_SUBPATH}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf
7+
8+
cat /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf
9+
10+
cat /etc/nginx/conf.d/default.conf
11+
12+
exec "$@"
13+
14+
else
15+
echo "no template!"
16+
fi

djakart/admin.py

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def wrapper(modeladmin, request, obj, **kwargs):
182182
"conflicts": json.dumps(conflicts),
183183
"crs": obj.crs,
184184
"crscode": obj.crs.split(":")[-1],
185-
"root_wms":settings.DJAKART_QGIS_SERVER_EXTERNAL + '?MAP=/kart_versions/',
185+
"root_wms":settings.DJAKART_QGIS_SERVER_EXTERNAL + '?MAP=' + settings.DJAKART_REPO,
186186
"base_name":obj.nome,
187187
"version_name":version_name,
188188
"version_id": obj.pk,
@@ -236,29 +236,29 @@ def get_fieldsets(self, request, obj=None):
236236
if obj.base:
237237
return (
238238
("intestazione", {
239-
'classes': ('grp-collapse grp-open',),
240-
'fields': ('nome', ('base','merged','clean',),'note','get_project','mapping_service_url',('referente','riservato'),'mapa',('crs','extent','apply_map_extent'))
239+
'classes': ('collapse', 'expand-first',),
240+
'fields': ('nome', ('base','merged','clean',),'note','progetto','get_project','mapping_service_url',('referente','riservato'),'mapa',('crs','extent','apply_map_extent'))
241241
}),
242242
("rapporti", {
243-
'classes': ('grp-collapse grp-open',),
243+
'classes': ('collapse', 'expand-first',),
244244
'fields': ('status', 'base_diff', 'log',)
245245
}),
246246
)
247247
else:
248248
return (
249249
("intestazione", {
250-
'classes': ('grp-collapse grp-open',),
250+
'classes': ('collapse', 'expand-first',),
251251
'fields': ('nome', ('base','merged','clean',),'reserved_ids','template_qgis','note','get_project','mapping_service_url',('referente','riservato'),'mapa',('crs','extent','apply_map_extent'))
252252
}),
253253
("rapporti", {
254-
'classes': ('grp-collapse grp-open',),
254+
'classes': ('collapse', 'expand-first',),
255255
'fields': ('status', 'base_diff', 'log',)
256256
}),
257257
)
258258
else:
259259
return (
260260
("intestazione", {
261-
'classes': ('grp-collapse grp-open',),
261+
'classes': ('collapse', 'expand-first',),
262262
'fields': ('nome', 'base','reserved_ids','template_qgis','crs','note','referente','riservato')
263263
}),
264264
)
@@ -494,7 +494,7 @@ def restore(self, request, obj):
494494
def rigen_local_gpkg(self,obj):
495495
if not obj.base:
496496
target_name = obj.nome+"_export"
497-
target_path = os.path.join('/kart_versions', target_name) #settings.MEDIA_ROOT,
497+
target_path = os.path.join(settings.DJAKART_REPO, target_name) #settings.MEDIA_ROOT,
498498
gpkg_path = os.path.join(target_path, target_name + ".gpkg")
499499
if os.path.exists(target_path):
500500
shutil.rmtree(target_path)
@@ -530,7 +530,29 @@ def has_add_permission(self, request, obj=None):
530530
return False
531531

532532
admin.site.register(modelli, templateAdmin)
533-
admin.site.register(basemap)
533+
534+
535+
536+
class basemapAdmin(DjangoObjectActions, admin.GISModelAdmin):
537+
538+
model = basemap
539+
exclude = []
540+
changelist_actions = [
541+
'add_openstreetmap',
542+
]
543+
544+
def add_openstreetmap(self, request, obj):
545+
osm = basemap.objects.filter(name="OpenStreetMap")
546+
if not osm:
547+
osm = basemap()
548+
osm.name = "OpenStreetMap"
549+
osm.oltype = "XYZ"
550+
osm.srid = "EPSG:3857"
551+
osm.url = "http://a.tile.openstreetmap.org/{z}/{x}/{y}.png"
552+
osm.save()
553+
return HttpResponseRedirect("/admin/djakart/basemap/")
554+
555+
admin.site.register(basemap, basemapAdmin)
534556

535557
admin.site.site_title = 'Djakart administration'
536558
admin.site.site_header = 'Djakart'

djakart/kart_api.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def elimina_pg_schema(versione):
219219
return None
220220

221221
def crea_nuovo_repository(repo_name,bare=True,readonly_workingcopy=None):
222-
repo_path = os.path.join(settings.KART_REPO,repo_name)
222+
repo_path = os.path.join(settings.DJAKART_REPO,repo_name)
223223
cmds = ["init", repo_path]
224224
if readonly_workingcopy:
225225
crea_pg_schema(readonly_workingcopy, readonly=True)
@@ -240,14 +240,14 @@ def crea_nuovo_repository(repo_name,bare=True,readonly_workingcopy=None):
240240

241241

242242
def get_config(v,key):
243-
v_path = os.path.join(settings.KART_REPO,v)
243+
v_path = os.path.join(settings.DJAKART_REPO,v)
244244
res = executeCmd(["--repo",v_path,"config", "--get", 'key'])
245245
return res
246246

247247

248248
def crea_nuova_versione(nuova_versione,base,tipo="pg",riserva_id=100):
249-
nuova_versione_path = os.path.join(settings.KART_REPO,nuova_versione)
250-
master_path = os.path.join(settings.KART_REPO,base)
249+
nuova_versione_path = os.path.join(settings.DJAKART_REPO,nuova_versione)
250+
master_path = os.path.join(settings.DJAKART_REPO,base)
251251
if tipo == 'pg':
252252
crea_pg_schema(nuova_versione)
253253
uri = get_pg_uri(nuova_versione)
@@ -278,7 +278,7 @@ def get_pg_uri(v):
278278

279279

280280
def create_workingcopy(v, uri=None, force=False):
281-
v_path = os.path.join(settings.KART_REPO,v)
281+
v_path = os.path.join(settings.DJAKART_REPO,v)
282282
cmds = ["--repo",v_path,"create-workingcopy"]
283283
if force:
284284
cmds.append('--delete-existing')
@@ -290,7 +290,7 @@ def create_workingcopy(v, uri=None, force=False):
290290

291291

292292
def merge_versione(versione, abort=False, confirm=False):
293-
versione_path = os.path.join(settings.KART_REPO,versione)
293+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
294294
if os.path.exists(versione_path):
295295
#clone master
296296
#commit_versione(versione, '"merge %s"' % versione)
@@ -315,13 +315,13 @@ def merge_versione(versione, abort=False, confirm=False):
315315

316316

317317
def clone_versione(versione, target):
318-
versione_path = os.path.join(settings.KART_REPO,versione)
318+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
319319
if os.path.exists(versione_path):
320320
clone_cmd = executeCmd(["clone", versione_path, target])
321321

322322

323323
def config_user_versione(versione, username, useremail):
324-
versione_path = os.path.join(settings.KART_REPO,versione)
324+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
325325
if os.path.exists(versione_path):
326326
setuser = kart_cmd(versione_path, ["config", "user.name", username])
327327
setmail = kart_cmd(versione_path, ["config", "user.email", useremail])
@@ -343,21 +343,21 @@ def aggiorna_riferimenti(versione):
343343

344344

345345
def pull_versione(versione):
346-
versione_path = os.path.join(settings.KART_REPO,versione)
346+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
347347
#master_path = get_remote(versione)
348348
if os.path.exists(versione_path):
349349
push_cmd = executeCmd(["--repo", versione_path, "pull", "origin"])
350350

351351

352352
def kart_cmd(versione,args):
353-
versione_path = os.path.join(settings.KART_REPO,versione)
353+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
354354
if os.path.exists(versione_path):
355355
kart_cmd = executeCmd(["--repo", versione_path] + args)
356356
return kart_cmd
357357

358358

359359
def importa_dataset(versione,ds_path,max_extent=None):
360-
versione_path = os.path.join(settings.KART_REPO, versione)
360+
versione_path = os.path.join(settings.DJAKART_REPO, versione)
361361
print ("versione_path", versione_path)
362362
if os.path.exists(versione_path):
363363
if not max_extent:
@@ -392,14 +392,14 @@ def importa_dataset(versione,ds_path,max_extent=None):
392392

393393

394394
def commit_versione(versione, messaggio):
395-
versione_path = os.path.join(settings.KART_REPO,versione)
395+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
396396
if os.path.exists(versione_path):
397397
#recover_uncommitted_nulls(versione) #necessario per evitare successive exceptions di kart
398398
commit_cmd = executeCmd(["--repo", versione_path, "commit", "-m", messaggio])
399399

400400

401401
def elimina_versione(canc_versione):
402-
canc_versione_path = os.path.join(settings.KART_REPO,canc_versione)
402+
canc_versione_path = os.path.join(settings.DJAKART_REPO,canc_versione)
403403
pgschema = elimina_pg_schema(canc_versione)
404404
if os.path.exists(canc_versione_path):
405405
#clone master
@@ -410,7 +410,7 @@ def elimina_versione(canc_versione):
410410

411411

412412
def undo_commit_versione(versione, force=None):
413-
versione_path = os.path.join(settings.KART_REPO,versione)
413+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
414414
if os.path.exists(versione_path):
415415
jlog = log_versione(versione,jsonoutput=True)
416416
hash = jlog[1]["commit"]
@@ -422,14 +422,14 @@ def undo_commit_versione(versione, force=None):
422422

423423

424424
def restore_versione(versione):
425-
versione_path = os.path.join(settings.KART_REPO,versione)
425+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
426426
if os.path.exists(versione_path):
427427
cmd = executeCmd(["--repo",versione_path,"restore"])
428428
return cmd
429429

430430

431431
def status_versione(versione, as_json=False):
432-
versione_path = os.path.join(settings.KART_REPO,versione)
432+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
433433
if os.path.exists(versione_path):
434434
try:
435435
params = ["--repo",versione_path,"status"]
@@ -444,15 +444,15 @@ def status_versione(versione, as_json=False):
444444

445445

446446
def show_versione(versione, jsonoutput=False):
447-
versione_path = os.path.join(settings.KART_REPO,versione)
447+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
448448
if os.path.exists(versione_path):
449449
cmd = executeCmd(["--repo",versione_path,"show"], jsonoutput=jsonoutput)
450450
merged_list = cmd.replace("* ","").replace(" ","").split("\n")
451451
return merged_list
452452

453453

454454
def merged_list_versione(versione):
455-
versione_path = os.path.join(settings.KART_REPO,versione)
455+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
456456
if os.path.exists(versione_path):
457457
try:
458458
cmd = executeCmd(["--repo",versione_path,"branch","--merged"], jsonoutput=False)
@@ -463,7 +463,7 @@ def merged_list_versione(versione):
463463

464464

465465
def log_versione(versione, jsonoutput=False):
466-
versione_path = os.path.join(settings.KART_REPO,versione)
466+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
467467
if os.path.exists(versione_path):
468468
cmd = executeCmd(["--repo",versione_path,"log"], jsonoutput=jsonoutput)
469469
return cmd
@@ -477,7 +477,7 @@ def _diff_view(crs,extent):
477477

478478

479479
def genera_diff_versione(versione, hash=None, prev=None, crs=SRID, extent=[0,0,0,0], format='html'):
480-
versione_path = os.path.join(settings.KART_REPO,versione)
480+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
481481
if os.path.exists(versione_path):
482482
jlog = log_versione(versione,jsonoutput=True)
483483
commit = list(filter(lambda target: target["commit"] == hash, jlog))
@@ -496,7 +496,7 @@ def genera_diff_versione(versione, hash=None, prev=None, crs=SRID, extent=[0,0,0
496496

497497

498498
def conflitti_versione(versione, crs=SRID):
499-
versione_path = os.path.join(settings.KART_REPO,versione)
499+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
500500
if os.path.exists(versione_path):
501501
conflicts_dir = os.path.join(versione_path,'conflicts')
502502
cmd = executeCmd(["--repo",versione_path,"conflicts", "--crs", crs,"-o","geojson","--output",conflicts_dir])
@@ -514,14 +514,14 @@ def conflitti_versione(versione, crs=SRID):
514514

515515

516516
def resolve_conflitto(versione, tag_conflitto, risoluzione):
517-
versione_path = os.path.join(settings.KART_REPO,versione)
517+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
518518
if os.path.exists(versione_path):
519519
cmd = executeCmd(["--repo",versione_path,"resolve","--with",risoluzione,tag_conflitto])
520520
return cmd
521521

522522

523523
def get_remote(versione, remote="origin", method='push'):
524-
versione_path = os.path.join(settings.KART_REPO,versione)
524+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
525525
if os.path.exists(versione_path):
526526
cmd = executeCmd(["--repo",versione_path,"remote","-v"])
527527
if cmd:
@@ -531,7 +531,7 @@ def get_remote(versione, remote="origin", method='push'):
531531

532532

533533
def list_versioned_tables(versione):
534-
versione_path = os.path.join(settings.KART_REPO,versione.replace("_pub",""))
534+
versione_path = os.path.join(settings.DJAKART_REPO,versione.replace("_pub",""))
535535
if os.path.exists(versione_path):
536536
cmd = executeCmd(["--repo",versione_path,"data","ls"])
537537
ds_list = cmd.split("\n")
@@ -544,7 +544,7 @@ def prevent_conflicts_on_ids(versione):
544544
stepoverseq = ""
545545

546546
def geo_tables(versione):
547-
versione_path = os.path.join(settings.KART_REPO,versione)
547+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
548548
if os.path.exists(versione_path):
549549
geom_tables = []
550550
for tab in list_versioned_tables(versione):
@@ -559,7 +559,7 @@ def geo_tables(versione):
559559

560560

561561
def get_metadata(versione,tab):
562-
versione_path = os.path.join(settings.KART_REPO,versione)
562+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
563563
if os.path.exists(versione_path):
564564
try:
565565
cmd = executeCmd(["--repo",versione_path,"meta","get",tab,"-o","json"])
@@ -569,7 +569,7 @@ def get_metadata(versione,tab):
569569

570570

571571
def get_schema(versione,tab,**kwargs):
572-
versione_path = os.path.join(settings.KART_REPO,versione)
572+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
573573
if os.path.exists(versione_path):
574574
metadata = get_metadata(versione,tab)
575575
schema = {}
@@ -584,7 +584,7 @@ def get_schema(versione,tab,**kwargs):
584584

585585

586586
def recover_uncommitted_nulls(versione):
587-
versione_path = os.path.join(settings.KART_REPO,versione)
587+
versione_path = os.path.join(settings.DJAKART_REPO,versione)
588588
if os.path.exists(versione_path):
589589
cmd = kart_cmd(versione,['diff','-o','json'])
590590
uncommitted_diff = json.loads(cmd)

0 commit comments

Comments
 (0)