Feat: Architecture redesign for Assessments, Commands, Modalities, Training Techniques, Reinforcement Schedules, Distractions, and Assessment Responses.
This commit is contained in:
@@ -20,9 +20,12 @@ Base data model for views
|
||||
from business_objects.base import Base
|
||||
from business_objects.file_type import File_Type
|
||||
from business_objects.dog.assessment import Assessment
|
||||
from business_objects.dog.assessment_command_link import Assessment_Command_Link
|
||||
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link
|
||||
from business_objects.dog.assessment_command_technique_link import Assessment_Command_Technique_Link
|
||||
from business_objects.dog.assessment_response import Assessment_Response
|
||||
from business_objects.dog.bribe import Bribe
|
||||
from business_objects.dog.assessment_type import Assessment_Type
|
||||
# from business_objects.dog.bribe import Bribe
|
||||
from business_objects.dog.button_icon import Button_Icon
|
||||
from business_objects.dog.button_shape import Button_Shape
|
||||
from business_objects.dog.calendar_entry import Calendar_Entry
|
||||
@@ -42,8 +45,10 @@ from business_objects.dog.image import Image
|
||||
from business_objects.dog.lighting_level import Lighting_Level
|
||||
from business_objects.dog.location import Location
|
||||
from business_objects.dog.obedience_level import Obedience_Level
|
||||
from business_objects.dog.reinforcement_schedule import Reinforcement_Schedule
|
||||
from business_objects.dog.response_quality_metric import Response_Quality_Metric
|
||||
from business_objects.dog.role import Role
|
||||
from business_objects.dog.training_technique import Training_Technique
|
||||
from business_objects.dog.user import User
|
||||
from business_objects.dog.weather import Weather
|
||||
from datastores.datastore_base import DataStore_Base
|
||||
@@ -61,9 +66,12 @@ from typing import ClassVar
|
||||
|
||||
class Model_View_Base(BaseModel, ABC):
|
||||
ATTR_ID_ASSESSMENT: ClassVar[str] = Assessment.ATTR_ID_ASSESSMENT
|
||||
ATTR_ID_ASSESSMENT_COMMAND_LINK: ClassVar[str] = Assessment_Command_Link.ATTR_ID_ASSESSMENT_COMMAND_LINK
|
||||
ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
ATTR_ID_ASSESSMENT_COMMAND_TECHNIQUE_LINK: ClassVar[str] = Assessment_Command_Technique_Link.ATTR_ID_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
ATTR_ID_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE
|
||||
ATTR_ID_BRIBE: ClassVar[str] = Bribe.ATTR_ID_BRIBE
|
||||
ATTR_ID_ASSESSMENT_TYPE: ClassVar[str] = Assessment_Type.ATTR_ID_ASSESSMENT_TYPE
|
||||
# ATTR_ID_BRIBE: ClassVar[str] = Bribe.ATTR_ID_BRIBE
|
||||
ATTR_ID_BUTTON_ICON: ClassVar[str] = Button_Icon.ATTR_ID_BUTTON_ICON
|
||||
ATTR_ID_BUTTON_SHAPE: ClassVar[str] = Button_Shape.ATTR_ID_BUTTON_SHAPE
|
||||
ATTR_ID_CALENDAR_ENTRY: ClassVar[str] = Calendar_Entry.ATTR_ID_CALENDAR_ENTRY
|
||||
@@ -84,8 +92,10 @@ class Model_View_Base(BaseModel, ABC):
|
||||
ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL
|
||||
ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION
|
||||
ATTR_ID_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL
|
||||
ATTR_ID_REINFORCEMENT_SCHEDULE: ClassVar[str] = Reinforcement_Schedule.ATTR_ID_REINFORCEMENT_SCHEDULE
|
||||
ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC
|
||||
ATTR_ID_ROLE: ClassVar[str] = Role.ATTR_ID_ROLE
|
||||
ATTR_ID_TRAINING_TECHNIQUE: ClassVar[str] = Training_Technique.ATTR_ID_TRAINING_TECHNIQUE
|
||||
ATTR_ID_USER: ClassVar[str] = User.ATTR_ID_USER
|
||||
ATTR_ID_USER_AUTH0: ClassVar[str] = User.ATTR_ID_USER_AUTH0
|
||||
ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER
|
||||
@@ -127,12 +137,15 @@ class Model_View_Base(BaseModel, ABC):
|
||||
# FLAG_ADD_DELETE: ClassVar[str] = 'add-delete'
|
||||
FLAG_APPEARANCE: ClassVar[str] = Dog.FLAG_APPEARANCE
|
||||
FLAG_ASSESSMENT: ClassVar[str] = Assessment.FLAG_ASSESSMENT
|
||||
FLAG_ASSESSMENT_COMMAND_LINK: ClassVar[str] = Assessment_Command_Link.FLAG_ASSESSMENT_COMMAND_LINK
|
||||
FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
FLAG_ASSESSMENT_COMMAND_TECHNIQUE_LINK: ClassVar[str] = Assessment_Command_Technique_Link.FLAG_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.FLAG_ASSESSMENT_RESPONSE
|
||||
FLAG_ASSESSMENT_TYPE: ClassVar[str] = Assessment_Type.FLAG_ASSESSMENT_TYPE
|
||||
FLAG_BENEFITS: ClassVar[str] = 'benefits'
|
||||
FLAG_BOOL_FALSE: ClassVar[str] = 'false'
|
||||
FLAG_BOOL_TRUE: ClassVar[str] = 'true'
|
||||
FLAG_BRIBE: ClassVar[str] = Bribe.FLAG_BRIBE
|
||||
# FLAG_BRIBE: ClassVar[str] = Bribe.FLAG_BRIBE
|
||||
FLAG_BUTTON: ClassVar[str] = 'button'
|
||||
FLAG_BUTTON_ICON: ClassVar[str] = Button_Icon.FLAG_BUTTON_ICON
|
||||
FLAG_BUTTON_LIGHT: ClassVar[str] = 'button-light'
|
||||
@@ -183,6 +196,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_DOG_COMMAND_LINK: ClassVar[str] = Dog_Command_Link.FLAG_DOG_COMMAND_LINK
|
||||
FLAG_EDIT: ClassVar[str] = 'edit'
|
||||
FLAG_EMAIL: ClassVar[str] = Base.FLAG_EMAIL
|
||||
FLAG_END_ON: ClassVar[str] = Base.FLAG_END_ON
|
||||
FLAG_ERROR: ClassVar[str] = 'error'
|
||||
FLAG_EXPANDED: ClassVar[str] = 'expanded'
|
||||
FLAG_FAILURE: ClassVar[str] = 'failure'
|
||||
@@ -248,6 +262,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_PRICE: ClassVar[str] = Base.FLAG_PRICE
|
||||
FLAG_PRICING: ClassVar[str] = 'pricing'
|
||||
FLAG_QUANTITY: ClassVar[str] = 'quantity'
|
||||
FLAG_REINFORCEMENT_SCHEDULE: ClassVar[str] = Reinforcement_Schedule.FLAG_REINFORCEMENT_SCHEDULE
|
||||
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.FLAG_RESPONSE_QUALITY_METRIC
|
||||
FLAG_RIGHT_HAND_SIDE: ClassVar[str] = 'rhs'
|
||||
FLAG_ROLE: ClassVar[str] = Role.FLAG_ROLE
|
||||
@@ -258,6 +273,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_SCROLLABLE: ClassVar[str] = 'scrollable'
|
||||
FLAG_SEARCH: ClassVar[str] = Base.FLAG_SEARCH
|
||||
FLAG_SLIDER: ClassVar[str] = 'slider'
|
||||
FLAG_START_ON: ClassVar[str] = Base.FLAG_START_ON
|
||||
FLAG_STATUS: ClassVar[str] = 'status'
|
||||
FLAG_SUBMIT: ClassVar[str] = 'submit'
|
||||
FLAG_SUCCESS: ClassVar[str] = 'success'
|
||||
@@ -265,6 +281,7 @@ class Model_View_Base(BaseModel, ABC):
|
||||
FLAG_TABLE_MAIN: ClassVar[str] = 'table-main'
|
||||
FLAG_TEMPORARY_ELEMENT: ClassVar[str] = 'temporary-element'
|
||||
FLAG_TESTIMONIAL: ClassVar[str] = 'testimonial'
|
||||
FLAG_TRAINING_TECHNIQUE: ClassVar[str] = Training_Technique.FLAG_TRAINING_TECHNIQUE
|
||||
FLAG_USER: ClassVar[str] = User.FLAG_USER
|
||||
# FLAG_VALUE_PROPOSITION: ClassVar[str] = 'value-proposition'
|
||||
FLAG_WEATHER: ClassVar[str] = Weather.FLAG_WEATHER
|
||||
|
||||
@@ -12,9 +12,11 @@ Data model for dog assessments view
|
||||
|
||||
# internal
|
||||
from business_objects.dog.assessment import Assessment, Parameters_Assessment
|
||||
from business_objects.dog.assessment_command_link import Assessment_Command_Link, Parameters_Assessment_Command_Link
|
||||
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link, Parameters_Assessment_Command_Modality_Link
|
||||
from business_objects.dog.assessment_command_technique_link import Assessment_Command_Technique_Link, Parameters_Assessment_Command_Technique_Link
|
||||
from business_objects.dog.assessment_response import Assessment_Response, Parameters_Assessment_Response
|
||||
from business_objects.dog.bribe import Bribe, Parameters_Bribe
|
||||
from business_objects.dog.assessment_type import Assessment_Type, Parameters_Assessment_Type
|
||||
from business_objects.dog.command import Command, Parameters_Command
|
||||
from business_objects.dog.command_category import Command_Category
|
||||
from business_objects.dog.command_modality import Command_Modality, Parameters_Command_Modality
|
||||
@@ -24,7 +26,9 @@ from business_objects.dog.distraction_type import Distraction_Type, Parameters_D
|
||||
from business_objects.dog.lighting_level import Lighting_Level, Parameters_Lighting_Level
|
||||
from business_objects.dog.location import Location, Parameters_Location
|
||||
from business_objects.dog.obedience_level import Obedience_Level, Parameters_Obedience_Level
|
||||
from business_objects.dog.reinforcement_schedule import Reinforcement_Schedule, Parameters_Reinforcement_Schedule
|
||||
from business_objects.dog.response_quality_metric import Response_Quality_Metric, Parameters_Response_Quality_Metric
|
||||
from business_objects.dog.training_technique import Training_Technique, Parameters_Training_Technique
|
||||
from business_objects.dog.user import User, Parameters_User
|
||||
from business_objects.dog.weather import Weather, Parameters_Weather
|
||||
from datastores.datastore_dog import DataStore_Dog
|
||||
@@ -41,29 +45,29 @@ from typing import ClassVar, Optional
|
||||
from operator import attrgetter
|
||||
|
||||
class Model_View_Dog_Assessment(Model_View_Dog_Base):
|
||||
FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_DISTANCE_FROM_HANDLER_METRES
|
||||
FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = Assessment_Command_Link.FLAG_DISTANCE_FROM_HANDLER_METRES
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH
|
||||
FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER
|
||||
FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER
|
||||
FLAG_IS_IN_SIGHT_OF_HANDLER: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_IS_IN_SIGHT_OF_HANDLER
|
||||
FLAG_IS_ON_LEAD: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_IS_ON_LEAD
|
||||
FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: ClassVar[str] = Assessment_Command_Link.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER
|
||||
FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: ClassVar[str] = Assessment_Command_Link.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER
|
||||
FLAG_IS_IN_SIGHT_OF_HANDLER: ClassVar[str] = Assessment_Command_Link.FLAG_IS_IN_SIGHT_OF_HANDLER
|
||||
FLAG_IS_ON_LEAD: ClassVar[str] = Assessment_Command_Link.FLAG_IS_ON_LEAD
|
||||
FLAG_PROXIMITY_METRES: ClassVar[str] = Distraction.FLAG_PROXIMITY_METRES
|
||||
FLAG_TEMPERATURE_CELCIUS: ClassVar[str] = Assessment.FLAG_TEMPERATURE_CELCIUS
|
||||
FLAG_TRIAL_COUNT: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_TRIAL_COUNT
|
||||
FLAG_TRIAL_COUNT: ClassVar[str] = Assessment_Command_Link.FLAG_TRIAL_COUNT
|
||||
FLAG_USER_HANDLER: ClassVar[str] = Assessment.FLAG_USER_HANDLER
|
||||
FLAG_VALUE_MEASURED: ClassVar[str] = Assessment_Response.FLAG_VALUE_MEASURED
|
||||
ID_FORM_ASSESSMENT: ClassVar[str] = 'form_assessment'
|
||||
ID_FORM_ASSESSMENT_COMMAND_MODALITY_LINKS: ClassVar[str] = 'form_assessment_command_modality_links'
|
||||
ID_FORM_ASSESSMENT_COMMAND_LINKS: ClassVar[str] = 'form_assessment_command_links'
|
||||
ID_FORM_DISTRACTIONS: ClassVar[str] = 'form_distractions'
|
||||
ID_TABLE_ASSESSMENT: ClassVar[str] = 'table_assessment'
|
||||
ID_TABLE_ASSESSMENT_COMMAND_MODALITY_LINKS: ClassVar[str] = 'table_assessment_command_modality_links'
|
||||
ID_TABLE_ASSESSMENT_COMMAND_LINKS: ClassVar[str] = 'table_assessment_command_links'
|
||||
ID_TABLE_ASSESSMENT_RESPONSES: ClassVar[str] = 'table_assessment_responses'
|
||||
ID_TABLE_DISTRACTIONS: ClassVar[str] = 'table_distractions'
|
||||
filter_bribes: list = None
|
||||
filter_assessment_types: list = None
|
||||
filter_command_categories: list = None
|
||||
filter_command_modalities: list = None
|
||||
filter_commands: list = None
|
||||
@@ -72,7 +76,9 @@ class Model_View_Dog_Assessment(Model_View_Dog_Base):
|
||||
filter_lighting_levels: list = None
|
||||
filter_locations: list = None
|
||||
filter_obedience_levels: list = None
|
||||
filter_reinforcement_schedules: list = None
|
||||
filter_response_quality_metrics: list = None
|
||||
filter_training_techniques: list = None
|
||||
filter_user_handlers: list = None
|
||||
filter_weathers: list = None
|
||||
assessments: list = None
|
||||
@@ -92,6 +98,11 @@ class Model_View_Dog_Assessment(Model_View_Dog_Base):
|
||||
user_session = datastore_dog.get_user_session()
|
||||
|
||||
# Assessments + filters
|
||||
parameters_filter_assessment_type = Parameters_Assessment_Type.get_default()
|
||||
self.filter_assessment_types, errors = datastore_dog.get_many_assessment_type(parameters_filter_assessment_type)
|
||||
if len(self.filter_assessment_types) > 0:
|
||||
self.form_filters.id_assessment_type.choices += [(str(assessment_type.id_type), assessment_type.name) for assessment_type in self.filter_assessment_types]
|
||||
|
||||
parameters_filter_lighting_level = Parameters_Lighting_Level.get_default()
|
||||
self.filter_lighting_levels, errors = datastore_dog.get_many_lighting_level(parameters_filter_lighting_level)
|
||||
if len(self.filter_lighting_levels) > 0:
|
||||
@@ -121,83 +132,62 @@ class Model_View_Dog_Assessment(Model_View_Dog_Base):
|
||||
Helper_App.console_log(f'Query args: {parameters_filter_assessment}')
|
||||
self.assessments, errors = datastore_dog.get_many_assessment(parameters_filter_assessment)
|
||||
|
||||
# Assessment Command Links + filters
|
||||
parameters_filter_command = Parameters_Command.get_default(user_session.id_user)
|
||||
self.filter_command_categories, self.filter_commands, errors = datastore_dog.get_many_command(parameters_filter_command)
|
||||
|
||||
parameters_filter_reinforcement_schedule = Parameters_Reinforcement_Schedule.get_default()
|
||||
self.filter_reinforcement_schedules, errors = datastore_dog.get_many_reinforcement_schedule(parameters_filter_reinforcement_schedule)
|
||||
|
||||
parameters_filter_assessment_command_link = Parameters_Assessment_Command_Link.from_form_filters_assessment(self.form_filters)
|
||||
assessment_command_links, errors = datastore_dog.get_many_assessment_command_link(parameters_filter_assessment_command_link)
|
||||
|
||||
# Assessment Command Modality Links
|
||||
parameters_filter_command_modality = Parameters_Command_Modality.get_default()
|
||||
self.filter_command_modalities, errors = datastore_dog.get_many_command_modality(parameters_filter_command_modality)
|
||||
|
||||
parameters_filter_assessment_command_modality_link = Parameters_Assessment_Command_Modality_Link.from_form_filters_assessment(self.form_filters)
|
||||
assessment_command_modality_links, errors = datastore_dog.get_many_assessment_command_modality_link(parameters_filter_assessment_command_modality_link)
|
||||
|
||||
# Assessment Command Technique Links
|
||||
parameters_filter_training_technique = Parameters_Training_Technique.get_default()
|
||||
self.filter_training_techniques, errors = datastore_dog.get_many_training_technique(parameters_filter_training_technique)
|
||||
|
||||
parameters_filter_assessment_command_technique_link = Parameters_Assessment_Command_Technique_Link.from_form_filters_assessment(self.form_filters)
|
||||
assessment_command_technique_links, errors = datastore_dog.get_many_assessment_command_technique_link(parameters_filter_assessment_command_technique_link)
|
||||
|
||||
# Distractions + filters
|
||||
parameters_filter_distraction_type = Parameters_Distraction_Type.get_default(user_session.id_user)
|
||||
self.filter_distraction_types, errors = datastore_dog.get_many_distraction_type(parameters_filter_distraction_type)
|
||||
"""
|
||||
if len(self.filter_distraction_types) > 0:
|
||||
self.form_filters.id_distraction_type.choices += [(str(distraction_type.id_type), distraction_type.name) for distraction_type in self.filter_distraction_types]
|
||||
"""
|
||||
|
||||
parameters_filter_distraction_intensity_level = Parameters_Distraction_Intensity_Level.get_default(user_session.id_user)
|
||||
self.filter_distraction_intensity_levels, errors = datastore_dog.get_many_distraction_intensity_level(parameters_filter_distraction_intensity_level)
|
||||
"""
|
||||
if len(self.filter_distraction_intensity_levels) > 0:
|
||||
self.form_filters.id_intensity_level.choices += [(str(distraction_intensity_level.id_intensity_level), distraction_intensity_level.name) for distraction_intensity_level in self.filter_distraction_intensity_levels]
|
||||
"""
|
||||
|
||||
parameters_filter_distraction = Parameters_Distraction.from_form_filters_assessment(self.form_filters)
|
||||
distractions, errors = datastore_dog.get_many_distraction(parameters_filter_distraction)
|
||||
|
||||
# Assessment Command Modality Links + filters
|
||||
parameters_filter_command = Parameters_Command.get_default(user_session.id_user)
|
||||
self.filter_command_categories, self.filter_commands, errors = datastore_dog.get_many_command(parameters_filter_command)
|
||||
"""
|
||||
if len(self.filter_command_categories) > 0:
|
||||
self.form_filters.id_command_category.choices += [(str(command_category.id_command_category), command_category.name) for command_category in self.filter_command_categories]
|
||||
if len(self.filter_commands) > 0:
|
||||
Helper_App.console_log(f'filter commands: {self.filter_commands}')
|
||||
sorted_filter_commands = self.filter_commands
|
||||
sorted_filter_commands.sort(key = attrgetter('name'))
|
||||
Helper_App.console_log(f'sorted filter commands: {sorted_filter_commands}')
|
||||
self.form_filters.id_command.choices += [(str(command.id_command), command.name) for command in sorted_filter_commands] # .sort(key = lambda command: command[1])
|
||||
"""
|
||||
|
||||
parameters_filter_command_modality = Parameters_Command_Modality.get_default()
|
||||
self.filter_command_modalities, errors = datastore_dog.get_many_command_modality(parameters_filter_command_modality)
|
||||
"""
|
||||
if len(self.filter_command_modalities) > 0:
|
||||
self.form_filters.id_command_modality.choices += [(str(command_modality.id_command_modality), command_modality.name) for command_modality in self.filter_command_modalities]
|
||||
"""
|
||||
|
||||
parameters_filter_bribe = Parameters_Bribe.get_default(user_session.id_user)
|
||||
self.filter_bribes, errors = datastore_dog.get_many_bribe(parameters_filter_bribe)
|
||||
"""
|
||||
if len(self.filter_bribes) > 0:
|
||||
self.form_filters.id_bribe.choices += [(str(bribe.id_bribe), bribe.name) for bribe in self.filter_bribes]
|
||||
"""
|
||||
|
||||
parameters_filter_assessment_command_modality_link = Parameters_Assessment_Command_Modality_Link.from_form_filters_assessment(self.form_filters)
|
||||
assessment_command_modality_links, errors = datastore_dog.get_many_assessment_command_modality_link(parameters_filter_assessment_command_modality_link)
|
||||
|
||||
# Assessment Responses and filters
|
||||
parameters_filter_response_quality_metric = Parameters_Response_Quality_Metric.get_default(user_session.id_user)
|
||||
self.filter_response_quality_metrics, errors = datastore_dog.get_many_response_quality_metric(parameters_filter_response_quality_metric)
|
||||
"""
|
||||
if len(self.filter_response_quality_metrics) > 0:
|
||||
self.form_filters.id_response_quality_metric.choices += [(str(response_quality_metric.id_response_quality_metric), response_quality_metric.name) for response_quality_metric in self.filter_response_quality_metrics]
|
||||
"""
|
||||
|
||||
|
||||
parameters_filter_obedience_level = Parameters_Obedience_Level.get_default(user_session.id_user)
|
||||
self.filter_obedience_levels, errors = datastore_dog.get_many_obedience_level(parameters_filter_obedience_level)
|
||||
"""
|
||||
if len(self.filter_obedience_levels) > 0:
|
||||
self.form_filters.id_obedience_level.choices += [(str(obedience_level.id_obedience_level), obedience_level.name) for obedience_level in self.filter_obedience_levels]
|
||||
"""
|
||||
|
||||
|
||||
parameters_filter_assessment_response = Parameters_Assessment_Response.from_form_filters_assessment(self.form_filters)
|
||||
assessment_responses, errors = datastore_dog.get_many_assessment_response(parameters_filter_assessment_response)
|
||||
|
||||
for index_link in range(len(assessment_command_modality_links)):
|
||||
link = assessment_command_modality_links[index_link]
|
||||
link.assessment_responses = [response for response in assessment_responses if response.id_assessment_command_modality_link == link.id_link]
|
||||
assessment_command_modality_links[index_link] = link
|
||||
for index_link in range(len(assessment_command_links)):
|
||||
link = assessment_command_links[index_link]
|
||||
link.assessment_command_modality_links = [assessment_command_modality_link for assessment_command_modality_link in assessment_command_modality_links if assessment_command_modality_link.id_assessment_command_link == link.id_link]
|
||||
link.assessment_command_technique_links = [assessment_command_technique_link for assessment_command_technique_link in assessment_command_technique_links if assessment_command_technique_link.id_assessment_command_link == link.id_link]
|
||||
link.distractions = [distraction for distraction in distractions if distraction.id_assessment_command_link == link.id_link]
|
||||
link.assessment_responses = [response for response in assessment_responses if response.id_assessment_command_link == link.id_link]
|
||||
assessment_command_links[index_link] = link
|
||||
|
||||
for index_assessment in range(len(self.assessments)):
|
||||
assessment = self.assessments[index_assessment]
|
||||
|
||||
assessment.distractions = [distraction for distraction in distractions if distraction.id_assessment == assessment.id_assessment]
|
||||
assessment.assessment_command_modality_links = [link for link in assessment_command_modality_links if link.id_assessment == assessment.id_assessment]
|
||||
assessment.assessment_command_links = [link for link in assessment_command_links if link.id_assessment == assessment.id_assessment]
|
||||
|
||||
self.assessments[index_assessment] = assessment
|
||||
|
||||
|
||||
Reference in New Issue
Block a user