U
    !j&                     @  sr   d Z ddlmZ ddlZddlZdddddZddd	d
ddZddddd	dddZddddd	dddZdS )u   Логика согласования: показ карточки с черновиком, кнопки и их обработка.    )annotationsNstrz
list[dict])
pending_idreturnc                 C  s,   dd| dddddd| dd	d
d| dd	gS )u   Кнопки клавиатуры бота. COMMAND_PARAMS несёт id заявки.

    Нажатие кнопки с COMMAND порождает событие ONIMCOMMANDADD.u   ✅ Отправитьapprovez#1ba536z#ffffffLINE)TEXTCOMMANDCOMMAND_PARAMSZBG_COLORZ
TEXT_COLORDISPLAYu   ✏️ Поправитьedit)r   r	   r
   r   u   ⏭️ Пропуститьskip )r   r   r   //var/www/spa-bitrix.ru/bitrix_asist/approval.py	_keyboard   s      r   None)domainoperator_dialogr   c                   s@   d|j  d|j d|j d}tj| ||t|jdI dH  dS )uY   Шлёт оператору карточку с входящим и черновиком.u-   [b]Новое сообщение[/b] (чат z)
[i]u,   [/i]

[b]Черновик ответа:[/b]
u2   

Отправить от твоего имени?)keyboardN)	dialog_idincomingdraftbitrixbot_messager   id)r   r   pendingtextr   r   r   present_draft   s    r   )r   commandparamsr   r   c                   s   |pd  }t|}|r$|jdkr<t| |dI dH  dS |dkrt| |j|jI dH  tj	|dd t| |dI dH  nd|d	krtj	|d
d t| |dI dH  n8|dkrt
| }t| |d | t| |dI dH  dS )u@   Обработка нажатия кнопки (ONIMCOMMANDADD). newu0   Эта заявка уже обработана.Nr   sentstatusu   ✅ Отправлено.r   ZskippeduB   ⏭️ Пропущено, ничего не отправлено.r   operator_idu   ✏️ Пришли исправленный текст одним сообщением — отправлю его вместо черновика.)stripstoreget_pendingr$   r   r   send_as_userr   r   update_pending
get_portalset_edit_state)r   r   r   r   r   popr   r   r   handle_command!   s(    

 r/   )r   r   r   new_textr   c                   sz   t |}|r|jdkr0t| |dI dH  dS t j||d t| |j|I dH  t j|dd t| |dI dH  dS )un   Оператор прислал отредактированный текст — отправляем его.r!   u)   Заявка уже обработана.N)r   r"   r#   u;   ✅ Отправлен исправленный ответ.)r'   r(   r$   r   r   r*   r)   r   )r   r   r   r0   r-   r   r   r   handle_edit_text;   s    
r1   )	__doc__
__future__r   r   r'   r   r   r/   r1   r   r   r   r   <module>   s   