com.liferay.sharing.web.internal.configuration.admin.display.SharingSiteSettingsConfigurationScreenWrapper Maven / Gradle / Ivy
/**
* SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.sharing.web.internal.configuration.admin.display;
import com.liferay.configuration.admin.display.ConfigurationScreen;
import com.liferay.configuration.admin.display.ConfigurationScreenWrapper;
import com.liferay.portal.kernel.language.Language;
import com.liferay.portal.kernel.model.Group;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.sharing.configuration.SharingConfiguration;
import com.liferay.sharing.configuration.SharingConfigurationFactory;
import com.liferay.sharing.web.internal.constants.SharingWebKeys;
import com.liferay.site.settings.configuration.admin.display.SiteSettingsConfigurationScreenContributor;
import com.liferay.site.settings.configuration.admin.display.SiteSettingsConfigurationScreenFactory;
import java.util.Locale;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Eudaldo Alonso
*/
@Component(service = ConfigurationScreen.class)
public class SharingSiteSettingsConfigurationScreenWrapper
extends ConfigurationScreenWrapper {
@Override
protected ConfigurationScreen getConfigurationScreen() {
return _siteSettingsConfigurationScreenFactory.create(
new SharingSiteSettingsConfigurationScreenContributor());
}
@Reference
private Language _language;
@Reference(target = "(osgi.web.symbolicname=com.liferay.sharing.web)")
private ServletContext _servletContext;
@Reference
private SharingConfigurationFactory _sharingConfigurationFactory;
@Reference
private SiteSettingsConfigurationScreenFactory
_siteSettingsConfigurationScreenFactory;
private class SharingSiteSettingsConfigurationScreenContributor
implements SiteSettingsConfigurationScreenContributor {
@Override
public String getCategoryKey() {
return "sharing";
}
@Override
public String getJspPath() {
return "/site_settings/sharing.jsp";
}
@Override
public String getKey() {
return "site-configuration-sharing";
}
@Override
public String getName(Locale locale) {
return _language.get(locale, "sharing");
}
@Override
public ServletContext getServletContext() {
return _servletContext;
}
@Override
public boolean isVisible(Group group) {
SharingConfiguration groupSharingConfiguration =
_sharingConfigurationFactory.getGroupSharingConfiguration(
group);
return groupSharingConfiguration.isAvailable();
}
@Override
public void setAttributes(
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
SiteSettingsConfigurationScreenContributor.super.setAttributes(
httpServletRequest, httpServletResponse);
ThemeDisplay themeDisplay =
(ThemeDisplay)httpServletRequest.getAttribute(
WebKeys.THEME_DISPLAY);
httpServletRequest.setAttribute(
SharingWebKeys.GROUP_SHARING_CONFIGURATION,
_sharingConfigurationFactory.getGroupSharingConfiguration(
themeDisplay.getSiteGroup()));
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy