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:
@@ -61,10 +61,10 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
|
||||
assessment_response.id_response = query_row[0]
|
||||
assessment_response.id_assessment_command_modality_link = query_row[1]
|
||||
assessment_response.id_response_quality_metric = query_row[2]
|
||||
assessment_response.id_obedience_level = query_row[3]
|
||||
assessment_response.value_measured = query_row[11]
|
||||
assessment_response.notes = query_row[10]
|
||||
assessment_response.active = av.input_bool(query_row[12], 'active', _m)
|
||||
assessment_response.id_obedience_level = query_row[4]
|
||||
assessment_response.value_measured = query_row[6]
|
||||
assessment_response.notes = query_row[7]
|
||||
assessment_response.active = av.input_bool(query_row[8], 'active', _m)
|
||||
|
||||
assessment_response.assessment_command_modality_link = Assessment_Command_Modality_Link.from_db_assessment_response(query_row)
|
||||
assessment_response.response_quality_metric = Response_Quality_Metric.from_db_assessment_response(query_row)
|
||||
@@ -76,17 +76,14 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
assessment_response = cls()
|
||||
if json is None: return assessment_response
|
||||
# Helper_App.console_log(f'{_m}\njson: {json}')
|
||||
assessment_response.id_response = json.get(Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE, -1)
|
||||
assessment_response.id_assessment_command_modality_link = json[Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK]
|
||||
assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC]
|
||||
assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC]
|
||||
assessment_response.id_obedience_level = json[Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL]
|
||||
assessment_response.value_measured = json[cls.FLAG_VALUE_MEASURED]
|
||||
assessment_response.notes = json[cls.FLAG_NOTES]
|
||||
assessment_response.active = json[cls.FLAG_ACTIVE]
|
||||
assessment_response.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
assessment_response.created_on = json.get(cls.FLAG_CREATED_ON, None)
|
||||
# assessment_response.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# Helper_App.console_log(f'Dog Command Link: {assessment_response}')
|
||||
return assessment_response
|
||||
|
||||
def to_json(self):
|
||||
@@ -94,15 +91,13 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
|
||||
**self.get_shared_json_attributes(self)
|
||||
, self.ATTR_ID_ASSESSMENT_RESPONSE: self.id_response
|
||||
, Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: { Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json()
|
||||
, Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json()
|
||||
, Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json()
|
||||
, Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json()
|
||||
, Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.obedience_level is None else self.obedience_level.to_json()
|
||||
, self.FLAG_VALUE_MEASURED: self.value_measured
|
||||
, self.FLAG_NOTES: self.notes
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, self.FLAG_CREATED_ON: self.created_on
|
||||
}
|
||||
# , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
@@ -163,8 +158,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
get_all_ACM_link: bool
|
||||
get_inactive_ACM_link: bool
|
||||
ids_ACM_link: str
|
||||
min_distance_from_handler_ACM_link: Optional[float]
|
||||
max_distance_from_handler_ACM_link: Optional[float]
|
||||
min_distance_from_handler_metres_ACM_link: Optional[float]
|
||||
max_distance_from_handler_metres_ACM_link: Optional[float]
|
||||
value_is_in_sight_of_handler_ACM_link: Optional[bool]
|
||||
value_is_in_scent_range_of_handler_ACM_link: Optional[bool]
|
||||
value_is_in_hearing_range_of_handler_ACM_link: Optional[bool]
|
||||
@@ -242,8 +237,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
, get_all_ACM_link = True
|
||||
, get_inactive_ACM_link = False
|
||||
, ids_ACM_link = ''
|
||||
, min_distance_from_handler_ACM_link = None
|
||||
, max_distance_from_handler_ACM_link = None
|
||||
, min_distance_from_handler_metres_ACM_link = None
|
||||
, max_distance_from_handler_metres_ACM_link = None
|
||||
, value_is_in_sight_of_handler_ACM_link = None
|
||||
, value_is_in_scent_range_of_handler_ACM_link = None
|
||||
, value_is_in_hearing_range_of_handler_ACM_link = None
|
||||
@@ -323,8 +318,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
, get_inactive_ACM_link = json.get('a_get_inactive_ACM_link', False)
|
||||
, ids_ACM_link = json.get('a_ids_ACM_link', '')
|
||||
, notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '')
|
||||
, min_distance_from_handler_ACM_link = json.get('a_min_distance_from_handler_ACM_link', None)
|
||||
, max_distance_from_handler_ACM_link = json.get('a_max_distance_from_handler_ACM_link', None)
|
||||
, min_distance_from_handler_metres_ACM_link = json.get('a_min_distance_from_handler_metres_ACM_link', None)
|
||||
, max_distance_from_handler_metres_ACM_link = json.get('a_max_distance_from_handler_metres_ACM_link', None)
|
||||
, value_is_in_sight_of_handler_ACM_link = json.get('a_value_is_in_sight_of_handler_ACM_link', None)
|
||||
, value_is_in_scent_range_of_handler_ACM_link = json.get('a_value_is_in_scent_range_of_handler_ACM_link', None)
|
||||
, value_is_in_hearing_range_of_handler_ACM_link = json.get('a_value_is_in_hearing_range_of_handler_ACM_link', None)
|
||||
@@ -393,8 +388,6 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_form_filters_assessment(cls, form):
|
||||
_m = f'{cls.__qualname__}.from_form_filters_assessment'
|
||||
Helper_App.console_log(_m)
|
||||
Helper_App.console_log(f'Filters: {form}')
|
||||
av.val_instance(form, 'form', _m, Filters_Assessment)
|
||||
has_filter_search_text = not (form.search.data == '' or form.search.data is None)
|
||||
has_filter_assessment_command_modality_link = False
|
||||
@@ -403,14 +396,7 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
has_filter_user_handler = False
|
||||
has_filter_assessment = not (form.id_assessment.data == '' or form.id_assessment.data == '0' or form.id_assessment.data is None)
|
||||
active_only = av.input_bool(form.active_only.data, "active", _m)
|
||||
Helper_App.console_log(f'''
|
||||
has_filter_search_text: {has_filter_search_text}
|
||||
has_filter_assessment_command_modality_link: {has_filter_assessment_command_modality_link}
|
||||
has_filter_response_quality_metric: {has_filter_response_quality_metric}
|
||||
has_filter_obedience_level: {has_filter_obedience_level}
|
||||
has_filter_user_handler: {has_filter_user_handler}
|
||||
active_only: {active_only}
|
||||
''')
|
||||
|
||||
filters = cls.get_default()
|
||||
filters.get_all_assessment_response = True
|
||||
filters.get_inactive_assessment_response = not active_only
|
||||
@@ -448,8 +434,8 @@ active_only: {active_only}
|
||||
, 'a_get_all_ACM_link': self.get_all_ACM_link
|
||||
, 'a_get_inactive_ACM_link': self.get_inactive_ACM_link
|
||||
, 'a_ids_ACM_link': self.ids_ACM_link
|
||||
, 'a_min_distance_from_handler_ACM_link': self.min_distance_from_handler_ACM_link
|
||||
, 'a_max_distance_from_handler_ACM_link': self.max_distance_from_handler_ACM_link
|
||||
, 'a_min_distance_from_handler_metres_ACM_link': self.min_distance_from_handler_metres_ACM_link
|
||||
, 'a_max_distance_from_handler_metres_ACM_link': self.max_distance_from_handler_metres_ACM_link
|
||||
, 'a_value_is_in_sight_of_handler_ACM_link': self.value_is_in_sight_of_handler_ACM_link
|
||||
, 'a_value_is_in_scent_range_of_handler_ACM_link': self.value_is_in_scent_range_of_handler_ACM_link
|
||||
, 'a_value_is_in_hearing_range_of_handler_ACM_link': self.value_is_in_hearing_range_of_handler_ACM_link
|
||||
|
||||
Reference in New Issue
Block a user