Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions admin/views/transducer_observation.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,20 @@ class TransducerObservationAdmin(OcotilloModelView):
"nma_waterlevelscontinuous_pressure_updated",
"nma_waterlevelscontinuous_pressure_water_head",
"nma_waterlevelscontinuous_pressure_water_head_adjusted",
"nma_waterlevelscontinuous_acoustic_created",
"nma_waterlevelscontinuous_acoustic_data_source",
"nma_waterlevelscontinuous_acoustic_global_id",
"nma_waterlevelscontinuous_acoustic_measurement_method",
"nma_waterlevelscontinuous_acoustic_measuring_agency",
"nma_waterlevelscontinuous_acoustic_notes",
"nma_waterlevelscontinuous_acoustic_point_id",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
"nma_waterlevelscontinuous_acoustic_public_release",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
"nma_waterlevelscontinuous_acoustic_serial_no",
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
"nma_waterlevelscontinuous_acoustic_temperature_air",
"created_at",
"created_by_id",
"created_by_name",
Expand Down Expand Up @@ -116,6 +130,20 @@ class TransducerObservationAdmin(OcotilloModelView):
"nma_waterlevelscontinuous_pressure_updated",
"nma_waterlevelscontinuous_pressure_water_head",
"nma_waterlevelscontinuous_pressure_water_head_adjusted",
"nma_waterlevelscontinuous_acoustic_created",
"nma_waterlevelscontinuous_acoustic_data_source",
"nma_waterlevelscontinuous_acoustic_global_id",
"nma_waterlevelscontinuous_acoustic_measurement_method",
"nma_waterlevelscontinuous_acoustic_measuring_agency",
"nma_waterlevelscontinuous_acoustic_notes",
"nma_waterlevelscontinuous_acoustic_point_id",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
"nma_waterlevelscontinuous_acoustic_public_release",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
"nma_waterlevelscontinuous_acoustic_serial_no",
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
"nma_waterlevelscontinuous_acoustic_temperature_air",
]

exclude_fields_from_edit = [
Expand All @@ -137,6 +165,20 @@ class TransducerObservationAdmin(OcotilloModelView):
"nma_waterlevelscontinuous_pressure_updated",
"nma_waterlevelscontinuous_pressure_water_head",
"nma_waterlevelscontinuous_pressure_water_head_adjusted",
"nma_waterlevelscontinuous_acoustic_created",
"nma_waterlevelscontinuous_acoustic_data_source",
"nma_waterlevelscontinuous_acoustic_global_id",
"nma_waterlevelscontinuous_acoustic_measurement_method",
"nma_waterlevelscontinuous_acoustic_measuring_agency",
"nma_waterlevelscontinuous_acoustic_notes",
"nma_waterlevelscontinuous_acoustic_point_id",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
"nma_waterlevelscontinuous_acoustic_public_release",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
"nma_waterlevelscontinuous_acoustic_serial_no",
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
"nma_waterlevelscontinuous_acoustic_temperature_air",
]

readonly_fields = [
Expand All @@ -154,6 +196,20 @@ class TransducerObservationAdmin(OcotilloModelView):
"nma_waterlevelscontinuous_pressure_updated",
"nma_waterlevelscontinuous_pressure_water_head",
"nma_waterlevelscontinuous_pressure_water_head_adjusted",
"nma_waterlevelscontinuous_acoustic_created",
"nma_waterlevelscontinuous_acoustic_data_source",
"nma_waterlevelscontinuous_acoustic_global_id",
"nma_waterlevelscontinuous_acoustic_measurement_method",
"nma_waterlevelscontinuous_acoustic_measuring_agency",
"nma_waterlevelscontinuous_acoustic_notes",
"nma_waterlevelscontinuous_acoustic_point_id",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
"nma_waterlevelscontinuous_acoustic_public_release",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
"nma_waterlevelscontinuous_acoustic_serial_no",
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
"nma_waterlevelscontinuous_acoustic_temperature_air",
]

