
    oi'                     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g 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)parentz==Ncodename_main)r.   r-   	cmf_ownerr   
is_defaultparent_calendar)r.   fields)ui_list_fieldsui_group_fieldsu+   Родительский календарьT)captionmodelnullableu3   Рабочая неделя по умолчаниюr)   u   Часовой поясFr   )r6   choicesr8   defaultu*   Календарь по умолчанию)r6   r8   r:   u   Рассчитан до)r6   r8   r(   u   Рассчитан сu*   Количество лет расчета   )r6   r:   u<   Количество лет расчета в прошлоеu>   Необходимо пересчитать календарь)r6   r:   visibler8   u   Рабочие неделиr,   )r6   r7   backrefu#   Исключительные дниr*   u   Календарные дниr+   N)!__name__
__module____qualname__verbose_nameui_name	ui_modulecode_prefixacl_default_user_policyessential_child_modelsdefault_options_filterui_formcmfr3   FieldCmfRelationr2   default_workweekCmfChoiceIntr!   r   CmfBoolr1   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(]333 
    
 

 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!   rI   models	CmfEntityr$   rZ   r"   r    <module>r`      s             d38n    :o o o o o#*& o o o o or"   