Skip to content

Управление организациями. Смена контекста отображения. #58

@sergeygaychuk

Description

@sergeygaychuk

Хранение в Mongo

Field name Field type Validates Description
name string max-length: 50; unique: true; required: true Название организации
owner ObjectId required: true Ссылка на модель User. Создатель организации

Пока не решен вопрос с хранением членов организации. Отношение многое ко многим

Основные требования

  1. Поведение пользователей asutp.io (далее Пользователи):
    • Пользователи могут создавать любое количество организаци
    • Пользователи могут просмотреть все организации созданные ими, либо членами которых они являются
  2. Поведение создателя организации (далее "Создатель")
    • Создатель может приглашать других пользователей asutp.io в организацию
    • Создатель может редактировать данные организации, кроме поля owner
    • Создатель может удалить организацию. После удаления, все члены организации будут отсоединены от нее. Возможно будут уведомления на почту
    • Создатель может удалять членов организации, пользователи не удаляются из системы.
    • Создатель может назначить члену организации роль администратора
  3. Смена контекста:
    • При наличии у пользователей организаций (созданных пользователем либо членом которых он является), они могут менять контекст данных с которыми он работает.
    • Контекстом являются организации, либо контекст самого пользователя (личный контекст).
    • При смене контекста, все данные возвращаются в рамках доступности этого контекста
      • Если контекст - организация, данные будут фильтроваться по этой организации
      • Если контекст - личный, данные отфильтровываются по принадлежности к этому пользователю, т. е. созданные пользователем и не привязанные ни к одной из организаций
  4. Разграничение данных по типам пользователей (администратор, сотрудник организации) будут проработаны в задаче с правами на доступ в организацию. Поведение в текущей реализации, пользователи организации всегда видят все данные организации

Интерфейс пользователя

Просмотр списка организаций

  1. Список организаций, доступных пользователю, можно просмотреть в профиле пользователя. Список организаций находится под полями профиля. Отображение ввиде таблицы:
Название организации Владелец Отношение текущего пользователя с организацией
Asutp Сергей Янович одно из {Владелец OR Администратор OR Сотрудник }
  1. По клику на строку с организацией он переходит на страницу редактирования (если текущий пользователь == владелец организации) либо просмотра (текущий пользователь == { Администратор | Сотрудник }) данных организации.
  2. Пользователь может выбрать одну или несколько организаций в списке, путем клика на чекбокс возле названия организации и совершить с ними групповое действие:
    • Удаление организации(ий)

Редактирование организации

  1. Страница редактирования является самостоятельной, открывается не под профилем пользователя
  2. На странице редактирования есть input для "Названия" и input(readonly=true) для Владельца
  3. Редактировать можно только Название Организации
  4. При успешном применении редактирования, кнопка "Изменить" становится не активной. Поведение как на всех формах проекта

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

  1. Кнопка создания организации находится над списком организаци в профиле пользователя
  2. Кнопка всегда активна
  3. При нажатии на кнопку мы переходим на форму создания организации
  4. Форма создания организации содержит два поля
    • input для "Названия" организации
    • input(readonly = true) для владельца организации. Создателем организации автоматически становится текущий пользователь
  5. При успешном создании организации мы переходим на страницу редактирования организации.

Смена контекста организации

  1. Смена контекста происходит путем выбора элемента в выпадающем списке.
  2. Выпадающий список находится под банером asutp.io и над левым sidebar.
  3. Текущий элемент, отображаемый в выпадающем списке, обозначает текущий контекст.
  4. Список состоит из:
    • Первый элемент всегда личный контекст

    • Организация 1
    • Организация 2
    • ............
    • Организация N

    • Управление организациями
    • Создание организации
  5. По клику на "Управление организациями", пользователь переходит на профиль, и страница позиционируется на списке организаций, текущий контекст не меняется
  6. По клику на "Создание организации", пользователь переходит на форму создания организации, текущий контекст не меняется

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions