Vinitor використовує комбіновану систему ролей та дозволів . Кожен користувач має рівно одну роль, яка визначає його рівень ієрархії. Крім того, дозволи призначаються індивідуально для кожного користувача — вони не виводяться автоматично з ролі.
Модулі та дозволи взаємопов’язані
Фактичні дозволи користувача — це перетин призначених йому дозволів та модулів , які твоє господарство активувало. Дозвіл залишається неефективним, поки відповідний модуль не активовано — наприклад, дозвіл PLANT_PROTECTION_WRITE діє лише при активованому модулі Захист рослин .
Роль Внутрішня назва Описання Власник OWNERНайвищий рівень ієрархії. Повний доступ до всіх функцій, включаючи налаштування господарства та оплату. Адміністратор ADMINКерування працівниками, виноградниками, завданнями та всіма функціями господарства. Керівник LEADERКерування командою з доступом до операційних функцій, таких як завдання, захист рослин та повідомлення про події. Працівник WORKERСтандартна роль для польових робітників. Доступ до призначених завдань, GPS-відстеження та повідомлень про події.
Ролі розташовані ієрархічно: Власник > Адміністратор > Керівник > Працівник .
Ієрархія відповідає на два окремі питання . Для зміни ролі мають бути виконані обидві умови:
Чи маю я взагалі право редагувати цей запис? — Власний обліковий запис завжди. Чужі облікові записи — лише якщо ця людина не стоїть вище за тебе . Колег однакового рівня редагувати можна.
Чи маю я право призначати цю роль? — Лише ролі на твоєму рівні або нижче . І ніколи самому собі.
Власна роль Облікові записи, які можна редагувати Власник Усі — власник, адміністратор, керівник, працівник Адміністратор Адміністратор, керівник, працівник (крім: власник) Керівник Керівник, працівник (крім: власник, адміністратор) Працівник Працівник
Власний обліковий запис є винятком — ти можеш редагувати власний профіль незалежно від своєї ролі.
Власна роль Може призначити Власник Власник, адміністратор, керівник, працівник Адміністратор Адміністратор, керівник, працівник Керівник Керівник, працівник Працівник Працівник
Власна роль заблокована
Ніхто не може змінити власну роль — ані підвищити, ані знизити. Навіть власник не може знизити себе сам.
Для передавання господарства це означає: нову власницю призначає на роль Власник наявний власник (колеги однакового рівня можуть редагувати одне одного). Після цього нова власниця може знизити попереднього.
Обидва правила діють разом
Приклад: керівниця з дозволом USER_WRITE хоче зробити іншого керівника адміністратором. Правило 1 виконано — обидва однакового рівня, тож вона може редагувати цей запис. Правило 2 не виконано — адміністратор стоїть вище за її власний рівень. Зміну буде відхилено.
Перевірка виконується на сервері й діє для кожного способу, яким можна змінити обліковий запис:
Операція Що перевіряється Створення користувача Призначена роль має бути на твоєму рівні або нижче Редагування користувача Доступ до запису та — якщо змінюється роль — нова роль Групове редагування Як вище, для кожного запису. Якщо неприпустимий хоча б один запис, відхиляється вся зміна Архівування користувача Доступ до запису. Власний обліковий запис архівувати не можна Зміна дозволів Доступ до запису. Власні дозволи змінювати не можна, і не можна надавати дозволи, що виходять за межі твоєї ролі Зміна фото профілю Доступ до запису
Якщо спрацьовує одне з цих правил, Vinitor відхиляє зміну з повідомленням Доступ відхилено — Ця операція не дозволена .
Порада
У полях вибору ролі дашборд від початку пропонує лише ті ролі, які ти маєш право призначати. Перевірка на сервері є обов’язковою інстанцією — вона спрацьовує й там, де інтерфейс показує більше, наприклад у табличному редагуванні списку працівників.
Vinitor розпізнає 32 окремих дозволи , які призначаються індивідуально для кожного користувача. Дозволи розбиті на наступні категорії:
Дозвіл Описання VINEYARD_READПерегляд виноградників та їх деталей VINEYARD_WRITEСтворення та редагування виноградників VINEYARD_DELETEВидалення виноградників
Дозвіл Описання TASK_READПерегляд завдань TASK_WRITEСтворення та редагування завдань TASK_DELETEВидалення завдань TASK_TABLE_READПерегляд таблиці завдань (матричне представлення)
Дозвіл Описання USER_READПерегляд списку працівників та докладного перегляду USER_WRITEСтворення та редагування працівників USER_DELETEАрхівування/видалення працівників USER_WRITE_SELFРедагування власного профілю (ім’я, контактні дані, фото профілю)
Дозвіл Описання EQUIPMENT_READПерегляд машин та обладнання EQUIPMENT_WRITEСтворення та редагування машин та обладнання EQUIPMENT_DELETEВидалення машин та обладнання
Дозвіл Описання PLANT_PROTECTION_READПерегляд схем захисту, діючих речовин та бакових сумішей PLANT_PROTECTION_WRITEСтворення та редагування схем захисту, діючих речовин та бакових сумішей
Дозвіл Описання REPORT_READПерегляд повідомлень про події REPORT_WRITEСтворення та редагування повідомлень про події
Дозвіл Описання STATISTICS_READПерегляд аналітики та статистики
Дозвіл Описання GPS_TRACKING_READПерегляд даних GPS-відстеження GPS_TRACKING_WRITEКерування налаштуваннями GPS-відстеження MAP_READПерегляд карти
Дозвіл Описання TIME_TRACKING_READПерегляд огляду обліку часу TIME_TRACKING_EXPORTЕкспорт даних обліку часу як PDF або CSV TIME_TRACKING_EDIT_OWNРедагування власного робочого часу TIME_TRACKING_EDIT_ALLРедагування робочого часу всіх працівників
Дозвіл Описання LEAVE_REQUESTЗапит на відпустку та відсутність LEAVE_APPROVEЗатвердження або відхилення запитів про відсутність
Дозвіл Описання SALARY_READПерегляд записів про заробітну плату SALARY_WRITEСтворення та редагування записів про заробітну плату
Дозвіл Описання COMPANY_MANAGEКерування налаштуваннями господарства BILLING_MANAGEКерування платежами та рахунками