106 lines
3.2 KiB
Python
106 lines
3.2 KiB
Python
# backend\employees\constants.py
|
||
GENDER_CHOICES = (
|
||
(1, "Мужской"),
|
||
(2, "Женский"),
|
||
(0, "Не указан"),
|
||
)
|
||
|
||
|
||
ACTION_WORKING = "working"
|
||
ACTION_REMOTE = "remote"
|
||
ACTION_HIRED = "hired"
|
||
ACTION_DISMISSED = "dismissed"
|
||
ACTION_ON_LEAVE = "on_leave"
|
||
ACTION_RETURNED_FROM_LEAVE = "returned_from_leave"
|
||
ACTION_ON_SICK_LEAVE = "on_sick_leave"
|
||
ACTION_RETURNED_FROM_SICK_LEAVE = "returned_from_sick_leave"
|
||
ACTION_ON_DAY_OFF = "on_day_off"
|
||
ACTION_RETURNED_FROM_DAY_OFF = "returned_from_day_off"
|
||
ACTION_ON_MATERNITY = "on_maternity"
|
||
ACTION_RETURNED_FROM_MATERNITY = "returned_from_maternity"
|
||
ACTION_TRANSFERRED = "transferred"
|
||
ACTION_REHIRED = "rehired"
|
||
|
||
ACTION_LABELS = {
|
||
ACTION_WORKING: "Работает",
|
||
ACTION_REMOTE: "На удалёнке",
|
||
ACTION_HIRED: "Принят",
|
||
ACTION_DISMISSED: "Уволен",
|
||
ACTION_ON_LEAVE: "В отпуске",
|
||
ACTION_RETURNED_FROM_LEAVE: "Вернулся из отпуска",
|
||
ACTION_ON_SICK_LEAVE: "На больничном",
|
||
ACTION_RETURNED_FROM_SICK_LEAVE: "Вернулся с больничного",
|
||
ACTION_ON_DAY_OFF: "В отгуле",
|
||
ACTION_RETURNED_FROM_DAY_OFF: "Вернулся из отгула",
|
||
ACTION_ON_MATERNITY: "В декрете",
|
||
ACTION_RETURNED_FROM_MATERNITY: "Вернулся из декрета",
|
||
ACTION_TRANSFERRED: "Переведен",
|
||
ACTION_REHIRED: "Восстановлен",
|
||
}
|
||
|
||
PERMANENT_ACTIONS = {
|
||
ACTION_WORKING,
|
||
ACTION_REMOTE,
|
||
ACTION_DISMISSED,
|
||
}
|
||
|
||
PERIOD_ACTIONS = {
|
||
ACTION_ON_LEAVE,
|
||
ACTION_ON_SICK_LEAVE,
|
||
ACTION_ON_DAY_OFF,
|
||
ACTION_ON_MATERNITY,
|
||
}
|
||
|
||
MARKER_ACTIONS = {
|
||
ACTION_HIRED,
|
||
ACTION_TRANSFERRED,
|
||
ACTION_REHIRED,
|
||
ACTION_RETURNED_FROM_LEAVE,
|
||
ACTION_RETURNED_FROM_SICK_LEAVE,
|
||
ACTION_RETURNED_FROM_DAY_OFF,
|
||
ACTION_RETURNED_FROM_MATERNITY,
|
||
}
|
||
|
||
ACTIVATING_MARKER_ACTIONS = {
|
||
ACTION_HIRED,
|
||
ACTION_REHIRED,
|
||
}
|
||
|
||
RETURN_MARKER_ACTIONS = {
|
||
ACTION_RETURNED_FROM_LEAVE,
|
||
ACTION_RETURNED_FROM_SICK_LEAVE,
|
||
ACTION_RETURNED_FROM_DAY_OFF,
|
||
ACTION_RETURNED_FROM_MATERNITY,
|
||
}
|
||
|
||
TEMPORARY_START_ACTIONS = PERIOD_ACTIONS
|
||
TEMPORARY_RETURN_ACTIONS = RETURN_MARKER_ACTIONS
|
||
|
||
TEMPORARY_ACTION_PRIORITIES = {
|
||
ACTION_ON_SICK_LEAVE: 0,
|
||
ACTION_ON_MATERNITY: 1,
|
||
ACTION_ON_LEAVE: 2,
|
||
ACTION_ON_DAY_OFF: 3,
|
||
}
|
||
|
||
ACTION_CHOICES = [(action, ACTION_LABELS[action]) for action in ACTION_LABELS]
|
||
|
||
|
||
class DeptPerm:
|
||
MANAGE = "manage_department"
|
||
CHANGE_HEAD = "change_department_head"
|
||
ASSIGN_ROLE = "assign_department_role"
|
||
MANAGE_FEED = "manage_department_feed"
|
||
CAN_PROCESS_REQUESTS = "can_process_requests"
|
||
APPROVE_PROCUREMENT = CAN_PROCESS_REQUESTS
|
||
MANAGE_EQUIPMENT = "manage_department_equipment"
|
||
|
||
CHOICES = (
|
||
(MANAGE, "Управлять отделом"),
|
||
(CHANGE_HEAD, "Назначать руководителя"),
|
||
(ASSIGN_ROLE, "Назначать роли участникам"),
|
||
(MANAGE_FEED, "Редактировать публикации отдела"),
|
||
(APPROVE_PROCUREMENT, "Согласование закупок отдела"),
|
||
(MANAGE_EQUIPMENT, "Управлять оборудованием отдела"),
|
||
)
|