Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
sergeygaychuk opened this issue May 7, 2015 · 2 comments

Comments

@sergeygaychuk
Copy link
Collaborator

Хранение в 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. По клику на "Создание организации", пользователь переходит на форму создания организации, текущий контекст не меняется
@sergeygaychuk
Copy link
Collaborator Author

При создании пользователя, создается скрытая организация. Имя организации == имени пользователя. Эта организация является личным контекстом пользователем. Она не отображается пользователю.

@yanovich
Copy link
Owner

yanovich commented May 7, 2015

Утверждаем

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants