# Настройки

# Настройки системы

Раздел настроек позволяет управлять ролями, организациями, справочниками и общими параметрами проекта.

## Роли и права доступа

Роли определяют, какие действия может выполнять сотрудник в системе.

### Просмотр списка ролей

1. Перейдите в **Настройки** в боковом меню.
2. Выберите раздел **Роли**.
3. Откроется список всех созданных ролей.

![Список ролей](images/settings/roles_list.png)

### Создание новой роли

1. На странице списка ролей нажмите **Добавить роль**.
2. Введите название роли.
3. Нажмите **Сохранить**.

### Настройка прав доступа

![Редактирование роли](images/settings/role_edit.png)

1. Нажмите на название роли в списке.
2. Откроется страница с группами прав доступа.
3. Права сгруппированы по разделам системы (ученики, курсы, счета и т.д.).
4. Отметьте галочками нужные права для этой роли.
5. Нажмите **Сохранить**.

![Группы прав](images/settings/permission_groups.png)

Каждая группа содержит набор действий: просмотр, создание, редактирование, удаление.

## Организации

Организации -- это учебные учреждения или подразделения, работающие в системе.

### Список организаций

![Список организаций](images/settings/organizations_list.png)

1. Перейдите в **Настройки** и выберите **Организации**.
2. В таблице отображаются все организации с их основными данными.

### Создание организации

![Форма создания организации](images/settings/organization_form.png)

1. Нажмите **Добавить организацию**.
2. Заполните обязательные поля:
   - Название организации
   - Регистрационный код
   - Контактные данные
3. Заполните реквизиты для счетов (при необходимости):
   - Расчётный счёт
   - Номер KMKR (VAT)
4. **Платёжный шлюз** (настраивается администратором платформы):
   - Платёжный провайдер (Montonio / Everpay)
   - API ключ, API URL, Секретный API ключ
5. Нажмите **Сохранить**.

> **Важно:** Настройки платёжного шлюза необходимы для работы банковских ссылок в счетах и онлайн-оплаты.

### Модули организации

![Управление модулями](images/settings/modules_page.png)

Модули определяют, какие функции доступны для конкретной организации.

1. Откройте карточку организации.
2. Перейдите на вкладку **Модули**.
3. Включите или выключите нужные модули (счета, чат, расписание и т.д.).
4. Нажмите **Сохранить**.

## Адреса

![Список адресов](images/settings/address_list.png)

Справочник адресов используется при заполнении данных организаций и учеников.

1. Перейдите в **Настройки** и выберите **Адреса**.
2. Для добавления нажмите **Добавить адрес**.
3. Заполните поля: улица, дом, город, почтовый индекс.
4. Нажмите **Сохранить**.

## Адреса

Справочник физических адресов, по которым проходят занятия. Используется при создании кабинетов.

1. Перейдите в **Настройки → Адреса** (`/setting/address`).
2. Нажмите **Создать**.
3. Заполните название адреса (например, «Pärnu mnt 10, Tallinn»).
4. Нажмите **Сохранить**.

Право на просмотр/редактирование адресов общее с кабинетами (`room.view` / `room.edit` / `room.delete`) — отдельных прав для адресов нет.

## Кабинеты (помещения)

Справочник кабинетов используется при составлении расписания.

1. Сначала создайте **Адрес** (см. выше), иначе при создании кабинета поле «Адрес» будет пустым.
2. Перейдите в **Настройки → Кабинеты** (`/setting/room`).
3. Нажмите **Создать**.
4. Укажите номер кабинета и выберите адрес из списка.
5. При необходимости отметьте «Скрыть» — кабинет не будет показываться в визарде курса.
6. Нажмите **Сохранить**.

В списке кабинетов теперь отображается колонка **Адрес**, чтобы было видно привязку без открытия карточки.

> Без хотя бы одного кабинета визард создания курса (`Step 2: Расписание`) покажет пустой grid и предложит открыть настройки кабинетов — клик по таймлайну не сработает, пока кабинетов нет.

