U
    [Se                     @   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   sz   ddl } ddl}t }| j  }|jD ]N}||}||}t| }t	|d 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:Z02d)
ZdatetimepytzdictZnowZall_timezones_settimezoneZ	utcoffsetintZtotal_secondsdivmod)
Zdtr   Ztz_dictZnaiveZtzr	   Z
utc_offsetZutc_offset_secondsZhourZminute r   ./common/fields/cmf_calendar.pyget_timezone_choices   s    



r   c                   @   s0  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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   Часовой поясF)r   choicesr   u*   Календарь по умолчанию)r   r   defaultu   Рассчитан до)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   