
    #e
                     0    d dl  d dlmZ  G d de      Zy)    )*)CmfLocationc                   @     e Zd Z fdZ fdZd Zd Zd Zd Z xZ	S )r   c                     | j                          | j                          t        |   |i | | j	                          y )N)resync_parent
_calc_namesupersaveresync_childrens)selfargskwargs	__class__s      &./modules/asset/models/cmf_location.pyr
   zCmfLocation.save   s6    d%f%    c                 *    t         |          ddgz   S )Nzparent.*r   )r	   save_preload_fields)r   r   s    r   r   zCmfLocation.save_preload_fields   s"    w*,0
 
 	
r   c           	          | j                   sy dD ]:  }t        | j                   |      st        | |t        | j                   |             < y )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 	LJ t{{J/j'$++z*JK	Lr   c                     t         j                  j                  | | j                               D ]B  }|j	                          |j                          |j                          |j                          D y )N)r&   fields)modelsr   listr   r   r   r
   r   )r   childs     r   r   zCmfLocation.resync_childrens   s_     '',,DAYAYA[,\ 	%E!JJL""$		%r   c                     g }| j                   r|j                  | j                           | j                  r|j                  d| j                          | j                  r|j                  d| j                          | j                  r|j                  d| j                          | j
                  r|j                  d| j
                          | j                  r|j                  d| j                          | j                  r|j                  d| j                          | j                  r|j                  d| j                          | j                  r|j                  | j                          dj                  |      | _        y )	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$   s&   <<NNdll^- 99NN]499+6799NNT$))-. ;;NNVDKK=12
 NNWT%6%6$789::NNYtzzl3499NNVDII;/099NN_TYYK89==NNdmm_.IIg&	r   c                      y)N  )r   s    r   gen_namezCmfLocation.gen_nameL   s    r   )
__name__
__module____qualname__r
   r   r   r   r   r8   __classcell__)r   s   @r   r   r      s#     

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