labels = {
Expand All @@ -177,6 +233,20 @@ class TransducerObservationAdmin(OcotilloModelView):
"nma_waterlevelscontinuous_pressure_updated": "Updated",
"nma_waterlevelscontinuous_pressure_water_head": "Water Head",
"nma_waterlevelscontinuous_pressure_water_head_adjusted": "Water Head Adjusted",
"nma_waterlevelscontinuous_acoustic_created": "Acoustic Created",
"nma_waterlevelscontinuous_acoustic_data_source": "Acoustic Data Source",
"nma_waterlevelscontinuous_acoustic_global_id": "Acoustic Global ID",
"nma_waterlevelscontinuous_acoustic_measurement_method": "Acoustic Measurement Method",
"nma_waterlevelscontinuous_acoustic_measuring_agency": "Acoustic Measuring Agency",
"nma_waterlevelscontinuous_acoustic_notes": "Acoustic Notes",
"nma_waterlevelscontinuous_acoustic_point_id": "Acoustic Point ID",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field": "Acoustic Pre-Process Data Field",
"nma_waterlevelscontinuous_acoustic_public_release": "Acoustic Public Release",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp": "Acoustic Sensor Height Above MP",
"nma_waterlevelscontinuous_acoustic_serial_no": "Acoustic Serial No",
"nma_waterlevelscontinuous_acoustic_server_receipt_date": "Acoustic Server Receipt Date",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length": "Acoustic Speaker To Mic Length",
"nma_waterlevelscontinuous_acoustic_temperature_air": "Acoustic Temperature Air",
"created_at": "Created At",
"created_by_name": "Created By",
"updated_by_name": "Updated By",
Expand Down
195 changes: 195 additions & 0 deletions alembic/versions/8ed4b9770721_add_acoustic_legacy_fields_to_.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
"""add acoustic legacy fields to transducer observations

Revision ID: 8ed4b9770721
Revises: 1680a4a7cb77
Create Date: 2026-01-07 22:12:20.045062

"""

from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = "8ed4b9770721"
down_revision: Union[str, Sequence[str], None] = "1680a4a7cb77"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
"""Upgrade schema."""
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_created",
sa.DateTime(timezone=True),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_data_source",
sa.String(length=5),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_global_id",
sa.String(length=40),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_measurement_method",
sa.String(length=2),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_measuring_agency",
sa.String(length=50),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_notes",
sa.String(length=200),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_point_id",
sa.String(length=50),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
sa.Float(),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_public_release",
sa.Boolean(),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
sa.Float(),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_serial_no",
sa.String(length=50),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
sa.DateTime(timezone=True),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
sa.Float(),
nullable=True,
),
)
op.add_column(
"transducer_observation",
sa.Column(
"nma_waterlevelscontinuous_acoustic_temperature_air",
sa.Float(),
nullable=True,
),
)


def downgrade() -> None:
"""Downgrade schema."""
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_temperature_air",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_speaker_to_mic_length",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_server_receipt_date",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_serial_no",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_public_release",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_pre_process_data_field",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_point_id",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_notes",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_measuring_agency",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_measurement_method",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_global_id",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_data_source",
)
op.drop_column(
"transducer_observation",
"nma_waterlevelscontinuous_acoustic_created",
)
42 changes: 42 additions & 0 deletions db/transducer.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,48 @@ class TransducerObservation(Base, AutoBaseMixin, ReleaseMixin):
nma_waterlevelscontinuous_pressure_water_head_adjusted: Mapped[float] = (
mapped_column(Float, nullable=True)
)
nma_waterlevelscontinuous_acoustic_created: Mapped[datetime] = mapped_column(
DateTime(timezone=True), nullable=True
)
nma_waterlevelscontinuous_acoustic_data_source: Mapped[str] = mapped_column(
String(5), nullable=True
)
nma_waterlevelscontinuous_acoustic_global_id: Mapped[str] = mapped_column(
String(40), nullable=True
)
nma_waterlevelscontinuous_acoustic_measurement_method: Mapped[str] = mapped_column(
String(2), nullable=True
)
nma_waterlevelscontinuous_acoustic_measuring_agency: Mapped[str] = mapped_column(
String(50), nullable=True
)
nma_waterlevelscontinuous_acoustic_notes: Mapped[str] = mapped_column(
String(200), nullable=True
)
nma_waterlevelscontinuous_acoustic_point_id: Mapped[str] = mapped_column(
String(50), nullable=True
)
nma_waterlevelscontinuous_acoustic_pre_process_data_field: Mapped[float] = (
mapped_column(Float, nullable=True)
)
nma_waterlevelscontinuous_acoustic_public_release: Mapped[bool] = mapped_column(
Boolean, nullable=True
)
nma_waterlevelscontinuous_acoustic_sensor_hgt_above_mp: Mapped[float] = (
mapped_column(Float, nullable=True)
)
nma_waterlevelscontinuous_acoustic_serial_no: Mapped[str] = mapped_column(
String(50), nullable=True
)
nma_waterlevelscontinuous_acoustic_server_receipt_date: Mapped[datetime] = (
mapped_column(DateTime(timezone=True), nullable=True)
)
nma_waterlevelscontinuous_acoustic_speaker_to_mic_length: Mapped[float] = (
mapped_column(Float, nullable=True)
)
nma_waterlevelscontinuous_acoustic_temperature_air: Mapped[float] = mapped_column(
Float, nullable=True
)

# qc_block_id: Mapped[Optional[int]] = mapped_column(
# ForeignKey("transducer_observation_block.id", ondelete="SET NULL"), index=True
Expand Down
Loading
Loading