29
29
# get internal QGIS server URL from ENV
30
30
baseUrl = os .environ .get ('QGIS_SERVER_URL' , 'http://localhost/wms' ).rstrip ('/' ) + '/'
31
31
qwc2_path = os .environ .get ("QWC2_PATH" , "qwc2" ).rstrip ("/" )
32
- themesConfig = os .environ .get ("QWC2_THEMES_CONFIG" , "themesConfig.json" )
33
32
34
33
# load thumbnail from file or GetMap
35
34
def getThumbnail (configItem , resultItem , layers , crs , extent ):
@@ -77,7 +76,7 @@ def getThumbnail(configItem, resultItem, layers, crs, extent):
77
76
resultItem ["thumbnail" ] = "img/mapthumbs/default.jpg"
78
77
traceback .print_exc ()
79
78
80
- def getEditConfig (editConfig ):
79
+ def getEditConfig (editConfig , themesConfig ):
81
80
if not editConfig :
82
81
return None
83
82
elif os .path .isabs (editConfig ) and os .path .exists (editConfig ):
@@ -276,7 +275,7 @@ def themesConfigMTime():
276
275
return - 1
277
276
278
277
# parse GetCapabilities for theme
279
- def getTheme (config , permissions , configItem , result , resultItem , project_settings_cache ):
278
+ def getTheme (config , permissions , configItem , result , resultItem , project_settings_cache , themesConfig ):
280
279
281
280
project_permissions = permissions .get (wmsName (configItem ["url" ])) if permissions is not None else None
282
281
if not project_permissions :
@@ -536,7 +535,7 @@ def getTheme(config, permissions, configItem, result, resultItem, project_settin
536
535
if project_permissions .get ('edit_config' ):
537
536
# edit config from permissions
538
537
resultItem ["editConfig" ] = project_permissions .get ('edit_config' )
539
- externalConfig = getEditConfig (configItem .get ("editConfig" , None ))
538
+ externalConfig = getEditConfig (configItem .get ("editConfig" , None ), themesConfig )
540
539
if externalConfig :
541
540
for layer in externalConfig :
542
541
form = externalConfig [layer ].get ("form" , None )
@@ -545,7 +544,7 @@ def getTheme(config, permissions, configItem, result, resultItem, project_settin
545
544
resultItem ["editConfig" ][layer ] = externalConfig [layer ]
546
545
else :
547
546
# get edit config from referenced JSON
548
- resultItem ["editConfig" ] = getEditConfig (configItem ["editConfig" ] if "editConfig" in configItem else None )
547
+ resultItem ["editConfig" ] = getEditConfig (configItem ["editConfig" ] if "editConfig" in configItem else None , themesConfig )
549
548
550
549
# set default theme
551
550
if configItem .get ('default' , False ) or not result ["themes" ]["defaultTheme" ]:
@@ -571,10 +570,10 @@ def getTheme(config, permissions, configItem, result, resultItem, project_settin
571
570
572
571
573
572
# recursively get themes for groups
574
- def getGroupThemes (config , permissions , configGroup , result , resultGroup , project_settings_cache , groupCounter ):
573
+ def getGroupThemes (config , permissions , configGroup , result , resultGroup , project_settings_cache , groupCounter , themesConfig ):
575
574
for item in configGroup ["items" ]:
576
575
itemEntry = {}
577
- getTheme (config , permissions , item , result , itemEntry , project_settings_cache )
576
+ getTheme (config , permissions , item , result , itemEntry , project_settings_cache , themesConfig )
578
577
if itemEntry :
579
578
resultGroup ["items" ].append (itemEntry )
580
579
@@ -587,7 +586,7 @@ def getGroupThemes(config, permissions, configGroup, result, resultGroup, projec
587
586
"items" : [],
588
587
"subdirs" : []
589
588
}
590
- getGroupThemes (config , permissions , group , result , groupEntry , project_settings_cache , groupCounter )
589
+ getGroupThemes (config , permissions , group , result , groupEntry , project_settings_cache , groupCounter , themesConfig )
591
590
resultGroup ["subdirs" ].append (groupEntry )
592
591
593
592
@@ -647,7 +646,7 @@ def genThemes(themesConfig, permissions=None, project_settings_cache=None):
647
646
config ['usedThemeIds' ] = []
648
647
649
648
groupCounter = 0
650
- getGroupThemes (config , permissions , config ["themes" ], result , result ["themes" ], project_settings_cache , groupCounter )
649
+ getGroupThemes (config , permissions , config ["themes" ], result , result ["themes" ], project_settings_cache , groupCounter , themesConfig )
651
650
652
651
if "backgroundLayers" in result ["themes" ]:
653
652
# get thumbnails for background layers
0 commit comments