Fórum

Изменение прав доступа по умолчанию к документу

Denis Makarov, modificado 8 Anos atrás.

Изменение прав доступа по умолчанию к документу

New Member Postagens: 5 Data de Entrada: 23/09/15 Postagens Recentes
Доброго дня!

Нужна помощь. Нужно изменить выводимое значение прав доступа на документ, при его создании, для последующего его просмотра.
Т.е., при создании нового документа, внизу карточки есть поле "Может быть увидено" и варианты выбора, но по умолчанию стоит "Участники сайта". Где можно изменить настройки, чтобы по умолчанию в поле стояло "Владелец"?
thumbnail
Alexey Kakunin, modificado 8 Anos atrás.

RE: Изменение прав доступа по умолчанию к документу

Liferay Master Postagens: 621 Data de Entrada: 07/07/08 Postagens Recentes
Давайте разбираться.

Данный контрол подключается в форму в этом месте: https://github.com/liferay/liferay-portal/blob/6.2.x/portal-web/docroot/html/portlet/document_library/edit_file_entry.jsp#L430
кодом:

<liferay-ui:input-permissions modelName="<%= DLFileEntryConstants.getClassName() %>" />

Соотвественно логика реализована в теге input-permissions
Теперь смотрим реализацию тега - что показывать в combobox-е определяется тут: https://github.com/liferay/liferay-portal/blob/6.2.x/portal-web/docroot/html/taglib/ui/input_permissions/page.jsp#L120
Для того, что бы у владельца проставилось "selected" необходимо что бы сработало условие

inputPermissionsViewRole.equals(RoleConstants.OWNER)

Переменная inputPermissionsViewRole берется из параментра тега "inputPermissionsViewRole" или вычисляется в InputPermissionsParamsTag.getDefaultViewRole(modelName, themeDisplay) (смотрим строку 78).

Код метода тут: https://github.com/liferay/liferay-portal/blob/6.2.x/util-taglib/src/com/liferay/taglib/ui/InputPermissionsParamsTag.java#L145 - грубо говоря, он смотрет контекст в котором созадется контент (в вашем случае документа) - какой это сайт, на публичных или приватных страницах мы находимся, что за сайт и какая у него роль по умолчанию и так далее.

ИТОГО - что бы сделал я:
1. Если надо реализовать этот функционал только для документов - то исправил бы edit_file_entry.jsp добавив в тег параметр inputPermissionsViewRole="<%= RoleConstants.OWNER %>" (ну или как-то так - проверить код возможности нет - я передаю идею)
2. Если для всех - то правил бы сам тег - его page.jsp - сразу присваивая в переменную

String inputPermissionsViewRole = RoleConstants.OWNER;
Denis Makarov, modificado 8 Anos atrás.

RE: Изменение прав доступа по умолчанию к документу

New Member Postagens: 5 Data de Entrada: 23/09/15 Postagens Recentes
Спасибо! Наконец-то какой-то вариант )
Буду пробовать.
Что получится, отпишусь.
Denis Makarov, modificado 8 Anos atrás.

RE: Изменение прав доступа по умолчанию к документу

New Member Postagens: 5 Data de Entrada: 23/09/15 Postagens Recentes
Что-то у меня ничего не выходит....
Дело в том, что я не силен в программировании и в java в частности.
Может у кого-то есть какой-то готовый "рецепт" решения данной задачи?