diff --git a/admin/config.py b/admin/config.py index 0d4f462a..aec6cb87 100644 --- a/admin/config.py +++ b/admin/config.py @@ -48,6 +48,7 @@ SoilRockResultsAdmin, StratigraphyAdmin, SurfaceWaterDataAdmin, + SurfaceWaterPhotosAdmin, ThingAdmin, TransducerObservationAdmin, ) @@ -71,6 +72,7 @@ NMA_Soil_Rock_Results, NMA_Stratigraphy, NMA_SurfaceWaterData, + NMA_SurfaceWaterPhotos, ) from db.notes import Notes from db.observation import Observation @@ -174,6 +176,9 @@ def create_admin(app): # SoilRockResults admin.add_view(SoilRockResultsAdmin(NMA_Soil_Rock_Results)) + # Surface Water Photos + admin.add_view(SurfaceWaterPhotosAdmin(NMA_SurfaceWaterPhotos)) + # Future: Add more views here as they are implemented # admin.add_view(SampleAdmin) # admin.add_view(GroupAdmin) diff --git a/admin/views/__init__.py b/admin/views/__init__.py index 5061ba72..be6906ba 100644 --- a/admin/views/__init__.py +++ b/admin/views/__init__.py @@ -46,6 +46,7 @@ from admin.views.soil_rock_results import SoilRockResultsAdmin from admin.views.stratigraphy import StratigraphyAdmin from admin.views.surface_water import SurfaceWaterDataAdmin +from admin.views.surface_water_photos import SurfaceWaterPhotosAdmin from admin.views.thing import ThingAdmin from admin.views.transducer_observation import TransducerObservationAdmin @@ -76,6 +77,7 @@ "SoilRockResultsAdmin", "StratigraphyAdmin", "SurfaceWaterDataAdmin", + "SurfaceWaterPhotosAdmin", "ThingAdmin", "TransducerObservationAdmin", ] diff --git a/admin/views/surface_water_photos.py b/admin/views/surface_water_photos.py new file mode 100644 index 00000000..42f25c83 --- /dev/null +++ b/admin/views/surface_water_photos.py @@ -0,0 +1,57 @@ +from admin.views.base import OcotilloModelView + + +class SurfaceWaterPhotosAdmin(OcotilloModelView): + """ + Admin view for legacy SurfaceWaterPhotos model (NMA_SurfaceWaterPhotos). + """ + + # ========== Basic Configuration ========== + name = "NMA Surface Water Photos" + label = "NMA Surface Water Photos" + icon = "fa fa-water" + + # Pagination + page_size = 50 + page_size_options = [25, 50, 100, 200] + + # ========== List View ========== + list_fields = [ + "surface_id", + "point_id", + "ole_path", + "object_id", + "global_id", + ] + + sortable_fields = [ + "global_id", + "object_id", + "point_id", + ] + + fields_default_sort = [("point_id", False), ("object_id", False)] + + searchable_fields = [ + "point_id", + "global_id", + "ole_path", + ] + + # ========== Detail View ========== + fields = [ + "surface_id", + "point_id", + "ole_path", + "object_id", + "global_id", + ] + + # ========== Legacy Field Labels ========== + field_labels = { + "surface_id": "SurfaceID", + "point_id": "PointID", + "ole_path": "OLEPath", + "object_id": "OBJECTID", + "global_id": "GlobalID", + }