Перейти к содержимому


Разграничение видимости пользователей

пользователи права доступа

Сообщений в теме: 5

#1 Александр Jet

    Активный участник

  • Пользователи
  • PipPipPip
  • 41 сообщений

Отправлено 31 Март 2014 - 22:41

Есть несколько филиалов (допустим Москва и Питер). Исходя из этого есть группы пользователей:

Для Москвы:
- Мастера Москва
- Операторы Москва
- Директор Москва

Для Питера аналогично - Мастера Питер, Операторы Питер, Директор Питер.

На эти филиалы есть одна таблица "Сделки".

Оператор создает сделку и назначает Мастера. Оператор видит только свои сделки. Мастер тоже видит только свои сделки. Директор должен видеть все сделки в филиале.

Как сделать так, чтобы пользователи одного филиала не видели пользователей другого филиала?

Чтобы "Операторы Москва", добавляя сделку могли назначать мастеров из группы только "Мастера Москва", а директор в москве мог просмартивать сделки, созданные только "Операторами Москва" т.е. чтобы сотрудники одного филиала не видели сотрудников другого филиала и их сделок?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Апрель 2014 - 10:05

Цитата

Как сделать так, чтобы пользователи одного филиала не видели пользователей другого филиала?

Боюсь, на существующей системе пользователей это весьма затруднительно сделать, если вообще не невозможно. По крайней мере, через стандартный функционал.

#3 Александр Jet

    Активный участник

  • Пользователи
  • PipPipPip
  • 41 сообщений

Отправлено 01 Апрель 2014 - 14:19

У меня два варианта:

1) Создать дополнительное поле "Город"

Каждому мастеру, оператору и директору сделать дополнительное поле в таблице пользователей - Город1. В сделках добавить поле - Город2.

Когда оператор добавляет сделку, то в сделку в поле Город2 автоматически добавляется значение поля Город1 текущего пользователя. Для удобства это поле можно скрыть от пользователей, так, чтобы оно заполнялось автоматически, но его никто не видел (не знал о его существовании).

В итоге у "Операторов Москва" есть значение Москва в поле Город1 в таблице пользователей. Когда "Оператор Москва" добавляет сделку, то поле Город2 автоматически заполняется как Москва.

И потом исходя из значений поля Город2 можно выбирать мастеров, у которых поле Город1 = Город2.


2) Добавить в сделки поле "Группа пользователей"

Пользователи состоят в группах:

- Москва
-- Операторы Москва
-- Мастера Москва
-- Директор Москва

Аналогично для Питера.

В сделки добавить поле Группа пользователей, чтобы туда автоматически загружалось значение не последней группы пользователя (Оператор Москва, или Мастера Москва), а значение верхней группы, т.е. просто Москва. И также исходя из этого значения можно выбирать мастеров.

------

Исходя из этих вариантов у меня три вопроса:

1) Как автоматически выгружать при создании сделки в значение Город2 значение из поля Город1 текущего пользователя?

2) Как можно автоматически выгрузить в значение поля Группа пользователей значение верхней группы?

3) Если предположить, что удалось автоматически заполнять значение Город2 или Группа пользователей, то как на основе этих значений сделать выборку по мастерам?

У поля "Мастер" в сделках тип поля - "Пользователь", а не "Связь - таблица мастеров - ФИО", т.к. по этому значению создается правило для просмотра таблицы мастерами: поле Мастер = {текущий}.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Апрель 2014 - 16:28

Каким образом вы хотите добавить в профиль пользователя дополнительное поле? Это системная функция.

#5 Александр Jet

    Активный участник

  • Пользователи
  • PipPipPip
  • 41 сообщений

Отправлено 01 Апрель 2014 - 16:45

я хотел добавить доп. поле не в профиль пользователя, а в таблицу "Наши сотрудники", через которую были созданы пользователи

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Апрель 2014 - 17:49

Это вам вряд ли что даст, т.к. в фильтрах и правилах используется текущий пользователь, а не сотрудник из таблицы Наши сотрудники.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных