Skip to content

Commit 175335c

Browse files
committed
Merge branch 'staging' into feature/thing-fk-enforcement
2 parents b2ab2c5 + 74f129f commit 175335c

62 files changed

Lines changed: 2621 additions & 747 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

admin/config.py

Lines changed: 53 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -23,62 +23,62 @@
2323

2424
from admin.auth import NMSampleLocationsAuthProvider
2525
from admin.views import (
26-
LocationAdmin,
27-
ThingAdmin,
28-
ObservationAdmin,
26+
AquiferSystemAdmin,
27+
AquiferTypeAdmin,
28+
AssetAdmin,
29+
ChemistrySampleInfoAdmin,
2930
ContactAdmin,
30-
SensorAdmin,
31+
DataProvenanceAdmin,
3132
DeploymentAdmin,
32-
LexiconTermAdmin,
33-
LexiconCategoryAdmin,
34-
AssetAdmin,
35-
AquiferTypeAdmin,
36-
AquiferSystemAdmin,
33+
FieldActivityAdmin,
34+
FieldEventAdmin,
35+
GeologicFormationAdmin,
3736
GroupAdmin,
38-
NotesAdmin,
39-
SampleAdmin,
4037
HydraulicsDataAdmin,
41-
ChemistrySampleInfoAdmin,
42-
RadionuclidesAdmin,
38+
LexiconCategoryAdmin,
39+
LexiconTermAdmin,
40+
LocationAdmin,
4341
MinorTraceChemistryAdmin,
44-
GeologicFormationAdmin,
45-
DataProvenanceAdmin,
46-
TransducerObservationAdmin,
47-
FieldEventAdmin,
48-
FieldActivityAdmin,
42+
NotesAdmin,
43+
ObservationAdmin,
4944
ParameterAdmin,
45+
RadionuclidesAdmin,
46+
SampleAdmin,
47+
SensorAdmin,
48+
SoilRockResultsAdmin,
49+
StratigraphyAdmin,
5050
SurfaceWaterDataAdmin,
51+
ThingAdmin,
52+
TransducerObservationAdmin,
5153
)
52-
53-
from db.engine import engine
54-
from db.location import Location
55-
from db.thing import Thing
56-
from db.observation import Observation
54+
from db.aquifer_system import AquiferSystem
55+
from db.aquifer_type import AquiferType
56+
from db.asset import Asset
5757
from db.contact import Contact
58-
from db.sensor import Sensor
58+
from db.data_provenance import DataProvenance
5959
from db.deployment import Deployment
60-
from db.lexicon import (
61-
LexiconTerm,
62-
LexiconCategory,
63-
)
64-
from db.asset import Asset
65-
from db.aquifer_type import AquiferType
66-
from db.aquifer_system import AquiferSystem
60+
from db.engine import engine
61+
from db.field import FieldActivity, FieldEvent
62+
from db.geologic_formation import GeologicFormation
6763
from db.group import Group
68-
from db.notes import Notes
69-
from db.sample import Sample
64+
from db.lexicon import LexiconCategory, LexiconTerm
65+
from db.location import Location
7066
from db.nma_legacy import (
71-
ChemistrySampleInfo,
72-
NMAHydraulicsData,
73-
NMARadionuclides,
74-
NMAMinorTraceChemistry,
75-
SurfaceWaterData,
67+
NMA_Chemistry_SampleInfo,
68+
NMA_MinorTraceChemistry,
69+
NMA_Radionuclides,
70+
NMA_HydraulicsData,
71+
NMA_Soil_Rock_Results,
72+
NMA_Stratigraphy,
73+
NMA_SurfaceWaterData,
7674
)
77-
from db.geologic_formation import GeologicFormation
78-
from db.data_provenance import DataProvenance
79-
from db.transducer import TransducerObservation
80-
from db.field import FieldEvent, FieldActivity
75+
from db.notes import Notes
76+
from db.observation import Observation
8177
from db.parameter import Parameter
78+
from db.sample import Sample
79+
from db.sensor import Sensor
80+
from db.thing import Thing
81+
from db.transducer import TransducerObservation
8282

8383

8484
def create_admin(app):
@@ -140,13 +140,13 @@ def create_admin(app):
140140

141141
# Samples
142142
admin.add_view(SampleAdmin(Sample))
143-
admin.add_view(ChemistrySampleInfoAdmin(ChemistrySampleInfo))
144-
admin.add_view(SurfaceWaterDataAdmin(SurfaceWaterData))
143+
admin.add_view(ChemistrySampleInfoAdmin(NMA_Chemistry_SampleInfo))
144+
admin.add_view(SurfaceWaterDataAdmin(NMA_SurfaceWaterData))
145145

146146
# Hydraulics
147-
admin.add_view(HydraulicsDataAdmin(NMAHydraulicsData))
148-
admin.add_view(RadionuclidesAdmin(NMARadionuclides))
149-
admin.add_view(MinorTraceChemistryAdmin(NMAMinorTraceChemistry))
147+
admin.add_view(HydraulicsDataAdmin(NMA_HydraulicsData))
148+
admin.add_view(RadionuclidesAdmin(NMA_Radionuclides))
149+
admin.add_view(MinorTraceChemistryAdmin(NMA_MinorTraceChemistry))
150150

151151
# Field
152152
admin.add_view(FieldEventAdmin(FieldEvent))
@@ -168,6 +168,12 @@ def create_admin(app):
168168
admin.add_view(LexiconTermAdmin(LexiconTerm))
169169
admin.add_view(LexiconCategoryAdmin(LexiconCategory))
170170

171+
# Stratigraphy
172+
admin.add_view(StratigraphyAdmin(NMA_Stratigraphy))
173+
174+
# SoilRockResults
175+
admin.add_view(SoilRockResultsAdmin(NMA_Soil_Rock_Results))
176+
171177
# Future: Add more views here as they are implemented
172178
# admin.add_view(SampleAdmin)
173179
# admin.add_view(GroupAdmin)

