U
    Įwh                     @   sB   d dl mZ d dlT eeef dddZG dd dejjZ	dS )	    )Dict)*)returnc            
      C   s   ddl } ddl}t }| j | j | d}|jD ]N}||}|	|}t
| }t|d d\}}	d|dd|	d||< q6|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:Z02d)ZdatetimepytzdictZcombinedateZtodaytimeZall_timezones_settimezoneZ	utcoffsetintZtotal_secondsdivmod)
Zdtr   Ztz_dictZmiddayZtzr   Z
utc_offsetZutc_offset_secondsZhourZminute r   ./common/fields/cmf_calendar.pyget_timezone_choices   s    


r   c                   @   sf  e Zd ZdZdZdZdZdZdZddgd	ddd
ddgdgdZ	e
jje
jjdd ddZe
jje
jjddddZe
jje
jjde dddZe
jje
jjddddZe
jje
jjddddZe
jje
jjd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jd!dddd"Ze
jje
jjd#dd$d%Ze
jje
jjd&d'd$d%Ze
jje
jjd(d)d$d%Zd*S )+CmfCalendaru   КалендарьZCalendarZsettingsZCALreadonly)CmfCalendarWorkWeekCmfCalendarExcludeCmfCalendarDaycodenameZ_mainZ	cmf_ownerr   
is_default)r   fields)Zui_list_fieldsZui_group_fieldsu+   Родительский календарьT)captionmodelnullableu3   Рабочая неделя по умолчаниюr   u   Часовой поясFr   )r   choicesr   defaultu*   Календарь по умолчанию)r   r   r   u   Рассчитан до)r   r   r   u   Рассчитан сu*   Количество лет расчета   )r   r   u<   Количество лет расчета в прошлоеu>   Необходимо пересчитать календарь)r   r   Zvisibler   u   Рабочие неделиparent)r   r   Zbackrefu#   Исключительные дниr   u   Календарные дниr   N) __name__
__module____qualname__Zverbose_nameZui_nameZ	ui_moduleZcode_prefixZacl_default_user_policyZessential_child_modelsZui_formcmfr   ZFieldZCmfRelationZparent_calendarZdefault_workweekZCmfChoiceIntr   r   ZCmfBoolr   ZCmfDateZ
calc_untilZ	calc_fromZCmfIntZcalc_num_yearsZcalc_num_back_yearsZdirtyZ
CmfBackrefZ	workweeksZ
exclusionsZdaysr   r   r   r   r   "   s   r   N)
typingr   Zcmf.includer   strr   r%   ZmodelsZ	CmfEntityr   r   r   r   r   <module>   s   