
    >	j+                     F   S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
JrJr  S SKJrJr  S SKJr  S r " S	 S
\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      rg)    )renderredirect)View)messages)LoginRequiredMixin)Asset
Stock_ItemStock_Transaction)TeamVendors)Projectsc                 j     [        U R                  R                  U5      S:H  $ ! [         a     gf = f)N   F)getattr	user_typeuser_permission	Exception)user
field_names     %/var/www/html/KUNJ/inventory/views.pyhas_permr      s5    t~~55zBaGG s   "% 
22c                       \ rS rSrS rSrg)InventoryDashboardView   c           	         [        UR                  S5      (       d=  [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ [
        R                  R                  5       n[        S U 5       5      n[        US[        R                  R                  5       [        R                  R                  SS9R                  5       UR                  5       US	.5      $ )
Ninventory_asset_viewinventory_stock_viewz1You don't have permission to view this dashboard.userDepartmentViewc              3   J   #    U  H  oR                   (       d  M  S v   M     g7f)r   N)is_low_stock).0items     r   	<genexpr>-InventoryDashboardView.get.<locals>.<genexpr>   s     MKD;L;LaaKs   #	#zinventory-dashboard.htmlIssuedstatus)total_assetsassets_issuedtotal_stock_itemslow_stock_count)r   r   r   errorr   r	   objectsallsumr   r   countfilter)selfrequeststock_itemsr+   s       r   getInventoryDashboardView.get   s    '=>>(7<<YoBpBpNN7$WX011 ((,,.MKMMg9!MM//1"]]111BHHJ!,!2!2!4.	<
  	     N__name__
__module____qualname____firstlineno__r5   __static_attributes__r8   r7   r   r   r      s    r7   r   c                        \ rS rSrS rS rSrg)AssetRegistrationView$   c                     [         R                  R                  5       n[        R                  R                  5       n[	        USX#S.5      $ )Nzasset-registration.html)vendorsmembers)r   r-   r.   r   r   )r2   r3   rC   rD   s       r   r5   AssetRegistrationView.get&   s9    //%%',,""$g8g:bccr7   c                    [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ [        5       nUR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      Ul        UR                  R                  S	5      =(       d    S Ul        UR                  R                  S
5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      Ul        UR*                  R                  S5      (       a   UR*                  R                  S5      Ul        UR*                  R                  S5      (       a   UR*                  R                  S5      Ul         UR1                  5         [        R4                  " US5        [	        S5      $ ! [2         a/  n[        R                  " USU 35        [	        S5      s S nA$ S nAff = f)Ninventory_asset_addz(You don't have permission to add assets.
AssetsView
asset_namecategory	asset_tagpurchase_datepurchase_costvendor	conditionr'   assigned_to
issue_datereturn_datewarranty_expirynotesphotoinvoiceCould not save asset: r@   zAsset registered successfully.)r   r   r   r,   r   r   POSTr5   rI   rJ   rK   rL   rM   	vendor_idrO   r'   assigned_to_idrQ   rR   rS   rT   FILESrU   rV   saver   success)r2   r3   assetes       r   postAssetRegistrationView.post+   s/   &;<<NN7$NOL))"<<++L9 ))*5!,,**;7%ll..?G4%ll..?!,,**84<!,,**;7||''1&||//>F$"<<++L9AT#LL,,];Ct ' 0 01B C Ktll&&w/==W%%!--++G4EK==Y''#MM--i8EM	5JJL 	"BC%%	  	5NN7&<QC$@A344	5s   K 
L
$L?L
L
r8   Nr:   r;   r<   r=   r5   r`   r>   r8   r7   r   r@   r@   $   s    d
&r7   r@   c                        \ rS rSrS rS rSrg)rH   J   c                    [         R                  R                  5       nSUR                  ;   a?  UR                  S   S:w  a,  UR	                  UR                  S   S9nUR                  S   nOSnSUR                  ;   a?  UR                  S   S:w  a,  UR	                  UR                  S   S9nUR                  S   nOSn[        USX#US.5      $ )Nr'   Allr&   rJ   rJ   zassets.html)assetsr'   rJ   )r   r-   r.   GETr1   r   )r2   r3   rh   r'   rJ   s        r   r5   AssetsView.getL   s    ""$w{{"w{{8'<'E]]'++h*?]@F[[*FF$Z)@E)I]]GKK
,C]DF{{:.HHg}_g.hiir7   c                    [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $  [
        R                  R                  UR                  R                  S5      S9nUR                  5         [        R                  " US5        [	        S5      $ ! [
        R                   a    [        R                  " US5         N8f = f)Ninventory_asset_deletez+You don't have permission to delete assets.rH   idrm   zAsset deleted successfully.zAsset doesn't exist.)r   r   r   r,   r   r   r-   r5   rX   deleter]   DoesNotExist)r2   r3   r^   s      r   r`   AssetsView.postZ   s    &>??NN7$QRL))	<MM%%)9)9$)?%@ELLNW&CD %% !! 	<NN7$:;	<   AB' '+CCr8   Nrb   r8   r7   r   rH   rH   J   s    j
&r7   rH   c                        \ rS rSrS rS rSrg)EditAssetViewg   c                     [         R                  R                  US9n[        R                  R	                  5       n[
        R                  R	                  5       n[        USX4US.5      $ )Nrn   zedit-asset.html)r^   rC   rD   )r   r-   r5   r   r.   r   r   )r2   r3   rm   r^   rC   rD   s         r   r5   EditAssetView.geti   sS    !!R!(//%%',,""$g0Ebi2jkkr7   c                 >   [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ [
        R                  R                  US9nUR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S5      Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S	5      Ul        UR                  R                  S
5      =(       d    S Ul        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      =(       d    S Ul        UR                  R                  S5      Ul        UR,                  R                  S5      (       a   UR,                  R                  S5      Ul        UR,                  R                  S5      (       a   UR,                  R                  S5      Ul         UR3                  5         [        R6                  " US5        [	        S5      $ ! [4         a.  n[        R                  " USU 35        [	        SUS9s S nA$ S nAff = f)Ninventory_asset_editz)You don't have permission to edit assets.rH   rn   rI   rJ   rK   rL   rM   rN   rO   r'   rP   rQ   rR   rS   rT   rU   rV   rW   rt   zAsset updated successfully.)r   r   r   r,   r   r   r-   r5   rX   rI   rJ   rK   rL   rM   rY   rO   r'   rZ   rQ   rR   rS   rT   r[   rU   rV   r\   r   r]   )r2   r3   rm   r^   r_   s        r   r`   EditAssetView.posto   s@   &<==NN7$OPL))!!R!("<<++L9 ))*5!,,**;7%ll..?G4%ll..?!,,**84<!,,**;7||''1&||//>F$"<<++L9AT#LL,,];Ct ' 0 01B C Ktll&&w/==W%%!--++G4EK==Y''#MM--i8EM	4JJL 	"?@%%	  	4NN7&<QC$@AO33	4s   2K$ $
L.#LLLr8   Nrb   r8   r7   r   rt   rt   g   s    l&r7   rt   c                        \ rS rSrS rS rSrg)StockItemRegistrationView   c                     [        US5      $ )Nzstock-item-registration.html)r   )r2   r3   s     r   r5   StockItemRegistrationView.get   s    g=>>r7   c                    [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ [        5       nUR                  R                  S5      Ul        UR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S5      =(       d    SUl        UR                  5         [        R                  " US	5        [	        S5      $ )
Ninventory_stock_addz-You don't have permission to add stock items.StockItemsView	item_namerJ   unitreorder_levelr   z Stock item created successfully.)r   r   r   r,   r   r	   rX   r5   r   rJ   r   r   r\   r]   r2   r3   r"   s      r   r`   StockItemRegistrationView.post   s    &;<<NN7$ST,--| ))+6((4LL$$V,	$\\--o>C!		"DE())r7   r8   Nrb   r8   r7   r   r|   r|      s    ?*r7   r|   c                        \ rS rSrS rS rSrg)r      c                     [         R                  R                  5       nSUR                  ;   a?  UR                  S   S:w  a,  UR	                  UR                  S   S9nUR                  S   nOSn[        USX#S.5      $ )NrJ   rf   rg   zstock-items.html)itemsrJ   )r	   r-   r.   ri   r1   r   )r2   r3   r   rJ   s       r   r5   StockItemsView.get   sq    ""&&($Z)@E)ILL'++j*ALBE{{:.HHg1U3YZZr7   c                    [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $  [
        R                  R                  UR                  R                  S5      S9nUR                  5         [        R                  " US5        [	        S5      $ ! [
        R                   a    [        R                  " US5         N8f = f)Ninventory_stock_deletez0You don't have permission to delete stock items.r   rm   rn   z Stock item deleted successfully.zStock item doesn't exist.)r   r   r   r,   r   r	   r-   r5   rX   ro   r]   rp   r   s      r   r`   StockItemsView.post   s    &>??NN7$VW,--	A%%))W\\-=-=d-C)DDKKMW&HI ()) && 	ANN7$?@	Arr   r8   Nrb   r8   r7   r   r   r      s    [
*r7   r   c                        \ rS rSrS rS rSrg)EditStockItemView   c                 Z    [         R                  R                  US9n[        USSU05      $ )Nrn   zedit-stock-item.htmlr"   )r	   r-   r5   r   r2   r3   rm   r"   s       r   r5   EditStockItemView.get   s/    !!%%%,g5~FFr7   c                 ,   [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ [
        R                  R                  US9nUR                  R                  S5      Ul	        UR                  R                  S5      Ul
        UR                  R                  S5      Ul        UR                  R                  S5      =(       d    S	Ul        UR                  5         [        R                  " US
5        [	        S5      $ )Ninventory_stock_editz.You don't have permission to edit stock items.r   rn   r   rJ   r   r   r   z Stock item updated successfully.)r   r   r   r,   r   r	   r-   r5   rX   r   rJ   r   r   r\   r]   r   s       r   r`   EditStockItemView.post   s    &<==NN7$TU,--!!%%%, ))+6((4LL$$V,	$\\--o>C!		"DE())r7   r8   Nrb   r8   r7   r   r   r      s    G*r7   r   c                        \ rS rSrS rS rSrg)StockTransactionView   c           	         [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[
        R                  R                  5       n[        USX#XES.5      $ )Nzstock-transaction.html)r   rC   rD   projects)r	   r-   r.   r   r   r   r   )r2   r3   r   rC   rD   r   s         r   r5   StockTransactionView.get   sj    ""&&(//%%',,""$##'')g77:
  	r7   c                 j   [        UR                  S5      (       d"  [        R                  " US5        [	        S5      $ UR
                  R                  S5      nUR
                  R                  S5      nUR
                  R                  S5      nU(       a  US;  d  U(       d"  [        R                  " US5        [	        S	5      $ [        R                  R                  US
9n[        U5      nUS:X  a\  XER                  :  aM  [        R                  " USU SUR                   SUR                   SUR                   S3	5        [	        S	5      $ [        R                  R                  XSUUR
                  R                  S5      UR
                  R                  S5      =(       d    S UR
                  R                  S5      =(       d    S UR
                  R                  S5      =(       d    S UR
                  R                  S5      S9  [        R                  " US5        [	        SUR                  S
9$ )Nr   z7You don't have permission to record stock transactions.r   r"   transaction_typequantity)InOutz*Please select an item, type, and quantity.r   rn   r   zCannot issue  u
    — only z
 in stock.daterN   	issued_toprojectrT   )r"   r   r   r   rY   issued_to_id
project_idrT   z(Stock transaction recorded successfully.StockLedgerView)r   r   r   r,   r   rX   r5   r	   r-   intcurrent_quantityr   r
   creater]   rm   )r2   r3   item_idr   r   r"   s         r   r`   StockTransactionView.post   s   &;<<NN7$]^,--,,""6*"<<++,>?<<##J/*-?xNN7$PQ233!!%%%1x=u$4I4I)INN7mH:QtyykTXTiTiSjjklplulukv  wA  %B  C233!!((8!!&)W\\5E5Eh5O5WSW ))+6>$7<<K[K[\eKfKnjn,,""7+	 	) 	
 	"LM)dgg66r7   r8   Nrb   r8   r7   r   r   r      s    7r7   r   c                       \ rS rSrS rSrg)r      c                 (   [         R                  R                  US9nUR                  R	                  SS5      nSn/ nU HA  nXWR
                  S:X  a  UR                  OUR                  * -  nUR                  XuS.5        MC     [        USX6S.5      $ )	Nrn   r   rm   r   r   )transactionbalancezstock-ledger.html)r"   rows)	r	   r-   r5   transactionsorder_byr   r   appendr   )r2   r3   rm   r"   r   runningr   ts           r   r5   StockLedgerView.get   s    !!%%%,((11&$?A%7%74%?qzzajj[PGKK>?  g2T4PQQr7   r8   Nr9   r8   r7   r   r   r      s    Rr7   r   N)django.shortcutsr   r   django.viewsr   django.contribr   django.contrib.auth.mixinsr   inventory.modelsr   r	   r
   hr_department.modelsr   r   program_department.modelsr   r   r   r@   rH   rt   r|   r   r   r   r   r8   r7   r   <module>r      s    -  # 9 A A . ./ $#&. #&L&#T &:$&& $&N* 2D *&*' *0**D *(#7-t #7L
R($ 
Rr7   