admin/views/__init__.py

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -19,59 +19,63 @@
1919
Provides MS Access-like interface for CRUD operations on database models.
2020
"""
2121

22-
from admin.views.location import LocationAdmin
23-
from admin.views.thing import ThingAdmin
24-
from admin.views.observation import ObservationAdmin
25-
from admin.views.contact import ContactAdmin
26-
from admin.views.sensor import SensorAdmin
27-
from admin.views.deployment import DeploymentAdmin
28-
from admin.views.lexicon import LexiconTermAdmin, LexiconCategoryAdmin
2922
from admin.views.asset import AssetAdmin
30-
from admin.views.aquifer_type import AquiferTypeAdmin
3123
from admin.views.aquifer_system import AquiferSystemAdmin
32-
from admin.views.group import GroupAdmin
33-
from admin.views.notes import NotesAdmin
34-
from admin.views.sample import SampleAdmin
35-
from admin.views.hydraulicsdata import HydraulicsDataAdmin
24+
from admin.views.aquifer_type import AquiferTypeAdmin
3625
from admin.views.chemistry_sampleinfo import ChemistrySampleInfoAdmin
37-
from admin.views.radionuclides import RadionuclidesAdmin
38-
from admin.views.minor_trace_chemistry import MinorTraceChemistryAdmin
39-
from admin.views.geologic_formation import GeologicFormationAdmin
26+
from admin.views.contact import ContactAdmin
4027
from admin.views.data_provenance import DataProvenanceAdmin
41-
from admin.views.transducer_observation import TransducerObservationAdmin
28+
from admin.views.deployment import DeploymentAdmin
4229
from admin.views.field import (
43-
FieldEventAdmin,
4430
FieldActivityAdmin,
31+
FieldEventAdmin,
4532
FieldEventParticipantAdmin,
4633
)
34+
from admin.views.geologic_formation import GeologicFormationAdmin
35+
from admin.views.group import GroupAdmin
36+
from admin.views.hydraulicsdata import HydraulicsDataAdmin
37+
from admin.views.lexicon import LexiconCategoryAdmin, LexiconTermAdmin
38+
from admin.views.location import LocationAdmin
39+
from admin.views.minor_trace_chemistry import MinorTraceChemistryAdmin
40+
from admin.views.notes import NotesAdmin
41+
from admin.views.observation import ObservationAdmin
4742
from admin.views.parameter import ParameterAdmin
43+
from admin.views.radionuclides import RadionuclidesAdmin
44+
from admin.views.sample import SampleAdmin
45+
from admin.views.sensor import SensorAdmin
46+
from admin.views.soil_rock_results import SoilRockResultsAdmin
47+
from admin.views.stratigraphy import StratigraphyAdmin
4848
from admin.views.surface_water import SurfaceWaterDataAdmin
49+
from admin.views.thing import ThingAdmin
50+
from admin.views.transducer_observation import TransducerObservationAdmin
4951

5052
__all__ = [
51-
"LocationAdmin",
52-
"ThingAdmin",
53-
"ObservationAdmin",
54-
"ContactAdmin",
55-
"SensorAdmin",
56-
"DeploymentAdmin",
57-
"LexiconTermAdmin",
58-
"LexiconCategoryAdmin",
5953
"AssetAdmin",
60-
"AquiferTypeAdmin",
6154
"AquiferSystemAdmin",
62-
"GroupAdmin",
63-
"NotesAdmin",
64-
"SampleAdmin",
65-
"HydraulicsDataAdmin",
55+
"AquiferTypeAdmin",
6656
"ChemistrySampleInfoAdmin",
67-
"RadionuclidesAdmin",
68-
"MinorTraceChemistryAdmin",
69-
"GeologicFormationAdmin",
57+
"ContactAdmin",
7058
"DataProvenanceAdmin",
71-
"TransducerObservationAdmin",
72-
"FieldEventAdmin",
59+
"DeploymentAdmin",
7360
"FieldActivityAdmin",
61+
"FieldEventAdmin",
7462
"FieldEventParticipantAdmin",
63+
"GeologicFormationAdmin",
64+
"GroupAdmin",
65+
"HydraulicsDataAdmin",
66+
"LexiconCategoryAdmin",
67+
"LexiconTermAdmin",
68+
"LocationAdmin",
69+
"MinorTraceChemistryAdmin",
70+
"NotesAdmin",
71+
"ObservationAdmin",
7572
"ParameterAdmin",
73+
"RadionuclidesAdmin",
74+
"SampleAdmin",
75+
"SensorAdmin",
76+
"SoilRockResultsAdmin",
77+
"StratigraphyAdmin",
7678
"SurfaceWaterDataAdmin",
79+
"ThingAdmin",
80+
"TransducerObservationAdmin",
7781
]

admin/views/field_parameters.py

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# ===============================================================================
2+
# Copyright 2026
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
# ===============================================================================
16+
"""
17+
FieldParametersAdmin view for legacy NMA_FieldParameters.
18+
"""
19+
20+
from admin.views.base import OcotilloModelView
21+
22+
23+
class FieldParametersAdmin(OcotilloModelView):
24+
"""
25+
Admin view for FieldParameters model.
26+
"""
27+
28+
# ========== Basic Configuration ==========
29+
30+
name = "Field Parameters"
31+
label = "Field Parameters"
32+
icon = "fa fa-tachometer"
33+
34+
can_create = False
35+
can_edit = False
36+
can_delete = False
37+
38+
# ========== List View ==========
39+
40+
list_fields = [
41+
"global_id",
42+
"sample_pt_id",
43+
"sample_point_id",
44+
"field_parameter",
45+
"sample_value",
46+
"units",
47+
"analyses_agency",
48+
"wc_lab_id",
49+
"object_id",
50+
]
51+
52+
sortable_fields = [
53+
"global_id",
54+
"sample_pt_id",
55+
"sample_point_id",
56+
"field_parameter",
57+
"sample_value",
58+
"units",
59+
"notes",
60+
"analyses_agency",
61+
"wc_lab_id",
62+
"object_id",
63+
]
64+
65+
fields_default_sort = [("sample_point_id", True)]
66+
67+
searchable_fields = [
68+
"global_id",
69+
"sample_pt_id",
70+
"sample_point_id",
71+
"field_parameter",
72+
"units",
73+
"notes",
74+
"analyses_agency",
75+
"wc_lab_id",
76+
]
77+
78+
page_size = 50
79+
page_size_options = [25, 50, 100, 200]
80+
81+
# ========== Form View ==========
82+
83+
fields = [
84+
"global_id",
85+
"sample_pt_id",
86+
"sample_point_id",
87+
"field_parameter",
88+
"sample_value",
89+
"units",
90+
"notes",
91+
"object_id",
92+
"analyses_agency",
93+
"wc_lab_id",
94+
]
95+
96+
field_labels = {
97+
"global_id": "GlobalID",
98+
"sample_pt_id": "SamplePtID",
99+
"sample_point_id": "SamplePointID",
100+
"field_parameter": "FieldParameter",
101+
"sample_value": "SampleValue",
102+
"units": "Units",
103+
"notes": "Notes",
104+
"object_id": "OBJECTID",
105+
"analyses_agency": "AnalysesAgency",
106+
"wc_lab_id": "WCLab_ID",
107+
}
108+
109+
110+
# ============= EOF =============================================

admin/views/hydraulicsdata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
class HydraulicsDataAdmin(OcotilloModelView):
2424
"""
25-
Admin view for NMAHydraulicsData model.
25+
Admin view for NMA_HydraulicsData model.
2626
"""
2727

2828
# ========== Basic Configuration ==========

0 commit comments

Comments
 (0)