
    <g                     n    d dl mZ d dl deeef   fdZ G d dej                  j                        Z	y)    )Dict)*returnc                     ddl } ddl}t               }| j                   j                  | j                  j                         | j                  d            }|j                  D ]\  }|j                  |      }|j                  |      }t        |j                               }t        |dz  d      \  }}	d|dd|	d||<   ^ |S )	u  
    Возвращает словарь вариантов выбора часового пояса

    Returns:
        Dict[int, str]:
            словарь вариантов часовых поясов, где:
                ключ - число, смещения времени в секундах,
                значение - название часового пояса UTC
            например, {10800: 'UTC +03:00', -18000: 'UTC -05:00', 0: 'UTC +00:00', ...}
    r   N   <   zUTC z+03d:02d)datetimepytzdictcombinedatetodaytimeall_timezones_settimezone	utcoffsetinttotal_secondsdivmod)
dtr   tz_dictmiddaytzr   
utc_offsetutc_offset_secondshourminutes
             ./common/fields/cmf_calendar.pyget_timezone_choicesr!      s     fG [[  "''"+>F$$ F==$''/
 !9!9!;<0B6;f(,T$Kq&E"#F N    c                      e Zd ZdZdZdZdZdZdZddgd	g d
dgdZ	e
j                  j                  e
j                  j                  dd d      Ze
j                  j                  e
j                  j                  ddd      Ze
j                  j                  e
j                  j                   d e       dd      Ze
j                  j                  e
j                  j&                  ddd      Ze
j                  j                  e
j                  j*                  ddd      Ze
j                  j                  e
j                  j*                  ddd      Ze
j                  j                  e
j                  j0                  dd      Ze
j                  j                  e
j                  j0                  dd      Ze
j                  j                  e
j                  j&                  dddd       Ze
j                  j                  e
j                  j8                  d!dd"#      Ze
j                  j                  e
j                  j8                  d$d%d"#      Ze
j                  j                  e
j                  j8                  d&d'd"#      Zy())CmfCalendaru   КалендарьCalendarsettingsCALreadonly)CmfCalendarWorkWeekCmfCalendarExcludeCmfCalendarDaycodename_main)r-   r,   	cmf_ownerr   
is_default)r-   fields)ui_list_fieldsui_group_fieldsu+   Родительский календарьT)captionmodelnullableu3   Рабочая неделя по умолчаниюr)   u   Часовой поясFr   )r4   choicesr6   defaultu*   Календарь по умолчанию)r4   r6   r8   u   Рассчитан до)r4   r6   r(   u   Рассчитан сu*   Количество лет расчета   )r4   r8   u<   Количество лет расчета в прошлоеu>   Необходимо пересчитать календарь)r4   r8   visibler6   u   Рабочие неделиparent)r4   r5   backrefu#   Исключительные дниr*   u   Календарные дниr+   N) __name__
__module____qualname__verbose_nameui_name	ui_modulecode_prefixacl_default_user_policyessential_child_modelsui_formcmfr1   FieldCmfRelationparent_calendardefault_workweekCmfChoiceIntr!   r   CmfBoolr0   CmfDate
calc_until	calc_fromCmfIntcalc_num_yearscalc_num_back_yearsdirty
CmfBackref	workweeks
exclusionsdays r"   r    r$   r$   "   s   'LGIK(] 
  	
G& jj&&

=	 ' O zz''

E#	 (  zz

)$&   H !!

<	 " J !!

)	 " J 

  

'	 ! I ZZ%%

< & N ****

N +  JJ

P  E 

  

-#	 ! I !!

5"	 " J ::

/	  Dr"   r$   N)
typingr   cmf.includer   strr!   rG   models	CmfEntityr$   rY   r"   r    <module>r_      s7     d38n :m#**&& mr"   