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
1 change: 1 addition & 0 deletions api/well_inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,7 @@ def _add_csv_row(session: Session, group: Group, model: WellInventoryRow, user)
well_pump_type=model.well_pump_type,
well_pump_depth=model.well_pump_depth_ft,
is_suitable_for_datalogger=model.datalogger_possible,
is_open=model.is_open,
notes=well_notes,
well_purposes=well_purposes,
)
Expand Down
1 change: 1 addition & 0 deletions schemas/thing.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ class CreateWell(CreateBaseThing, ValidateWell):
well_pump_type: WellPumpType | None = None
well_pump_depth: float | None = None
is_suitable_for_datalogger: bool | None
is_open: bool | None = None
formation_completion_code: FormationCode | None = None


Expand Down
2 changes: 1 addition & 1 deletion schemas/well_inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ class WellInventoryRow(BaseModel):
depth_source: Optional[str] = None
well_pump_type: Optional[str] = None
well_pump_depth_ft: OptionalFloat = None
is_open: OptionalBool = None # TODO: needs a home
is_open: OptionalBool = None
datalogger_possible: OptionalBool = None
casing_diameter_ft: OptionalFloat = None
measuring_point_description: Optional[str] = None
Expand Down
35 changes: 35 additions & 0 deletions services/thing_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
DataProvenance,
ThingIdLink,
MonitoringFrequencyHistory,
StatusHistory,
)

from services.audit_helper import audit_add
Expand Down Expand Up @@ -201,6 +202,8 @@ def add_thing(
effective_start = data.get("first_visit_date")
group_id = data.pop("group_id", None)
monitoring_frequencies = data.pop("monitoring_frequencies", None)
datalogger_suitability_status = data.pop("is_suitable_for_datalogger", None)
open_status = data.pop("is_open", None)

# ----------
# END UNIVERSAL THING RELATED TABLES
Expand Down Expand Up @@ -297,6 +300,38 @@ def add_thing(
audit_add(user, wcm)
session.add(wcm)

if datalogger_suitability_status is not None:
if datalogger_suitability_status is True:
status_value = "Datalogger can be installed"
else:
status_value = "Datalogger cannot be installed"
dlss = StatusHistory(
target_id=thing.id,
target_table="thing",
status_value=status_value,
status_type="Datalogger Suitability Status",
start_date=effective_start,
end_date=None,
)
audit_add(user, dlss)
session.add(dlss)

if open_status is not None:
if open_status is True:
status_value = "Open"
else:
status_value = "Closed"
os_status = StatusHistory(
target_id=thing.id,
target_table="thing",
status_value=status_value,
status_type="Open Status",
start_date=effective_start,
end_date=None,
)
audit_add(user, os_status)
session.add(os_status)

# ----------
# END WATER WELL SPECIFIC LOGIC
# ----------
Expand Down
Loading