106 lines
3.5 KiB
Python
106 lines
3.5 KiB
Python
from test_application.evyos.bases import requester, active_and_confirmed
|
|
from test_application.evyos.datas.get_occupants_codes import get_occupants_types
|
|
from test_application.evyos.datas.get_type_codes import get_type_codes_key_and_class
|
|
|
|
|
|
decision_book_items_dict = lambda token, item_comment, info_type_uu_id, unit_price, is_fixed, st, ed: {
|
|
"token": token,
|
|
"item_comment": f"Test {item_comment}",
|
|
"info_type_uu_id": info_type_uu_id,
|
|
"unit_price": unit_price,
|
|
"unit_price_is_fixed": is_fixed,
|
|
"debit_start_date": st,
|
|
"debit_end_date": ed,
|
|
**active_and_confirmed,
|
|
}
|
|
|
|
|
|
def create_decision_book_items(decision_book_items):
|
|
response = requester.post(
|
|
endpoint="/build/decision_book/items/create",
|
|
data=decision_book_items,
|
|
)
|
|
print("text", response.text)
|
|
print("json", response.json())
|
|
return response.json()
|
|
|
|
|
|
def send_invitation_to_building_residents(send_invitation_dict):
|
|
response = requester.post(
|
|
endpoint="/build/decision_book/invite/create",
|
|
data=send_invitation_dict,
|
|
)
|
|
print("text", response.text)
|
|
print("json", response.json())
|
|
return response.json()
|
|
|
|
|
|
def assign_people_to_pre_or_wrt(
|
|
person_uu_id: str, manager_token: str, occupant_code: str
|
|
):
|
|
response = requester.post(
|
|
endpoint="/build/decision_book/invitations/assign",
|
|
data={
|
|
"token": manager_token,
|
|
"build_living_space_uu_id": person_uu_id,
|
|
"occupant_type_uu_id": get_occupants_types(occupant_code=occupant_code)[
|
|
"data"
|
|
]["uu_id"],
|
|
},
|
|
)
|
|
print("text", response.text)
|
|
print("json", response.json())
|
|
return response.json()
|
|
|
|
|
|
def collect_invitation_to_building_residents(
|
|
attended_dict_list: list, attend_count: int
|
|
):
|
|
for cnt, attended_token in enumerate(attended_dict_list):
|
|
attended_dict = {"token": attended_token, "is_attend": False}
|
|
if cnt + 1 < attend_count:
|
|
attended_dict["is_attend"] = True
|
|
response = requester.post(
|
|
endpoint="/build/decision_book/invitations/attend",
|
|
data=attended_dict,
|
|
)
|
|
print("text", response.text)
|
|
print("json", response.json())
|
|
return
|
|
|
|
|
|
def create_decision_book_items_with_occupant_user(
|
|
writers_token: str, unit_price: float, is_fixed: bool, info_type_uu_id: str,
|
|
start_date: str = None, end_date: str = None
|
|
):
|
|
print("create_decision_book_items_with_occupant_user : ", writers_token)
|
|
list_of_items = [
|
|
decision_book_items_dict(
|
|
token=writers_token,
|
|
item_comment="This is an item debit for test purposes",
|
|
info_type_uu_id=info_type_uu_id,
|
|
unit_price=unit_price,
|
|
is_fixed=is_fixed,
|
|
st=start_date,
|
|
ed=end_date
|
|
),
|
|
]
|
|
for item in list_of_items:
|
|
print("item", item)
|
|
create_decision_book_items(item)
|
|
return
|
|
|
|
|
|
def run_decision_book_items(
|
|
writers_token, unit_price, info_type_uu_id, is_fixed, start_date=None, end_date=None
|
|
):
|
|
if start_date and end_date:
|
|
create_decision_book_items_with_occupant_user(
|
|
writers_token=writers_token, unit_price=unit_price, is_fixed=is_fixed, info_type_uu_id=info_type_uu_id,
|
|
start_date=start_date, end_date=end_date
|
|
)
|
|
else:
|
|
create_decision_book_items_with_occupant_user(
|
|
writers_token=writers_token, unit_price=unit_price, is_fixed=is_fixed, info_type_uu_id=info_type_uu_id,
|
|
)
|