
    SIg                     f    d dl mZ d dlT deeef         fdZ G d dej        j                  Z	dS )    )Dict)*returnc                     ddl } ddl}t                      }| j                             | j                                        |                     d                    }|j        D ]p}|                    |          }|	                    |          }t          |                                          }t          |dz  d          \  }}	d|dd|	d||<   q|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     KKKffG [  "''"++>>F$ F F==$$''//
 !9!9!;!;<<0B6;;f&ET&E&E&E&E&E&E"##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                            e
j        j        dd d          Ze
j                            e
j        j        ddd          Ze
j                            e
j        j        d e            dd          Ze
j                            e
j        j        ddd          Ze
j                            e
j        j        ddd          Ze
j                            e
j        j        ddd          Ze
j                            e
j        j        dd          Ze
j                            e
j        j        dd          Ze
j                            e
j        j        dddd           Ze
j                            e
j        j        d!dd"#          Ze
j                            e
j        j        d$d%d"#          Ze
j                            e
j        j        d&d'd"#          Zd(S ))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& j&&
=	 '  O z''
E#	 (   z
)$$&&    H !!
<	 "  J !!
)	 "  J 
  
'	 !  I Z%%
< &  N ***
N +   J
P   E 
  
-#	 !  I !!
5"	 "  J :
/	   DDDr"   r$   N)
typingr   cmf.includer   strr!   rG   models	CmfEntityr$   rY   r"   r    <module>r_      s             d38n    :m m m m m#*& m m m m mr"   