Справочная информация:
Я создал внутренний сайт для компании. Большая часть работы была направлена на создание инструментов расчета, которые их продавцы могут использовать, чтобы делать предложения для клиентов. Создавайте PDF-предложения и контракты, которые можно скачать, сравнивайте цены и т. Д. Все это работает нормально.
Теперь их продавцы были разделены на две группы.
- Одна группа является персоналом по продаже, нанятым компанией.
- Другая группа - это лица, которые сами являются компанией.
Вопрос:
Моя задача сейчас заключается в том, что в некоторых случаях мне нужно отображать разные вещи в зависимости от типа продавца. Некоторые из правил для инструментов расчета будут иметь различные правила относительно того, какие числа будут разрешены и т. Д. Но большая часть сайта будет одинаковой для обеих групп.
Что бы я хотел знать, есть ли хороший способ решения этой проблемы?
Мои мысли:
Я думал об управлении этим с помощью групп, которые доступны в contrib.auth. Таким образом, я мог бы хранить единую кодовую базу, но мне пришлось бы создавать правила для множества разных мест. Правила проверки форм для проверки допустимости введенных номеров будут зависеть от группы, в которой находится пользователь. Некоторые вещи будут иметь разные имена, или рабочий процесс может немного отличаться. Некоторые инструменты будут доступны только для одной из групп. Это кажется быстрым решением здесь и сейчас, но если двум группам нужно будет все больше и больше меняться, кажется, что этим быстро станет трудно управлять.
Я также думал о создании двух разных сайтов. Идея состояла в том, чтобы создать приложения, которые используют обе группы, поэтому мне нужно было бы только написать код для этого 1 места. Тогда я мог бы создавать собственные части для каждого сайта, и мне не нужно было бы проверять пользователя в большинстве шаблонов и представлений. Но я не уверен, что это хороший способ идти о вещах. Это создаст много дополнительной работы, и если две группы могут использовать много одного и того же кода, это может не понадобиться.
Самая большая проблема в том, что я на самом деле не знаю, как это развивается, так что это может привести к тому, что две группы будут совершенно разными или с очень небольшим отличием. Что я хотел бы сделать, так это написать некоторый код, который может поддерживать оба сценария, поэтому я не буду сожалеть о своем выборе через пол года.
Итак, как вы справляетесь с этим делом управления пользователями. Я ищу методы идей или многократно используемые приложения для решения этой проблемы, а не готовое решение.
Разъяснения:
Моя проблема не в чистой презентации, которая может быть сделана с помощью шаблонов, но также в том, что к определенным инструментам расчета (заполненная форма) будут применяться различные правила / валидация, а в некоторых случаях выполненные вычисления также разные. Таким образом, они могут видеть одну и ту же форму, но им не разрешается вводить одни и те же цифры, и одни и те же цифры могут не давать одинакового результата.