diff --git a/admin/config.py b/admin/config.py index df196ab0..c738fa6c 100644 --- a/admin/config.py +++ b/admin/config.py @@ -23,64 +23,62 @@ from admin.auth import NMSampleLocationsAuthProvider from admin.views import ( - LocationAdmin, - ThingAdmin, - ObservationAdmin, + AquiferSystemAdmin, + AquiferTypeAdmin, + AssetAdmin, + ChemistrySampleInfoAdmin, ContactAdmin, - SensorAdmin, + DataProvenanceAdmin, DeploymentAdmin, - LexiconTermAdmin, - LexiconCategoryAdmin, - AssetAdmin, - AquiferTypeAdmin, - AquiferSystemAdmin, + FieldActivityAdmin, + FieldEventAdmin, + GeologicFormationAdmin, GroupAdmin, - NotesAdmin, - SampleAdmin, HydraulicsDataAdmin, - ChemistrySampleInfoAdmin, - RadionuclidesAdmin, + LexiconCategoryAdmin, + LexiconTermAdmin, + LocationAdmin, MinorTraceChemistryAdmin, - GeologicFormationAdmin, - DataProvenanceAdmin, - TransducerObservationAdmin, - FieldEventAdmin, - FieldActivityAdmin, + NotesAdmin, + ObservationAdmin, ParameterAdmin, - SurfaceWaterDataAdmin, + RadionuclidesAdmin, + SampleAdmin, + SensorAdmin, + SoilRockResultsAdmin, StratigraphyAdmin, -) - -from db.engine import engine -from db.location import Location -from db.thing import Thing -from db.observation import Observation -from db.contact import Contact -from db.sensor import Sensor -from db.deployment import Deployment -from db.lexicon import ( - LexiconTerm, - LexiconCategory, + SurfaceWaterDataAdmin, + ThingAdmin, + TransducerObservationAdmin, ) from db.asset import Asset -from db.aquifer_type import AquiferType from db.aquifer_system import AquiferSystem +from db.aquifer_type import AquiferType +from db.contact import Contact +from db.data_provenance import DataProvenance +from db.deployment import Deployment +from db.engine import engine +from db.field import FieldActivity, FieldEvent +from db.geologic_formation import GeologicFormation from db.group import Group -from db.notes import Notes -from db.sample import Sample +from db.lexicon import LexiconCategory, LexiconTerm +from db.location import Location from db.nma_legacy import ( ChemistrySampleInfo, - NMAHydraulicsData, - NMARadionuclides, NMAMinorTraceChemistry, - SurfaceWaterData, + NMARadionuclides, + NMAHydraulicsData, + SoilRockResults, Stratigraphy, + SurfaceWaterData, ) -from db.geologic_formation import GeologicFormation -from db.data_provenance import DataProvenance -from db.transducer import TransducerObservation -from db.field import FieldEvent, FieldActivity +from db.notes import Notes +from db.observation import Observation from db.parameter import Parameter +from db.sample import Sample +from db.sensor import Sensor +from db.thing import Thing +from db.transducer import TransducerObservation def create_admin(app): @@ -173,6 +171,9 @@ def create_admin(app): # Stratigraphy admin.add_view(StratigraphyAdmin(Stratigraphy)) + # SoilRockResults + admin.add_view(SoilRockResultsAdmin(SoilRockResults)) + # 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 bbff75a7..5061ba72 100644 --- a/admin/views/__init__.py +++ b/admin/views/__init__.py @@ -43,6 +43,7 @@ from admin.views.radionuclides import RadionuclidesAdmin from admin.views.sample import SampleAdmin from admin.views.sensor import SensorAdmin +from admin.views.soil_rock_results import SoilRockResultsAdmin from admin.views.stratigraphy import StratigraphyAdmin from admin.views.surface_water import SurfaceWaterDataAdmin from admin.views.thing import ThingAdmin @@ -72,6 +73,7 @@ "RadionuclidesAdmin", "SampleAdmin", "SensorAdmin", + "SoilRockResultsAdmin", "StratigraphyAdmin", "SurfaceWaterDataAdmin", "ThingAdmin", diff --git a/admin/views/soil_rock_results.py b/admin/views/soil_rock_results.py new file mode 100644 index 00000000..00786058 --- /dev/null +++ b/admin/views/soil_rock_results.py @@ -0,0 +1,70 @@ +""" +SoilRockResultsAdmin view for legacy NMA_Soil_Rock_Results. +""" + +from admin.views.base import OcotilloModelView + + +class SoilRockResultsAdmin(OcotilloModelView): + """ + Read-only admin view for SoilRockResults legacy model. + """ + + # ========== Basic Configuration ========== + name = "NMA Soil Rock Results" + label = "NMA Soil Rock Results" + icon = "fa fa-mountain" + + # Pagination + page_size = 50 + page_size_options = [25, 50, 100, 200] + + # ========== List View ========== + list_fields = [ + "id", + "point_id", + "sample_type", + "date_sampled", + "d13c", + "d18o", + "sampled_by", + "thing_id", + ] + + sortable_fields = [ + "id", + "point_id", + ] + + searchable_fields = [ + "point_id", + "sample_type", + "date_sampled", + "sampled_by", + ] + + fields_default_sort = [("id", True)] + + # ========== Detail View ========== + fields = [ + "id", + "point_id", + "sample_type", + "date_sampled", + "d13c", + "d18o", + "sampled_by", + "thing_id", + ] + + # ========== Legacy Field Labels ========== + field_labels = { + "id": "id", + "point_id": "Point_ID", + "sample_type": "Sample Type", + "date_sampled": "Date Sampled", + "d13c": "d13C", + "d18o": "d18O", + "sampled_by": "Sampled by", + "thing_id": "ThingID", + }