
    vg                     2    d dl Z d dlmZ d dl d dl d Zy)    N)eval_validate)*c                  P   ddl m}  ddlm}  | d      d   } |       }g }	 |D ]  }|D ]  }t	        |t
              s|j                         j                  |j                               sB|j                  |      }|dz   t        |      k  se||dz      }t        j                  d|      }  |rg }d}t        |      D ]  }t        |      }	d}
|D ]  }|d	k(  r|
dz   }
 n |
r||
d }t	        |t              r|d
   }|s2t	        t        t        |            t              rt        |      dz   }d}t	        |t              rdj!                  ||	      }|j#                  dt        |              dj%                  |      }|S # t&        $ r} | d      d   }Y d}~|S d}~ww xY w)z2
    This method is used to generate badge id
    r   )get_initial_prefix)get_ordered_badge_idsNr      z[a-zA-Z]+|\d+|[^a-zA-Z\d\s]F0Tz{:0{}d} )base.context_processorsr   employee.methods.methodsr   
isinstancestrlower
startswithindexlenrefindallreversedlistr   intformatinsertjoin	Exception)r   r   prefixdataresultsublistitemr   incrementedtotal_letterstotal_zero_leadsletteres                </var/www/horilla/horilla_api/api_methods/employee/methods.pyget_next_badge_idr(      s    ;>%&:;F "DF#@ 	TG TdC(TZZ\-D-DV\\^-T#MM$/Eqy3w</!(!3!#,JF!ST	T FK ( , #D	#$ " F}+;a+?( 	 $ 0 12DdD)8D"z-D	2JC'Pt9q=D"&KdC($++D-@DaT+%,& WWV_F M  @#D)*>?M@s)   F -F +"F C6F 	F%F  F%)r   base.methodsr   base.modelsemployee.modelsr(        r'   <module>r.      s    	 &  .r-   