['TIME', 'time', 'Время'], ['DATE', 'date', 'Дата'], ['DATETIME', 'datetime', 'Дата и время'], ['DATE_RANGE', 'date_range', 'Интервал дат'], ['DATETIME_RANGE_DAY', 'datetime_range_day', 'Интервал времени (сутки)'], ['DATETIME_RANGE_HOUR', 'datetime_range_hour', 'Интервал времени (часы)'], ['BOOL', 'bool', 'Опция'], ['TEXT', 'text', 'Текст'], ['DISPLAY_TEXT', 'display_text', 'Выводимый текст'], ['SELECT', 'select', 'Список с выбором'], ) OPTION_TYPE_CHOICES.add_subset('DATE_TYPES', [ 'DATE', 'DATETIME', 'DATE_RANGE', 'DATETIME_RANGE_DAY', 'DATETIME_RANGE_HOUR', ]) OPTION_TYPE_CHOICES.add_subset('RANGE_TYPES', [ 'DATE_RANGE', 'DATETIME_RANGE_DAY', 'DATETIME_RANGE_HOUR', ]) BACKWARDS_FIELDS = {'total_hours', 'total_days', 'total_value'} CONDITIONS = { "AND": op.and_, "OR": op.or_,
from django.utils.translation import ugettext_lazy as _ from extended_choices import Choices GROUPS = Choices( ("ADMINISTRATOR", "admin", _("Administrator")), ("SECRETARY", "secretary", _("Secretary")), ("PLANNER", "planner", _("Planner")), ) GROUPS.add_subset("ADMINISTRATIVE_PERSONNEL", ("ADMINISTRATOR", "SECRETARY"))