o
    h2                     @   s|   d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dl	m
Z
 d dlmZ d dlmZ d d	lmZ eed
d ZdS )    )JsonResponse)csrf_exempt)login_required)QN)Customer)Invoice)Ticket)Employeec              
   C   s  | j dkrtddiddS zGt| j}|dd }t|dk r*td	g iW S g }| jj	rit
jt|d
t|dB t|dB t|dB d d }|D ]}|d|j|j d|j d|j ddd qN| jj	rtjt|dt|dB dd d }ntjj| jdt|dd d }|D ]}|dd|j |jj d|j d|j ddd q| jj	rtjt|dt|dB t|dB dd d }ntjj| jdt|dt|dB d d }|D ]}	|d|	j|	j d|	  d |	j dd!d q| jj	rKtjt|d
t|dB t|d"B d d }
|
D ]"}|d#|j|j d|jr;|jjnd$ d%|j dd&d q(td	|d d' iW S  t yr } ztdt!|id(dW  Y d }~S d }~ww ))NPOSTerrorzMethod not allowedi  )statusquery    results)full_name__icontains)email__icontains)customer_id__icontains)phone__icontains   customerz - z/customers//z	bi-person)typetitlesubtitleurlicon)invoice_number__icontains)customer__full_name__icontains)customer__userinvoicez	Invoice #z - $z/billing/invoices/z
bi-receipt)title__icontains)ticket_number__icontainsticketz	/tickets/z
bi-headset)employee_id__icontainsemployeezNo Departmentz/hr/employees/zbi-person-badge   i  )"methodr   jsonloadsbodygetstriplenuseris_staffr   objectsfilterr   append	full_namecustomer_idemailidr   select_relatedinvoice_numberr   total_amountr   r   ticket_numberget_status_displayr	   employee_id
departmentname	Exceptionstr)requestdatar   r   	customersr   invoicesr    ticketsr#   	employeesr%   e rH   ;/var/www/html/optinet_system/django_project/search_views.pyglobal_search   s   

	

	

	 rJ   )django.httpr   django.views.decorators.csrfr   django.contrib.auth.decoratorsr   django.db.modelsr   r(   customers.modelsr   billing.modelsr   tickets.modelsr   	hr.modelsr	   rJ   rH   rH   rH   rI   <module>   s   