
    B
dN                     .    d dl  d dlmZ  G d d      Zy)    )*)Helpersc                       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y)DeskApic                 D    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    c                 D    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r   c                 D    t        j                  j                  |i |}|S )u/   
        Создание тикета
        )r   r	   creater   s       r   create_ticketzDeskApi.create_ticket   s"    
 &&77r   c                 p    t         j                  j                  |d         } |j                  |i |}|S )Nfilterr   )r   r	   r
   update)r   r   r   r   results        r   update_ticketzDeskApi.update_ticket   s8    ##6(+;#<//r   c                 T    t        j                  j                  g ||d   i |}|S )uO   
        Получение комментариев по тикету
        fields)r   
CmfCommentr   )r   r   r   commentss       r   get_ticket_commentszDeskApi.get_ticket_comments%   s1    
 $$))L4L1ALVLr   c                 D    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                 p    t         j                  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r   c                 D    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1r   c                 Z    |j                  dd      }|t        j                  |      }|S y)u`   
        Получение доступных продуктов для клиента
        	person_idN)r
   r   get_products_from_deals)r   r   r   r1   productss        r   get_available_productszDeskApi.get_available_productsM   s2    
 JJ{D1	 66yAHOr   c                 .    t        j                         }|S )u>   
        Получение всех статусов
        )r   get_statuses)r   r   r   statusess       r   r6   zDeskApi.get_statusesY   s    
 '')r   c                 T    |j                  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33LA	r   c                    |j                  dd      }|j                  dd      }|j                  dd      }|j                  dd      }||t        j                  j                  |      }t        j                  j                  |      }t        j                  j	                         }	|	j                  |j                  j                  ||j                  j                  |       yy)	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zz+t4**Y-**Y-%,*B **....AK((,,,=I..@@BH!!)//"7"7+BSBSBYBY[bcr   c                    |j                  dd      }|j                  dd      }|t        j                  j                  |g d      }|j                  j                  xs |j
                  j                  }|st        dt         d       yt        j                  j                         }|j                  ||       y	y)
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**Y-#((,,(h - jI**11KY__5K5KEPQWPX  Yx  y  z..@@BH!!)W5r   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 	 	      $  r   r   N)cmf.include modules.helpdesk.helpers.helpersr   r   r\   r   r   <module>r_      s     4J Jr   