Merge pull request #131 from bsinno/Move_anonymous_download_to_authentication_configuration_section
Move anonymous download to authentication configuration section
This commit is contained in:
@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.ui.tenantconfiguration;
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||
import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.AnonymousDownloadAuthenticationConfigurationItem;
|
||||
import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.AuthenticationConfigurationItem;
|
||||
import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.CertificateAuthenticationConfigurationItem;
|
||||
import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.GatewaySecurityTokenAuthenticationConfigurationItem;
|
||||
@@ -52,12 +53,17 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
@Autowired
|
||||
private GatewaySecurityTokenAuthenticationConfigurationItem gatewaySecurityTokenAuthenticationConfigurationItem;
|
||||
|
||||
@Autowired
|
||||
private AnonymousDownloadAuthenticationConfigurationItem anonymousDownloadAuthenticationConfigurationItem;
|
||||
|
||||
private CheckBox gatewaySecTokenCheckBox;
|
||||
|
||||
private CheckBox targetSecTokenCheckBox;
|
||||
|
||||
private CheckBox certificateAuthCheckbox;
|
||||
|
||||
private CheckBox downloadAnonymousCheckBox;
|
||||
|
||||
/**
|
||||
* Initialize Authentication Configuration layout.
|
||||
*/
|
||||
@@ -77,7 +83,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
headerDisSetType.addStyleName("config-panel-header");
|
||||
vLayout.addComponent(headerDisSetType);
|
||||
|
||||
final GridLayout gridLayout = new GridLayout(2, 3);
|
||||
final GridLayout gridLayout = new GridLayout(2, 4);
|
||||
gridLayout.setSpacing(true);
|
||||
gridLayout.setImmediate(true);
|
||||
gridLayout.setColumnExpandRatio(1, 1.0F);
|
||||
@@ -105,6 +111,14 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
gridLayout.addComponent(gatewaySecTokenCheckBox, 0, 2);
|
||||
gridLayout.addComponent(gatewaySecurityTokenAuthenticationConfigurationItem, 1, 2);
|
||||
|
||||
downloadAnonymousCheckBox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, "");
|
||||
downloadAnonymousCheckBox.setId("downloadanonymouscheckbox");
|
||||
downloadAnonymousCheckBox.setValue(targetSecurityTokenAuthenticationConfigurationItem.isConfigEnabled());
|
||||
downloadAnonymousCheckBox.addValueChangeListener(this);
|
||||
anonymousDownloadAuthenticationConfigurationItem.addChangeListener(this);
|
||||
gridLayout.addComponent(downloadAnonymousCheckBox, 0, 3);
|
||||
gridLayout.addComponent(anonymousDownloadAuthenticationConfigurationItem, 1, 3);
|
||||
|
||||
vLayout.addComponent(gridLayout);
|
||||
rootPanel.setContent(vLayout);
|
||||
setCompositionRoot(rootPanel);
|
||||
@@ -115,6 +129,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
certificateAuthenticationConfigurationItem.save();
|
||||
targetSecurityTokenAuthenticationConfigurationItem.save();
|
||||
gatewaySecurityTokenAuthenticationConfigurationItem.save();
|
||||
anonymousDownloadAuthenticationConfigurationItem.save();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -122,9 +137,11 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
certificateAuthenticationConfigurationItem.undo();
|
||||
targetSecurityTokenAuthenticationConfigurationItem.undo();
|
||||
gatewaySecurityTokenAuthenticationConfigurationItem.undo();
|
||||
anonymousDownloadAuthenticationConfigurationItem.undo();
|
||||
certificateAuthCheckbox.setValue(certificateAuthenticationConfigurationItem.isConfigEnabled());
|
||||
targetSecTokenCheckBox.setValue(targetSecurityTokenAuthenticationConfigurationItem.isConfigEnabled());
|
||||
gatewaySecTokenCheckBox.setValue(gatewaySecurityTokenAuthenticationConfigurationItem.isConfigEnabled());
|
||||
downloadAnonymousCheckBox.setValue(anonymousDownloadAuthenticationConfigurationItem.isConfigEnabled());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -150,6 +167,8 @@ public class AuthenticationConfigurationView extends BaseConfigurationView
|
||||
configurationItem = targetSecurityTokenAuthenticationConfigurationItem;
|
||||
} else if (checkBox == certificateAuthCheckbox) {
|
||||
configurationItem = certificateAuthenticationConfigurationItem;
|
||||
} else if (checkBox == downloadAnonymousCheckBox) {
|
||||
configurationItem = anonymousDownloadAuthenticationConfigurationItem;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2015 Bosch Software Innovations GmbH and others.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*/
|
||||
package org.eclipse.hawkbit.ui.tenantconfiguration;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
||||
import org.eclipse.hawkbit.repository.model.TenantConfigurationValue;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.vaadin.spring.annotation.SpringComponent;
|
||||
import com.vaadin.spring.annotation.ViewScope;
|
||||
import com.vaadin.ui.Alignment;
|
||||
import com.vaadin.ui.CheckBox;
|
||||
import com.vaadin.ui.GridLayout;
|
||||
import com.vaadin.ui.Label;
|
||||
import com.vaadin.ui.Panel;
|
||||
import com.vaadin.ui.VerticalLayout;
|
||||
|
||||
/**
|
||||
* View to enable anonymous download.
|
||||
*/
|
||||
@SpringComponent
|
||||
@ViewScope
|
||||
public class DownloadAnonymousConfigurationView extends BaseConfigurationView
|
||||
implements ConfigurationItem.ConfigurationItemChangeListener {
|
||||
|
||||
private static final String DIST_CHECKBOX_STYLE = "dist-checkbox-style";
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
@Autowired
|
||||
private transient TenantConfigurationManagement tenantConfigurationManagement;
|
||||
|
||||
boolean anonymousDownloadEnabled;
|
||||
|
||||
private CheckBox downloadAnonymousCheckBox;
|
||||
|
||||
/**
|
||||
* Initialize Default Download Anonymous layout.
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
|
||||
final TenantConfigurationValue<Boolean> value = tenantConfigurationManagement
|
||||
.getConfigurationValue(TenantConfigurationKey.ANONYMOUS_DOWNLOAD_MODE_ENABLED, Boolean.class);
|
||||
anonymousDownloadEnabled = value.getValue();
|
||||
|
||||
final Panel rootPanel = new Panel();
|
||||
rootPanel.setSizeFull();
|
||||
rootPanel.addStyleName("config-panel");
|
||||
|
||||
final VerticalLayout vLayout = new VerticalLayout();
|
||||
vLayout.setMargin(true);
|
||||
vLayout.setSizeFull();
|
||||
|
||||
final Label headerDisSetType = new Label(i18n.get("enonymous.download.title"));
|
||||
headerDisSetType.addStyleName("config-panel-header");
|
||||
vLayout.addComponent(headerDisSetType);
|
||||
|
||||
final GridLayout gridLayout = new GridLayout(2, 1);
|
||||
gridLayout.setSpacing(true);
|
||||
gridLayout.setImmediate(true);
|
||||
gridLayout.setColumnExpandRatio(1, 1.0F);
|
||||
gridLayout.setSizeFull();
|
||||
|
||||
downloadAnonymousCheckBox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, "");
|
||||
downloadAnonymousCheckBox.setValue(anonymousDownloadEnabled);
|
||||
downloadAnonymousCheckBox.addValueChangeListener(event -> configurationHasChanged());
|
||||
downloadAnonymousCheckBox.setId(SPUIComponetIdProvider.SYSTEM_CONFIGURATION_ANONYMOUS_DOWNLOAD_CHECKBOX);
|
||||
|
||||
gridLayout.addComponent(downloadAnonymousCheckBox);
|
||||
|
||||
final Label configurationLabel = SPUIComponentProvider.getLabel(i18n.get("enonymous.download.label"),
|
||||
SPUILabelDefinitions.SP_LABEL_SIMPLE);
|
||||
gridLayout.addComponent(configurationLabel);
|
||||
gridLayout.setComponentAlignment(configurationLabel, Alignment.MIDDLE_LEFT);
|
||||
|
||||
vLayout.addComponent(gridLayout);
|
||||
|
||||
rootPanel.setContent(vLayout);
|
||||
setCompositionRoot(rootPanel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configurationHasChanged() {
|
||||
anonymousDownloadEnabled = downloadAnonymousCheckBox.getValue();
|
||||
notifyConfigurationChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save() {
|
||||
tenantConfigurationManagement.addOrUpdateConfiguration(TenantConfigurationKey.ANONYMOUS_DOWNLOAD_MODE_ENABLED,
|
||||
downloadAnonymousCheckBox.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo() {
|
||||
final TenantConfigurationValue<Boolean> value = tenantConfigurationManagement
|
||||
.getConfigurationValue(TenantConfigurationKey.ANONYMOUS_DOWNLOAD_MODE_ENABLED, Boolean.class);
|
||||
anonymousDownloadEnabled = value.getValue();
|
||||
downloadAnonymousCheckBox.setValue(anonymousDownloadEnabled);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -55,9 +55,6 @@ public class TenantConfigurationDashboardView extends CustomComponent implements
|
||||
@Autowired
|
||||
private PollingConfigurationView pollingConfigurationView;
|
||||
|
||||
@Autowired
|
||||
private DownloadAnonymousConfigurationView downloadAnonymousConfigurationView;
|
||||
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
@@ -80,7 +77,6 @@ public class TenantConfigurationDashboardView extends CustomComponent implements
|
||||
configurationViews.add(defaultDistributionSetTypeLayout);
|
||||
configurationViews.add(authenticationConfigurationView);
|
||||
configurationViews.add(pollingConfigurationView);
|
||||
configurationViews.add(downloadAnonymousConfigurationView);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,7 +14,9 @@ import java.util.List;
|
||||
import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.vaadin.ui.VerticalLayout;
|
||||
|
||||
@@ -30,6 +32,9 @@ abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLay
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
private final TenantConfigurationKey configurationKey;
|
||||
private final transient TenantConfigurationManagement tenantConfigurationManagement;
|
||||
|
||||
@@ -53,7 +58,7 @@ abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLay
|
||||
*/
|
||||
protected void init(final String labelText) {
|
||||
setImmediate(true);
|
||||
addComponent(SPUIComponentProvider.getLabel(labelText, SPUILabelDefinitions.SP_LABEL_SIMPLE));
|
||||
addComponent(SPUIComponentProvider.getLabel(i18n.get(labelText), SPUILabelDefinitions.SP_LABEL_SIMPLE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* Copyright (c) 2015 Bosch Software Innovations GmbH and others.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*/
|
||||
package org.eclipse.hawkbit.ui.tenantconfiguration.authentication;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.vaadin.spring.annotation.SpringComponent;
|
||||
import com.vaadin.spring.annotation.ViewScope;
|
||||
|
||||
/**
|
||||
* This class represents the UI item for the anonymous download by in the
|
||||
* authentication configuration view.
|
||||
*/
|
||||
@SpringComponent
|
||||
@ViewScope
|
||||
public class AnonymousDownloadAuthenticationConfigurationItem extends AbstractAuthenticationTenantConfigurationItem {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private boolean configurationEnabled = false;
|
||||
private boolean configurationEnabledChange = false;
|
||||
|
||||
@Autowired
|
||||
public AnonymousDownloadAuthenticationConfigurationItem(
|
||||
final TenantConfigurationManagement tenantConfigurationManagement) {
|
||||
super(TenantConfigurationKey.ANONYMOUS_DOWNLOAD_MODE_ENABLED, tenantConfigurationManagement);
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
super.init("label.configuration.anonymous.download");
|
||||
configurationEnabled = isConfigEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configEnable() {
|
||||
configurationEnabledChange = !configurationEnabled;
|
||||
configurationEnabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configDisable() {
|
||||
configurationEnabledChange = configurationEnabled;
|
||||
configurationEnabled = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save() {
|
||||
if (!configurationEnabledChange) {
|
||||
return;
|
||||
}
|
||||
getTenantConfigurationManagement().addOrUpdateConfiguration(getConfigurationKey(), configurationEnabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo() {
|
||||
configurationEnabledChange = false;
|
||||
configurationEnabled = getTenantConfigurationManagement()
|
||||
.getConfigurationValue(getConfigurationKey(), Boolean.class).getValue();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,6 @@ import javax.annotation.PostConstruct;
|
||||
import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -35,9 +34,6 @@ public class CertificateAuthenticationConfigurationItem extends AbstractAuthenti
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
private boolean configurationEnabled = false;
|
||||
private boolean configurationEnabledChange = false;
|
||||
private boolean configurationCaRootAuthorityChanged = false;
|
||||
@@ -60,7 +56,7 @@ public class CertificateAuthenticationConfigurationItem extends AbstractAuthenti
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
super.init(i18n.get("label.configuration.auth.header"));
|
||||
super.init("label.configuration.auth.header");
|
||||
configurationEnabled = isConfigEnabled();
|
||||
|
||||
detailLayout = new VerticalLayout();
|
||||
|
||||
@@ -15,7 +15,6 @@ import org.eclipse.hawkbit.security.SecurityTokenGenerator;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall;
|
||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -41,8 +40,6 @@ public class GatewaySecurityTokenAuthenticationConfigurationItem extends Abstrac
|
||||
|
||||
@Autowired
|
||||
private transient SecurityTokenGenerator securityTokenGenerator;
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
private TextField gatewayTokenNameTextField;
|
||||
|
||||
@@ -72,7 +69,7 @@ public class GatewaySecurityTokenAuthenticationConfigurationItem extends Abstrac
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
|
||||
super.init(i18n.get("label.configuration.auth.gatewaytoken"));
|
||||
super.init("label.configuration.auth.gatewaytoken");
|
||||
configurationEnabled = isConfigEnabled();
|
||||
|
||||
detailLayout = new VerticalLayout();
|
||||
|
||||
@@ -12,7 +12,6 @@ import javax.annotation.PostConstruct;
|
||||
|
||||
import org.eclipse.hawkbit.repository.TenantConfigurationManagement;
|
||||
import org.eclipse.hawkbit.tenancy.configuration.TenantConfigurationKey;
|
||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.vaadin.spring.annotation.SpringComponent;
|
||||
@@ -28,9 +27,6 @@ public class TargetSecurityTokenAuthenticationConfigurationItem extends Abstract
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Autowired
|
||||
private I18N i18n;
|
||||
|
||||
private boolean configurationEnabled = false;
|
||||
private boolean configurationEnabledChange = false;
|
||||
|
||||
@@ -49,7 +45,7 @@ public class TargetSecurityTokenAuthenticationConfigurationItem extends Abstract
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
super.init(i18n.get("label.configuration.auth.targettoken"));
|
||||
super.init("label.configuration.auth.targettoken");
|
||||
configurationEnabled = isConfigEnabled();
|
||||
}
|
||||
|
||||
|
||||
@@ -161,6 +161,7 @@ label.tag.name = Tag name
|
||||
label.configuration.auth.header = Allow targets to authenticate via a certificate authenticated by an reverse proxy
|
||||
label.configuration.auth.gatewaytoken = Allow a gateway to authenticate and manage multiple targets through a gateway security token
|
||||
label.configuration.auth.targettoken = Allow targets to authenticate directly with their target security token
|
||||
label.configuration.anonymous.download = Allow targets to download artifacts without security credentials
|
||||
label.unsupported.browser.ie=Sorry! current browser is not supported. Please use Internet Explorer 11 and above
|
||||
|
||||
# Checkbox label prefix with - checkbox
|
||||
@@ -401,8 +402,6 @@ configuration.polling.title=Polling Configuration
|
||||
configuration.polling.time=Polling Time
|
||||
configuration.polling.overduetime=Polling Overdue Time
|
||||
configuration.polling.custom.value=use a custom value
|
||||
enonymous.download.title=Anonymous download
|
||||
enonymous.download.label=Allow anonymous download. If you enable this option the download server will accept anonymous download requests.
|
||||
|
||||
#Calendar
|
||||
calendar.year=year
|
||||
|
||||
@@ -159,6 +159,7 @@ label.tag.name = Tag name
|
||||
label.configuration.auth.header = Allow targets to authenticate via a certificate authenticated by an reverse proxy
|
||||
label.configuration.auth.gatewaytoken = Allow a gateway to authenticate and manage multiple targets through a gateway security token
|
||||
label.configuration.auth.targettoken = Allow targets to authenticate directly with their target security token
|
||||
label.configuration.anonymous.download = Allow targets to download artifacts without security credentials
|
||||
label.unsupported.browser.ie=Sorry! current browser is not supported. Please use Internet Explorer 11 and above
|
||||
|
||||
# Checkbox label prefix with - checkbox
|
||||
@@ -389,8 +390,7 @@ configuration.defaultdistributionset.select.label=Wahl des default Distribution
|
||||
configuration.savebutton.tooltip=Konfigurationen speichern
|
||||
configuration.cancellbutton.tooltip=Konfigurationen zur<75>cksetzen
|
||||
configuration.authentication.title=Authentifikationseinstellungen
|
||||
enonymous.download.title=Anonymes herunterladen
|
||||
enonymous.download.label=Erlaube anonymes herunterladen. When diese option aktivert ist, wird der download server anonyme download anfragen erlauben.
|
||||
|
||||
#Calendar
|
||||
calendar.year=Jahr
|
||||
calendar.years=Jahre
|
||||
|
||||
@@ -160,6 +160,7 @@ label.tag.name = Tag name
|
||||
label.configuration.auth.header = Allow targets to authenticate via a certificate authenticated by an reverse proxy
|
||||
label.configuration.auth.gatewaytoken = Allow a gateway to authenticate and manage multiple targets through a gateway security token
|
||||
label.configuration.auth.targettoken = Allow targets to authenticate directly with their target security token
|
||||
label.configuration.anonymous.download = Allow targets to download artifacts without security credentials
|
||||
label.unsupported.browser.ie=Sorry! current browser is not supported. Please use Internet Explorer 11 and above
|
||||
|
||||
# Checkbox label prefix with - checkbox
|
||||
@@ -383,8 +384,6 @@ configuration.authentication.title=Authentication Configuration
|
||||
controller.polling.title=Polling Configuration
|
||||
controller.polling.time=Polling Time
|
||||
controller.polling.overduetime=Polling Overdue Time
|
||||
enonymous.download.title=Anonymous download
|
||||
enonymous.download.label=Allow anonymous download. If you enable this option the download server will accept anonymous download requests.
|
||||
|
||||
#Calendar
|
||||
calendar.year=year
|
||||
|
||||
Reference in New Issue
Block a user