U
    Vf>                     @   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                   @   s2  e 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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)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   u*   Количество лет расчета   )r   r   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essential_child_modelsZui_formcmfr   ZFieldZCmfRelationZparent_calendarZdefault_workweekZCmfChoiceIntr   r   ZCmfBoolr   ZCmfDateZ
calc_untilZCmfIntZcalc_num_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   