
    Ef
                     6    d dl T d dlmZ  G d de          ZdS )    )*)CmfLocationc                   @     e Zd Z fdZ fdZd Zd Zd Zd Z xZ	S )r   c                     |                                   |                                   t                      j        |i | |                                  d S )N)resync_parent
_calc_namesupersaveresync_childrens)selfargskwargs	__class__s      &./modules/asset/models/cmf_location.pyr
   zCmfLocation.save   sX    d%f%%%    c                 N    t                                                      ddgz   S )Nzparent.*r   )r	   save_preload_fields)r   r   s    r   r   zCmfLocation.save_preload_fields   s*    ww**,,0
 
 	
r   c           	          | j         sd S dD ];}t          | j         |          r$t          | |t          | j         |                     <d S )N)countrycountry_code	area_codeareacity
settlementcity_districtlocality	territorystreetzip_codedistrictmun_districthouse_numberfloorflatroom)parentgetattrsetattr)r   
field_names     r   r   zCmfLocation.resync_parent   sg    { 	FF 	L 	LJ t{J// Lj'$+z*J*JKKK	L 	Lr   c                    t           j                            | |                                           D ]R}|                                 |                                 |                                 |                                 Sd S )N)r&   fields)modelsr   listr   r   r   r
   r   )r   childs     r   r   zCmfLocation.resync_childrens   s     ',,DAYAYA[A[,\\ 	% 	%E!!!JJLLL""$$$$		% 	%r   c                    g }| j         r|                    | j                     | j        r|                    d| j                    | j        r|                    d| j                    | j        r|                    d| j                    | j        r|                    d| j                    | j        r|                    d| j                    | j        r|                    d| j                    | j        r|                    d| j                    | j	        r|                    | j	                    d
                    |          | _        d S )	Nu   регион u   г. u   ул. u   дом u	   этаж u   кв. u   кабинет z, )r   appendr   r   r   r"   r#   r$   r%   raw_namejoinname)r   addresss     r   r   zCmfLocation._calc_name$   sy   < 	.NNdl,--- 9 	8NN649667779 	/NN-$)--... ; 	3NN1DK11222
  	:NN8T%688999: 	5NN3tz334449 	1NN/DI//0009 	:NN8TY88999= 	/NNdm-...IIg&&			r   c                     dS )N  )r   s    r   gen_namezCmfLocation.gen_nameL   s    rr   )
__name__
__module____qualname__r
   r   r   r   r   r8   __classcell__)r   s   @r   r   r      s                 
 
 
 
 

L L L% % %&' &' &'P      r   r   N)cmf.include!modules.asset.fields.cmf_locationr   r7   r   r   <module>r?      sa        9 9 9 9 9 9I I I I I+ I I I I Ir   