Feat: Assessment page completed with save method combining Assessment, Distraction, Assessment Command Modality Link, and Assessment Response save for creating new complete Assessnent.
This commit is contained in:
@@ -20,11 +20,11 @@ from typing import ClassVar
|
||||
|
||||
|
||||
class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric'
|
||||
ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric'
|
||||
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'response-quality-metric'
|
||||
FLAG_VALUE_MIN: ClassVar[str] = 'value-min'
|
||||
FLAG_VALUE_MAX: ClassVar[str] = 'value-max'
|
||||
NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC
|
||||
NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_RESPONSE_QUALITY_METRIC
|
||||
NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_NAME
|
||||
|
||||
__tablename__ = 'DOG_Response_Quality_Metric'
|
||||
@@ -47,25 +47,26 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
@classmethod
|
||||
def from_db_response_quality_metric(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_response_quality_metric'
|
||||
response = cls()
|
||||
response.id_response_quality_metric = query_row[0]
|
||||
response.id_unit_measurement = query_row[1]
|
||||
response.code = query_row[5]
|
||||
response.name = query_row[6]
|
||||
response.value_min = query_row[7]
|
||||
response.value_max = query_row[8]
|
||||
response.active = av.input_bool(query_row[9], 'active', _m)
|
||||
response.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row)
|
||||
return response
|
||||
metric = cls()
|
||||
metric.id_response_quality_metric = query_row[0]
|
||||
metric.id_unit_measurement = query_row[1]
|
||||
metric.code = query_row[5]
|
||||
metric.name = query_row[6]
|
||||
metric.value_min = query_row[7]
|
||||
metric.value_max = query_row[8]
|
||||
metric.active = av.input_bool(query_row[9], 'active', _m)
|
||||
metric.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row)
|
||||
return metric
|
||||
|
||||
@classmethod
|
||||
def from_db_assessment_response(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_assessment_response'
|
||||
level = cls()
|
||||
level.id_response_quality_metric = query_row[2]
|
||||
level.name = query_row[3]
|
||||
level.active = True
|
||||
return level
|
||||
metric = cls()
|
||||
metric.id_response_quality_metric = query_row[2]
|
||||
metric.name = query_row[3]
|
||||
metric.active = True
|
||||
metric.unit_measurement = Unit_Measurement.from_db_assessment_response(query_row)
|
||||
return metric
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
@@ -73,12 +74,12 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
response_quality_metric = cls()
|
||||
if json is None: return Response_Quality_Metric
|
||||
# Helper_App.console_log(f'{_m}\njson: {json}')
|
||||
response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC, -1)
|
||||
response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_RESPONSE_QUALITY_METRIC, -1)
|
||||
response_quality_metric.name = json[cls.FLAG_NAME]
|
||||
response_quality_metric.code = json.get(cls.FLAG_CODE, response_quality_metric.name.upper().replace(" ", "_"))
|
||||
response_quality_metric.value_min = json[cls.FLAG_VALUE_MIN]
|
||||
response_quality_metric.value_max = json[cls.FLAG_VALUE_MAX]
|
||||
response_quality_metric.active = json[cls.FLAG_ACTIVE]
|
||||
response_quality_metric.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
# Helper_App.console_log(f'Response_Quality_Metric: {response_quality_metric}')
|
||||
return response_quality_metric
|
||||
|
||||
@@ -86,7 +87,7 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
def to_json(self):
|
||||
as_json = {
|
||||
**self.get_shared_json_attributes(self)
|
||||
, self.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric
|
||||
, self.ATTR_ID_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric
|
||||
, self.FLAG_CODE: self.code
|
||||
, self.FLAG_NAME: f'{self.name} ({self.unit_measurement.symbol})'
|
||||
, self.FLAG_VALUE_MIN: self.value_min
|
||||
|
||||
Reference in New Issue
Block a user