
    ~gh                        d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ  ed	d
g      Zej/                  d       ee       ee      fde
dedefd       Zej/                  d       ee       ee      fdededefd       Zej/                  d       ee       ee      fdededefd       Zej/                  d       ee       ee      fdededefd       Zej9                  d       ee      fdedefd       Zej/                  d       ee      fdedefd       Zej/                  d       ee      fdedefd       Z ej/                  d       ee      fde	defd        Z!ej9                  d!       ee      fdedefd"       Z"ej9                  d#       ee      fdedefd$       Z#ej9                  d%       ee      fdedefd&       Z$ej9                  d'       ee      fdedefd(       Z%ej9                  d)       ee      fdedefd*       Z&ej/                  d+       ee      fdedefd,       Z'ej9                  d-       ee      fdefd.       Z(y/)0    )	APIRouterDepends)get_db)Session)GenerateCustomerTicketGeneratedCustomerTicketListCustomerTicketList GenerateCustomerCreditNoteTicketCustomerTicketSearchToBeAcceptedCustomerTicketChangeStatusInCustomerTicket)CustomerTicketClass)CustomerClass)get_current_active_user)	UserLoginz/customer_ticketsCustomerTickets)prefixtags/customer_ticket_inputssession_userdbc                     t        |      j                  |j                  |j                  d| j                        }d|iS )N   message)r   get_allrol_idrutpager   r   r   datas       P/var/www/intrajisbackend.com/public_html/app/backend/routers/customer_tickets.pyindexr#      s<    r"**<+>+>@P@PRSUkUpUpqDt    z/searchc           
          t        |      j                  |j                  |j                  | j                  | j                  | j
                  | j                  | j                  | j                        }d|iS Nr   )	r   searchr   r   branch_office_idcustomer	status_idsupervisor_idr   r    s       r"   r'   r'      s    r")),*=*=|?O?OQgQxQx  {Q  {U  {U  Xn  Xw  Xw  yO  yY  yY  [q  [  [  AW  A\  A\  ]Dtr$   z/generate_ticketc                 .   t        |      j                  | j                        }| j                  dk(  rE|dk(  rt        |      j	                  |        n%t        |      j                  | j                  |        t        |      j                  |       }d|iS Nr   zCustomer does not existr   )r   check_existencer   	will_savestoreupdater   generater   r   r   existence_datar!   s        r"   generate_ticketr5      s    "2&667M7Q7QRN''1,66"##$:;"$$%;%?%?AWXr"++,BCDtr$   z/storec                 D   t        |      j                  | j                        }| j                  dk(  rE|dk(  rt        |      j	                  |        n%t        |      j                  | j                  |        t        |      j	                  | |j                        }d|iS r-   )r   r.   r   r/   r0   r1   r   r   r3   s        r"   r0   r0   )   s    "2&667M7Q7QRN''1,66"##$:;"$$%;%?%?AWXr"(()?ATATUDtr$   z/pre_accept/{id}idc                 >    t        |      j                  |       }d|iS r&   )r   
pre_acceptr7   r   r!   s      r"   r9   r9   7   s"    r"--b1Dtr$   z/generate_credit_note"customer_credit_note_ticket_inputsc                 >    t        |      j                  |       }d|iS r&   )r   store_credit_note)r;   r   r!   s      r"   generate_credit_noter>   =   s#    r"445WXDtr$   z/to_be_acceptedc                 .   t        |      j                  | j                        }| j                  dk(  rE|dk(  rt        |      j	                  |        n%t        |      j                  | j                  |        t        |      j                  |       }d|iS r-   )r   r.   r   r/   r0   r1   r   )r   r   r4   r!   s       r"   to_be_acceptedr@   C   s    "2&667M7Q7QRN''1,66"##$:;"$$%;%?%?AWXr"))*@ADtr$   z/generated_ticketsc                 T    t        |      j                  d| j                        }d|iS )N   r   )r   r   r   r   r   r!   s      r"   generated_ticketsrD   Q   s+    r"**1.D.I.IJDtr$   z/download/{id}c                 >    t        |      j                  |       }d|iS r&   )r   downloadr:   s      r"   rF   rF   W   s"    r"++B/Dtr$   z/verify/{id}c                 >    t        |      j                  |       }d|iS r&   )r   verifyr:   s      r"   rH   rH   ]   "    r"))"-Dtr$   z
/edit/{id}c                 >    t        |      j                  |       }d|iS r&   )r   getr:   s      r"   editrL   c   s"    r"&&r*Dtr$   z/delete/{id}c                 >    t        |      j                  |       }d|iS r&   )r   deleter:   s      r"   rN   rN   i   rI   r$   z/reject/{id}c                 >    t        |      j                  |       }d|iS r&   )r   rejectr:   s      r"   rP   rP   o   rI   r$   z/change_statusc                 >    t        |      j                  |       }d|iS r&   )r   change_statusrC   s      r"   rR   rR   u   s#    r"001GHDtr$   z/check_paymentsc                 <    t        |       j                         }d|iS r&   )r   check_payments)r   r!   s     r"   rT   rT   {   s     r"113Dtr$   N))fastapir   r   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr   r   r	   r
   r   r   r   )app.backend.classes.customer_ticket_classr   "app.backend.classes.customer_classr   app.backend.auth.auth_userr   r   customer_ticketspostr#   r'   r5   r0   rK   intr9   r>   r@   rD   rF   rH   rL   rN   rP   rR   rT    r$   r"   <module>r`      s   & * " Z  Z  Z I < > )
	 
 sOVWnOo  @G  HN  @O !3 9 u|  
 y!RYZqRr  CJ  KQ  CR "6 i x  "
 )*]de|]}  NU  V\  N] +A QZ   DK  + x SZ[rSs  DK  LR  DS !7 y   zA  ! ()%,V_ # 7  *
 ./lstzl{ <\ bi  0
 ()T[\bTc *D '  * +,X_`fXg -H g  -
 &'#*6?    (
 n%!( c w  &
 l#&v C W  $
 n%!( c w  &
 n%!( c w  &
 '(U\]cUd )E 7  )
 '(!( w  )r$   