diff --git a/app/main.py b/app/main.py index 447fbb2..fabab44 100644 --- a/app/main.py +++ b/app/main.py @@ -14,18 +14,34 @@ from app.constants import * app = FastAPI() templates = Jinja2Templates(directory="templates") try: - locale.setlocale(locale.LC_TIME, 'ru_RU') + locale.setlocale(locale.LC_TIME, "ru_RU") except Exception as e: logger.error(e) + # Создаем кастомный фильтр для форматирования дат def format_datetime(value, format="%d %B %Y, %H:%M:%S"): """Форматирует дату в человекочитаемый вид.""" date = datetime.fromisoformat(value) return date.strftime(format) +statuses = [] +def get_statuses(): + get_status_hook = f"{WEBHOOK}/crm.status.list" + status_data = requests.get(get_status_hook) + status_data_json = status_data.json() + global statuses + statuses = status_data_json["result"] + +# Создаем кастомный фильтр для форматирования дат +def format_status(value): + res = [r["NAME"] for r in statuses if r["ID"] == value] + return res[0] if len(res) else value + + # Регистрируем фильтр в Jinja2Templates -templates.env.filters['format_datetime'] = format_datetime +templates.env.filters["format_status"] = format_status +templates.env.filters["format_datetime"] = format_datetime @app.get("/") @@ -142,17 +158,25 @@ async def deal_tab( deal_id = 49 select = [ - 'ID', 'TITLE', 'RESPONSIBLE_ID', 'CREATED_DATE', 'DEADLINE', 'STAGE_ID', 'GROUP_ID' + "ID", + "TITLE", + "RESPONSIBLE_ID", + "CREATED_DATE", + "DEADLINE", + "STATUS", + "GROUP_ID", ] get_task_hook = f"{WEBHOOK}/tasks.task.list?{'&'.join([f'select[]={s}' for s in select])}&filter[UF_CRM_TASK]=D_{deal_id}" task_data = requests.get(get_task_hook) task_data_json = task_data.json() - + # logger.info(task_data_json["result"]["tasks"]) parts = WEBHOOK.split("/") domain = f"https://{parts[2]}" return templates.TemplateResponse( - request=request, name="deal_tab.html", context={"tasks": task_data_json["result"]["tasks"], "domain":domain} + request=request, + name="deal_tab.html", + context={"tasks": task_data_json["result"]["tasks"], "domain": domain}, ) return {"status": "success", "result": task_data_json} diff --git a/templates/deal_tab.html b/templates/deal_tab.html index 20a75da..2bd20f2 100644 --- a/templates/deal_tab.html +++ b/templates/deal_tab.html @@ -10,7 +10,7 @@