Показать стандартную или пользовательскую страницу VF согласно профилю в salesforce - PullRequest
0 голосов
/ 03 февраля 2020

Можем ли мы показать пользовательскую страницу VF для нескольких профилей и стандартную страницу редактирования для другого профиля? В настоящее время все мои профили могут видеть пользовательскую страницу VF.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2020

У меня есть решение

  1. на странице visualforce, создайте два раздела
    (1 - раздел редактирования, 2 - раздел сообщения без разрешения)

  2. использовать rendered = "{! If (~~~, true, false)} для каждого двух разделов
    (~~~ = $ user.profile = [идентификатор профиля])

    • используйте «if (~~~, if (~~~, true, false), false)» для многих профилей

Тогда в зависимости от профиля вы получите другая страница.

0 голосов
/ 13 февраля 2020

Если вы переопределили стандартное действие редактирования с помощью Visualforce / Aura / LW C - вот оно. Это все или ничего, не в профиле c. У вас может быть 2 макета и на одном дисплее настраиваемая кнопка редактирования, на другом - стандартная? Это может быстро стать невозможным, если вам нужно больше различий, чем просто кнопка. Если у вас сейчас 5 макетов - наихудший случай в новом мире, вам понадобится 10, беспорядок.

Что вы можете сделать, это (ab) использовать параметр <apex:page> "action". Напишите метод, который будет проверять профиль пользователя и, если он один из специальных, - перенаправление. На самом деле это даже не обязательно должна быть функция apex, но если вы сделаете это чисто визуально, это будет выглядеть немного грязно, и вы не сможете выполнить модульное тестирование, так что если оно сломается в будущем.

Что-то как

<apex:page standardController="Account" action="{!IF($User.ProfileId != '...', URLFOR($Action.Account.edit, account.id, null, true),'')}" >
...
... rest of your page
...
</apex:page>

Возможно, вам придется изменить его, передать больше параметров. Или, может быть, вы поймете, как взять полный текущий URL из $ CurrentPage и просто ударить по нему &nooverride=1.

Объединить такие вещи, как

со знаниями об URLFOR и классе PageReference и обновлении Ваш вопрос с примером кода, если вы все еще застряли.

0 голосов
/ 09 февраля 2020

Вам необходимо создать два типа записей и назначить макет записей на основе профилей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...