
    EfN                     4    d dl T d dlmZ  G d d          ZdS )    )*)Helpersc                   B   e Zd Zed             Zed             Zed             Zed             Zed             Zed             Z	ed             Z
ed             Zed	             Zed
             Zed             Zed             Zed             Zed             ZdS )DeskApic                 2    t          j        j        |i |}|S )u1   
        Получение тикета
        )modelsCmfTaskgetclsargskwargstickets       !./modules/helpdesk/api/deskapi.py
get_ticketzDeskApi.get_ticket   s     
 #T4V44    c                 2    t          j        j        |i |}|S )u-   
        Список тикетов
        )r   r	   list)r   r   r   ticketss       r   get_tickets_listzDeskApi.get_tickets_list   s     
 .%t6v66r   c                 2    t          j        j        |i |}|S )u/   
        Создание тикета
        )r   r	   creater   s       r   create_ticketzDeskApi.create_ticket   s     
 &777r   c                 l    t           j                            |d                   } |j        |i |}|S )Nfilterr   )r   r	   r
   update)r   r   r   r   results        r   update_ticketzDeskApi.update_ticket   s:    ##6(+;#<<///r   c                 H    t          j        j        g ||d         R i |}|S )uO   
        Получение комментариев по тикету
        fields)r   
CmfCommentr   )r   r   r   commentss       r   get_ticket_commentszDeskApi.get_ticket_comments%   s4    
 $)L4L1ALLLVLLr   c                 2    t          j        j        |i |}|S )uI   
        Добавить комментарий к тикету
        )r   r"   r   )r   r   r   comments       r   add_ticket_commentzDeskApi.add_ticket_comment-   s!    
 #*D;F;;r   c                 l    t           j                            |d                   } |j        |i |}|S )uI   
        Изменить комментарий к тикету
        r   r   )r   r"   r
   r   )r   r   r   r&   r   s        r   update_ticket_commentzDeskApi.update_ticket_comment5   s=    
 #''vh/?'@@000r   c                 2    t          j        j        |i |}|S )u7   
        Аттач файла к тикету
        )r   CmfAttachmentr   )r   r   r   attachs       r   add_attachmentzDeskApi.add_attachment>   s!    
 %,d=f==r   c                      | j         |i |S )uE   
        Обновление оценки по тикету
        )r   )r   r   r   s      r   save_ticket_raitingzDeskApi.save_ticket_raitingF   s    
 !s $1&111r   c                 b    |                     dd          }|t          j        |          }|S dS )u`   
        Получение доступных продуктов для клиента
        	person_idN)r
   r   get_products_from_deals)r   r   r   r1   productss        r   get_available_productszDeskApi.get_available_productsM   s7    
 JJ{D11	 6yAAHOtr   c                 ,    t          j                    }|S )u>   
        Получение всех статусов
        )r   get_statuses)r   r   r   statusess       r   r6   zDeskApi.get_statusesY   s    
 '))r   c                 Z    |                     dd          }t          j        |          }|S )u;   
        Получение исполнителя
        product_nameN)r
   r   find_engineer_to_attach)r   r   r   r9   r1   s        r   get_executorszDeskApi.get_executorsa   s-    
 zz.$773LAA	r   c                    |                     dd          }|                     dd          }|                     dd          }|                     dd          }||t          j                             |          }t          j                             |          }t          j                                        }	|	                    |j        j        ||j        j        |           dS dS )	uI   
        Отправка уведомления на почту
        from_personN	to_personsubjectmessage)idTF)r
   r   	CmfPersonCmfPluginMailBoxget_local_mailboxsend_messageloginvalue)
r   r   r   from_person_idto_person_idr?   r@   r=   r>   mail_boxs
             r   send_notify_by_emailzDeskApi.send_notify_by_emailj   s    
  M488zz+t44**Y--**Y--%,*B *....AAK(,,,==I.@@BBH!!)/"7+BSBY[bccc4ur   c                 |   |                     dd          }|                     dd          }|t          j                             |g d          }|j        j        p|j        j        }|st          dt           d           dS t          j        	                                }|
                    ||           d	S dS )
uK   
        Отправка уведомления через смс
        r>   Nr@   )rF   notify_email
notify_smsphonephone_mobile)rA   r!   u4   SMS уведомление пользователю u_    не отправлено, не указан номер мобильного телефона.FT)r
   r   rB   rP   numberrO   	cmf_alertpersonCmfPluginSMSGateget_local_smsgaterE   )r   r   r   rI   r@   r>   rO   sms_gates           r   send_notify_by_smszDeskApi.send_notify_by_sms}   s    
 zz+t44**Y--#(,,(h(h(h - j jI*1KY_5KE   yQW  y  y  y  z  z  zu.@@BBH!!)W5554ur   N)__name__
__module____qualname__classmethodr   r   r   r   r$   r'   r)   r-   r/   r4   r6   r;   rK   rW    r   r   r   r      s         [   [   [   [
   [   [   [   [ 2 2 [2 	 	 [	   [   [   [$   [  r   r   N)cmf.include modules.helpdesk.helpers.helpersr   r   r\   r   r   <module>r_      s_        4 4 4 4 4 4J J J J J J J J J Jr   