Skip to content

Commit bd57598

Browse files
committed
better data catalog support and theme context for v3.0.2
1 parent f41c402 commit bd57598

3 files changed

Lines changed: 19 additions & 2 deletions

File tree

layers/models.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -747,7 +747,20 @@ def catalog_html(self):
747747
"data_catalog/includes/cacheless_layer_info.html",
748748
{
749749
'layer': self,
750-
# 'sub_layers': self.sublayers.exclude(layer_type="placeholder")
750+
'theme': None,
751+
}
752+
)
753+
except Exception as e:
754+
print(e)
755+
756+
def get_catalog_html(self, theme=None):
757+
from django.template.loader import render_to_string
758+
try:
759+
return render_to_string(
760+
"data_catalog/includes/cacheless_layer_info.html",
761+
{
762+
'layer': self,
763+
'theme': theme,
751764
}
752765
)
753766
except Exception as e:

layers/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
re_path(r'^get_theme_details/(?P<themeID>\d+)/?$', views.get_theme_details),
1616
re_path(r'^get_layer_details/(?P<layerID>\d+)/?$', views.get_layer_details),
1717
re_path(r'^wms_capabilities', views.wms_request_capabilities),
18+
re_path(r'^get_layer_catalog_content/(?P<objectType>\w+)/(?P<objectID>\d+)/(?P<themeID>\d+)/?$', views.get_layer_catalog_content),
1819
path('get_layer_catalog_content/<objectType>/<int:objectID>/', views.get_layer_catalog_content),
1920
re_path(r'^get_catalog_records/', views.get_catalog_records),
2021
re_path(r'^migration/layer_status/', views.layer_status),

layers/views.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,9 +506,12 @@ def wms_request_capabilities(request):
506506

507507
return JsonResponse(result)
508508

509-
def get_layer_catalog_content(request, objectType, objectID):
509+
def get_layer_catalog_content(request, objectType, objectID, themeID=None):
510510
if objectType == 'layer':
511511
layer = Layer.all_objects.get(pk=objectID)
512+
if not themeID is None:
513+
theme = Theme.all_objects.get(pk=themeID)
514+
return JsonResponse({'html': layer.get_catalog_html(theme=theme)})
512515
return JsonResponse({'html': layer.catalog_html})
513516
elif objectType == 'theme':
514517
theme = Theme.all_objects.get(pk=objectID)

0 commit comments

Comments
 (0)