
    }NBj3-                     Z    d dl Zd dlZd dlmZ d dlmZmZ  G d dej                        Z	y)    N)settings)
migrationsmodelsc                      e Zd ZdZdddd ej
                  ej                        gZ ej                  dd e
j                  dddd	
      fd e
j                  ddd      fd e
j                  dd      fd e
j                  ddd      fd e
j                  dd      fd e
j                   dddej$                  j                  j&                  j(                  ej                  d      fd e
j                   dddej$                  j                  j&                  j(                  dej                  d      fgdd dgd!"       ej                  d#d e
j                  dddd	
      fd e
j                  ddd      fd e
j                  dd      fd e
j                  dd$%      fd& e
j*                  d'd()      fd* e
j                  dd+d,-      fd e
j                   dddej$                  j                  j&                  j(                  ej                  d      fd. e
j                   d/ej$                  j                  j&                  j,                  d0d12      fd e
j                   dddej$                  j                  j&                  j(                  dej                  d      fd3 e
j                   ej$                  j                  j&                  j.                  d4d5d67      fg
d8d9d3d&gd:hd;"       ej                  d<d e
j                  dddd	
      fd e
j                  ddd      fd e
j                  dd      fd= e
j                  dd>dd?@      fdA e
j                  dBdC%      fdD e
j0                  dEdFdGH      fdI e
j                  dJK      fdL e
j                  g dMdNdOdPQ      fdR e
j                  ddST      fdU e
j*                  dVdW      fdX e
j                   ej$                  j                  j&                  j,                  dYdZd[7      fd e
j                   dddej$                  j                  j&                  j(                  ej                  d      fd\ e
j                   ddej$                  j                  j&                  j(                  d]d^d_`      fda e
j                   ddbdej$                  j                  j&                  j(                  dcdde      fdf e
j                   ej$                  j                  j&                  j.                  dYdgdh7      fd e
j                   dddej$                  j                  j&                  j(                  dej                  d      fd3 e
j                   ej$                  j                  j&                  j,                  d5di      fgdjdkdlgd!"       ej                  dmd e
j                  dddd	
      fd e
j                  ddd      fd e
j                  dd      fdn e
j2                  ej                  j6                  ej                  j8                  gdop      fdq e
j                  ddrs      fd e
j                   dddej$                  j                  j&                  j(                  ej                  d      fd e
j                   dddej$                  j                  j&                  j(                  dej                  d      fdt e
j                   ddej$                  j                  j&                  j(                  duej                  dvw      fdx e
j                   ej$                  j                  j&                  j.                  dydzdj7      fg	d{d|d}"       ej                  d~d e
j                  dddd	
      fd e
j                  g ddOd      fd e
j                  dd      fd e
j                  ddT      fd e
j                   dej$                  j                  j&                  j(                  ej                  d      fd e
j                   ddej$                  j                  j&                  j(                  d^d      fdx e
j                   ej$                  j                  j&                  j.                  ddzdj7      fgdddxdgd!"       ej                  dd e
j                  dddd	
      fd e
j                  dK      fd e
j:                  dK      fd e
j                  g dMdNdOdQ      fd e
j                  ddd      fdx e
j                   ej$                  j                  j&                  j.                  ddzdj7      fd e
j                   ddej$                  j                  j&                  j(                  dej                  d`      fd e
j                   dej$                  j                  j&                  j(                  dej                  d      fd e
j                   dej$                  j                  j&                  j(                  d^d      fg	dddgd!"      gZy)	MigrationT)auth0013_user_is_new_employee)base0002_initial)budget0001_initial)employeer   ExpenseApprovalWorkflowidFID)auto_createdprimary_key	serializeverbose_name
created_atz
Created At)auto_now_addnullr   	is_activez	Is Active)defaultr   name   zWorkflow Name)
max_lengthuniquer   descriptionDescription)blankr   
created_byz
Created By)r!   editabler   	on_deletetor   modified_byz%(class)s_modified_byzModified By)r!   r#   r   r$   related_namer%   r   zApproval WorkflowzApproval Workflows)r   verbose_name_pluralordering)r   fieldsoptionsExpenseApprovalStagez
Stage Name)r   r   orderz<Execution order (1 = first). Must be unique within workflow.Order)	help_textr   is_disbursement_stagezNWhen this stage approves, the request is marked DISBURSED instead of APPROVED.zIs Disbursement Stage)r   r/   r   groupz7Members of this Django Group can approve at this stage.z
auth.groupzApprover Group)r/   r$   r%   r   workflowstageszexpense.expenseapprovalworkflowWorkflow)r$   r'   r%   r   zApproval StagezApproval Stages)r2   r-   )r   r(   r)   unique_togetherExpenseRequestreference_number   zReference No.)r#   r   r   r   titlei,  zRequest Titleamount      u   Amount (₦))decimal_places
max_digitsr   justificationzPurpose / Justification)r   status))pendingzPending ApprovalapprovedApprovedrejectedRejected)kivzKept In View (KIV)resubmittedResubmitted	disbursed	DisbursedclosedClosedrA      Status)choicesr   r   r   submitted_atzSubmitted At)r   r   resubmit_countr   zResubmit Countbudget_itemexpense_requestszbudget.budgetitemzBudget Itemcurrent_stagepending_requestszexpense.expenseapprovalstagezCurrent Stage)r!   r   r$   r'   r%   r   
departmentz"Auto-filled from employee profile.zbase.department
Department)r!   r/   r   r$   r%   r   r   zemployee.employeeEmployee)r$   r%   r   zExpense RequestzExpense Requestsz-submitted_atExpenseDocumentfileFile)	upload_to
validatorsr   	file_name   )r#   r   uploaded_byexpense_documents_uploadedzUploaded By)r#   r   r$   r'   r%   r   expense	documentszexpense.expenserequestzExpense DocumentzExpense Documents)r   r(   ExpenseApprovalLogaction))	submitted	SubmittedrB   rE   )rH   zKept In View)recalledzRecalled from KIVrI   rL   rO   Action)rT   r   r   commentzComment / Reason	TimestampactorActor)r   r$   r%   r   stagezWorkflow Stage)r!   r   r$   r%   r   approval_logszApproval Log EntryzApproval Log Entries	KIVRecordreasonz
KIV Reasonrevisit_datezRevisit Datestatus_before_kivzStatus Before KIVrecalled_atzRecalled At)r!   r   r   kiv_recordsrecalled_bykiv_recalled_byzRecalled Byset_by
kiv_set_byzSet By)r   r$   r'   r%   r   zStage at KIVz
KIV RecordzKIV Recordsz-revisit_dateN)__name__
__module____qualname__initialr   swappable_dependencyr   AUTH_USER_MODELdependenciesCreateModelr   BigAutoFieldDateTimeFieldBooleanField	CharField	TextField
ForeignKeydjangodbdeletionSET_NULLPositiveSmallIntegerFieldPROTECTCASCADEDecimalField	FileFieldrg   _expense_doc_upload_path_validate_document	DateField
operations     C/var/www/python-projects/worksol/expense/migrations/0001_initial.pyr   r   	   sn   G 	. "$'
''(@(@AL 	
**v**$Z_nrst3v33D_klm1f11$[YZ)))STcde 0 0 0t- XY0v00teRVbhbkbkbrbrb{b{  cE  cE  JR  Jb  Jb  q}   ~   1 1 1uSWciclclcscsc|c|  dF  dF  Ul  qy  qI  qI  Xe  !f  g !4';#H	
" 	
'*v**$Z_nrst3v33D_klm1f11$[YZ)))S|TU:&::  FD  SZ  [  \(*=&*=*=e  Xh  wN  +O  P0v00teRVbhbkbkbrbrb{b{  cE  cE  JR  Jb  Jb  q}   ~  +&++6o  |B  |E  |E  |L  |L  |U  |U  |]  |]  bn  }M  N  O 1 1 1uSWciclclcscsc|c|  dF  dF  Ul  qy  qI  qI  Xe  !f  g.V..9I9I9R9R9Z9Ziq  wX  gq  r  s !1'8'1$9#:		
* 	
!*v**$Z_nrst3v33D_klm1f11$[YZ#%5V%5%5uQS\`o~%  A*&**cXY.6..aB]klm "2&"2"2@Y"Z[+6++  5{  EN  []  lt  u  v!5!5!54Vd!ef!#C6#C#CA\l#mn 1 1 1FII<L<L<U<U<]<]l~  DW  fs  !t  u0v00teRVbhbkbkbrbrb{b{  cE  cE  JR  Jb  Jb  q}   ~   "3&"3"3$TU[U^U^UeUeUnUnUwUw  GY  ^|  KZ  #[  \0v00tGkrv  CI  CL  CL  CS  CS  C\  C\  Ce  Ce  j{  JV   W  X.V..9I9I9R9R9Z9Zi{  AT  cm  n  o 1 1 1uSWciclclcscsc|c|  dF  dF  Ul  qy  qI  qI  Xe  !f  g.V..9I9I9R9R9Z9Z  `A  Pc  d  e#( !2'9,-+	
6 	
"*v**$Z_nrst3v33D_klm1f11$[YZ)))GNN4[4[ipiwiw  jK  jK  iL  [a  b  c.f..#NO0v00teRVbhbkbkbrbrb{b{  cE  cE  JR  Jb  Jb  q}   ~   1 1 1uSWciclclcscsc|c|  dF  dF  Ul  qy  qI  qI  Xe  !f  g 1 1 15tW]W`W`WgWgWpWpWyWy  Ie  jr  jB  jB  Q^  !_  `-F--		8H8H8Q8Q8Y8Yhs  yQ  `q  r  s
 !3':	
$ 	
%*v**$Z_nrst+6++  5S  `b  qy  z  {,F,,4FXYZ3v33T_`a+&++AQAQAZAZAcAchp  iA  iA  PW  X  Y+&++$TVYYM]M]MfMfMoMo  uS  br  s  t-F--		8H8H8Q8Q8Y8Yhw  }U  du  v  w !5'=&5	
" 	
*v**$Z_nrst+6++FG!1!1!1~!NO$&6f&6&6  @F  PY  fh  wJ  'K  L 4 4 44dYf gh-F--		8H8H8Q8Q8Y8Yhu  {S  bs  t  u 1 1 14SYS\S\ScScSlSlSuSu  EV  [c  [s  [s  BO  !P  Q,6,,$&))BRBRB[B[BdBds  EM  E]  E]  lt  u  v+&++AQAQAZAZAcAc  iG  Vd  e  f
 !-'4,-	
KxJr   r   )
django.db.models.deletionr   expense.modelsrg   django.confr   	django.dbr   r   r   r   r   r   <module>r      s'    !    (D
$$ Dr   