alchemy functions updated

This commit is contained in:
2024-11-10 13:16:45 +03:00
parent 7a7241c71c
commit eb947ecb3d
10 changed files with 140 additions and 92 deletions

View File

@@ -132,7 +132,7 @@ class DecisionBookCreateEventMethods(MethodToEvent):
),
)
elif isinstance(token_dict, OccupantTokenObject):
occupant_manager = OccupantTypes.find_one(
occupant_manager = OccupantTypes.filter_by_one(
occupant_category_type="BU", occupant_code="BU-MNG"
)
if not token_dict.selected_occupant.occupant_type_id == occupant_manager.id:
@@ -145,9 +145,9 @@ class DecisionBookCreateEventMethods(MethodToEvent):
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).get(1)
occupant_company = Companies.find_one(
occupant_company = Companies.filter_one(
Companies.id == token_dict.selected_occupant.responsible_company_id,
Companies.active == True,
*Companies.valid_record_args(Companies),
).get(1)
data_dict["build_id"] = occupant_build.id
data_dict["build_uu_id"] = str(occupant_build.uu_id)

View File

@@ -42,7 +42,10 @@ class DecisionBookDecisionBookItemsListEventMethods(MethodToEvent):
data: ListDecisionBook,
token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject],
):
decision_book = BuildDecisionBook.find_one(uu_id=data.build_decision_book_uu_id)
decision_book = BuildDecisionBook.filter_one(
BuildDecisionBook.uu_id==data.build_decision_book_uu_id,
*BuildDecisionBook.valid_record_args(BuildDecisionBook),
)
if not decision_book:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
@@ -227,17 +230,20 @@ class DecisionBookDecisionBookItemsCreateEventMethods(MethodToEvent):
BuildDecisionBookProjects.build_decision_book_id == decision_book.id,
BuildDecisionBookProjects.project_type
== f"{decision_book.decision_type}_{data_info_type.key}",
)
management_room = BuildParts.find_one(
build_id=build_id, part_no=0, active=True, is_confirmed=True
)
occupant_man = OccupantTypes.find_one(
).data
management_room = BuildParts.filter_one(
BuildParts.build_id==build_id,
BuildParts.part_no==0,
*BuildParts.valid_record_args(BuildParts),
).data
occupant_man = OccupantTypes.filter_by_one(
occupant_code="MT-VPR", occupant_category_type="MT"
)
manager_living_space = BuildLivingSpace.filter_by_active(
build_parts_id=management_room.id,
occupant_type=occupant_man.id,
)
).data
manager_living_space = BuildLivingSpace.filter_one(
BuildLivingSpace.build_parts_id==management_room.id,
BuildLivingSpace.occupant_type==occupant_man.id,
*BuildLivingSpace.valid_record_args(BuildLivingSpace)
).data
if not manager_living_space.data:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
@@ -266,9 +272,9 @@ class DecisionBookDecisionBookItemsCreateEventMethods(MethodToEvent):
item_comment=f"{book_project_created.project_no}_{book_project_created.project_name} "
f"is assigned to {occupant_man.occupant_description}"
)
project_lead = ApiEnumDropdown.find_one(
project_lead = ApiEnumDropdown.filter_by_one(
key="PTT-LDR", enum_class="ProjectTeamTypes"
)
).data
project_person = BuildDecisionBookProjectPerson.find_or_create(
build_decision_book_project_id=book_project_created.id,
build_decision_book_project_uu_id=str(book_project_created.uu_id),
@@ -305,9 +311,9 @@ class DecisionBookDecisionBookItemsCreateEventMethods(MethodToEvent):
)
elif isinstance(token_dict, OccupantTokenObject):
data_dict = data.dump()
occupant_wrt = OccupantTypes.find_one(
occupant_wrt = OccupantTypes.filter_by_one(
occupant_code="MT-WRT", occupant_category_type="MT"
)
).data
if token_dict.selected_occupant.occupant_type_id != occupant_wrt.id:
raise HTTPException(
@@ -315,10 +321,14 @@ class DecisionBookDecisionBookItemsCreateEventMethods(MethodToEvent):
detail="Only WRITER can create decision book item. Check your occupant type and try again",
)
decision_book_person = BuildDecisionBookPerson.find_one(token=data.token)
decision_book = BuildDecisionBook.find_one(
id=decision_book_person.build_decision_book_id
)
decision_book_person = BuildDecisionBookPerson.filter_one(
BuildDecisionBookPerson.token==data.token,
*BuildDecisionBookPerson.valid_record_args(BuildDecisionBookPerson)
).data
decision_book = BuildDecisionBook.filter_one(
BuildDecisionBook.id==decision_book_person.build_decision_book_id,
*BuildDecisionBook.valid_record_args(BuildDecisionBook)
).data
BuildDecisionBookItems.check_meeting_is_valid_to_start_add_attendance(
decision_book=decision_book,
token_dict=token_dict,

View File

@@ -61,9 +61,10 @@ class DecisionBookPersonAddEventMethods(MethodToEvent):
detail="Employee cannot create decision book invitations",
)
elif isinstance(token_dict, OccupantTokenObject):
decision_book = BuildDecisionBook.find_one(
uu_id=data.build_decision_book_uu_id
)
decision_book = BuildDecisionBook.filter_one(
BuildDecisionBook.uu_id==data.build_decision_book_uu_id,
*BuildDecisionBook.valid_record_args(BuildDecisionBook)
).data
if not decision_book:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,

View File

@@ -183,10 +183,11 @@ class BuildDecisionBookInvitationsCreateEventMethods(MethodToEvent):
)
# Check if the invitation is already created at database
for build_living_spaces_user in build_living_spaces_people:
if invite := BuildDecisionBookPerson.find_one(
invite_id=book_invitation.id,
build_living_space_id=build_living_spaces_user.id,
):
if invite := BuildDecisionBookPerson.filter_one(
BuildDecisionBookPerson.invite_id==book_invitation.id,
BuildDecisionBookPerson.build_living_space_id==build_living_spaces_user.id,
*BuildDecisionBookPerson.valid_record_args(BuildDecisionBookPerson)
).data:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail=f"Invitation already send to {build_living_spaces_user.email} "