## Школьные классы (ступени обучения)

Справочник «Школьные классы» — это **уровни обучения** (1-й класс, 5-й класс и т. п.), используется в модуле Curriculum (учебные программы). **Не путать** с классом-кабинетом: кабинет = помещение, школьный класс = уровень.

1. Перейдите в **Настройки → Школьные классы** (`/settings/school-classes`).
2. Нажмите **Создать**.
3. Заполните:
   - **Название** — например, «1. klass», «5. klass».
   - **Код** — короткий идентификатор (`1`, `5`, `1A`).
4. Нажмите **Сохранить**.

Права: `school_class.view` / `school_class.edit` / `school_class.delete`.

## Школа и класс ученика

Система позволяет указать школу и класс ученика. Эти данные заполняются при регистрации и могут быть изменены администратором.

### Где отображается

- **Форма регистрации** — заполняется плательщиком/студентом при подаче заявления
- **Карточка заявления** (вкладка «Данные») — редактируется администратором
- **Карточка ученика** — редактируется администратором
- **Портал плательщика** — отображается в данных ребёнка

### Настройка видимости полей

Поля школы и класса можно включить или скрыть для формы регистрации:

1. Перейдите в **Kursuse seaded** (Настройки курсов).
2. Откройте вкладку **Registreerimisvormi väljad** (Поля формы регистрации).
3. Для каждого поля (`Kool` — школа, `Klass` — класс) выберите:
   - **Видимо** — поле отображается в форме
   - **Обязательное** — поле обязательно для заполнения
   - **Скрыто** — поле не отображается
4. Нажмите **Сохранить**.

### Два режима ввода школы

#### Выбор из справочника (по умолчанию)

При вводе названия школы (минимум 2 символа) появляется выпадающий список с подсказками из справочника эстонских учебных заведений (EHIS, ~11 000 записей). Выберите нужную школу из списка.

В списке для каждой школы отображается:
- **Название** школы
- **Адрес** (мелким шрифтом)

#### Свободный ввод («Muu kool» / «Другая школа»)

Если нужной школы нет в справочнике:

1. Поставьте галочку **Muu kool** (Другая школа).
2. Введите название школы вручную в текстовое поле.
3. Нажмите **Сохранить**.

> **Примечание:** При свободном вводе сохраняется только текст названия, без привязки к справочнику.

### Редактирование школы на карточке заявления

1. Откройте заявление студента.
2. В разделе данных ученика найдите строку **Kool** (Школа).
3. Нажмите иконку карандаша справа.
4. Откроется редактор:
   - **Режим справочника** — начните вводить название и выберите из списка.
   - **Режим «Другая школа»** — поставьте галочку и введите текст.
5. Нажмите **Salvesta** (Сохранить).

Для редактирования поля **Klass** (Класс) процедура аналогична — нажмите карандаш и введите значение.

> **Требуется право:** `COURSE_APPLICATION_EDIT` для редактирования полей на карточке заявления.

## Скидки

Справочник скидок используется при настройке стоимости обучения.

1. Перейдите в **Настройки** и выберите **Скидки**.
2. Нажмите **Добавить скидку**.
3. Укажите:
   - Название скидки
   - Тип (процент или фиксированная сумма)
   - Значение скидки
   - Период действия (при необходимости)
4. Нажмите **Сохранить**.

## Типы отпусков

Типы отпусков используются при учёте отсутствия сотрудников.

1. Перейдите в **Настройки** и выберите **Типы отпусков**.
2. Нажмите **Добавить тип**.
3. Введите название типа отпуска.
4. Нажмите **Сохранить**.

## Настройки проекта

Общие настройки влияют на внешний вид и поведение системы.

1. Перейдите в **Настройки** и выберите **Проект**.
2. Здесь можно изменить:
   - **Логотип** -- загрузите изображение логотипа организации.
   - **Название проекта** -- отображается в заголовке системы.
   - **Контактные данные** -- email и телефон поддержки.
3. После внесения изменений нажмите **Сохранить**.