B
    bEf>                 @   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}xX|jD ]N}||}|	|}t
| }t|d d\}}	d|dd|	d||< q8W |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combineZdateZtodayZ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name_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   