留言板

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

Denis Makarov,修改在8 年前。

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

New Member 帖子: 5 加入日期: 15-9-23 最近的帖子
Доброго дня!

Нужна помощь. Нужно изменить выводимое значение прав доступа на документ, при его создании, для последующего его просмотра.
Т.е., при создании нового документа, внизу карточки есть поле "Может быть увидено" и варианты выбора, но по умолчанию стоит "Участники сайта". Где можно изменить настройки, чтобы по умолчанию в поле стояло "Владелец"?
thumbnail
Alexey Kakunin,修改在8 年前。

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

Liferay Master 帖子: 621 加入日期: 08-7-7 最近的帖子
Давайте разбираться.

Данный контрол подключается в форму в этом месте: 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,修改在8 年前。

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

New Member 帖子: 5 加入日期: 15-9-23 最近的帖子
Спасибо! Наконец-то какой-то вариант )
Буду пробовать.
Что получится, отпишусь.
Denis Makarov,修改在8 年前。

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

New Member 帖子: 5 加入日期: 15-9-23 最近的帖子
Что-то у меня ничего не выходит....
Дело в том, что я не силен в программировании и в java в частности.
Может у кого-то есть какой-то готовый "рецепт" решения данной задачи?