UiConfiguration getUiConfiguration()
throws ArchivaRestServiceException;
+ @Path( "registrationDisabled" )
+ @GET
+ @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+ @RedbackAuthorization( noRestriction = true, noPermission = true )
+ Boolean registrationDisabled()
+ throws ArchivaRestServiceException;
+
@Path( "setUiConfiguration" )
@POST
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
* @author Olivier Lamy
* @since 1.4-M1
*/
-@Service( "archivaAdministrationService#default" )
+@Service ( "archivaAdministrationService#default" )
public class DefaultArchivaAdministrationService
extends AbstractRestService
implements ArchivaAdministrationService
private ArchivaAdministration archivaAdministration;
@Inject
- @Named( value = "managedRepositoryContent#legacy" )
+ @Named ( value = "managedRepositoryContent#legacy" )
private ManagedRepositoryContent repositoryContent;
@Inject
}
}
+ public Boolean registrationDisabled()
+ throws ArchivaRestServiceException
+ {
+ return getUiConfiguration().isDisableRegistration();
+ }
public UiConfiguration getUiConfiguration()
throws ArchivaRestServiceException
dataType: 'json',
success: function(data){
mainContent.html($("#ui-configuration-screen").tmpl());
- var uiConfiguration=new UiConfiguration(data.showFindArtifacts,data.appletFindEnabled,data.disableEasterEggs,data.applicationUrl);
+ var uiConfiguration=new UiConfiguration(data.showFindArtifacts,data.appletFindEnabled,data.disableEasterEggs,
+ data.applicationUrl,data.disableRegistration);
var uiConfigurationViewModel=new UiConfigurationViewModel(uiConfiguration);
ko.applyBindings(uiConfigurationViewModel,mainContent.get(0));
}
});
}
- UiConfiguration=function(showFindArtifacts,appletFindEnabled,disableEasterEggs,applicationUrl){
+ UiConfiguration=function(showFindArtifacts,appletFindEnabled,disableEasterEggs,applicationUrl,disableRegistration){
this.showFindArtifacts = ko.observable(showFindArtifacts);
this.appletFindEnabled = ko.observable(appletFindEnabled);
this.disableEasterEggs = ko.observable(disableEasterEggs);
this.applicationUrl = ko.observable(applicationUrl);
+
+ // default to false
+ this.disableRegistration = ko.observable(disableRegistration?disableRegistration:false);
}
UiConfigurationViewModel=function(uiConfiguration){
// Change UI with appearance settings //
//------------------------------------//
updateAppearanceToolBar=function() {
- $.ajax("restServices/archivaServices/archivaAdministrationService/getOrganisationInformation", {
- type: "GET",
- dataType: 'json',
- success: function(data) {
- var organisationLogo=$("#organisation-logo");
- if(data.url){
- var url = data.url.startsWith("http://") || data.url.startsWith("https://") ? data.url : "http://"+data.url;
- var link="<a href='"+url+"' class='brand'>";
- if (data.logoLocation) {
- link+="<img src='"+data.logoLocation+"' style='max-height: 30px'/>";
- } else if (data.name) {
- link+=data.name;
- } else {
- link+="Archiva";
+ $.ajax("restServices/archivaServices/archivaAdministrationService/registrationDisabled", {
+ type: "GET",
+ dataType: 'json',
+ success: function(data) {
+ //var disableRegistration=data.disableRegistration;
+ if( data){
+ $.log("disableRegistration");
+ $("#topbar-menu").find("#register-link" ).hide();
+ }
+ $.ajax("restServices/archivaServices/archivaAdministrationService/getOrganisationInformation", {
+ type: "GET",
+ dataType: 'json',
+ success: function(data) {
+ var organisationLogo=$("#main-content").find("#organisation-logo");
+ if(data.url){
+ var url = data.url.startsWith("http://") || data.url.startsWith("https://") ? data.url : "http://"+data.url;
+ var link="<a href='"+url+"' class='brand'>";
+ if (data.logoLocation) {
+ link+="<img src='"+data.logoLocation+"' style='max-height: 30px'/>";
+ } else if (data.name) {
+ link+=data.name;
+ } else {
+ link+="Archiva";
+ }
+ link+="</a>";
+ organisationLogo.html(link);
}
- link+="</a>";
- organisationLogo.html(link);
- }
- if (!data.url && data.name){
- organisationLogo.html("<a href='/' class='brand'>"+data.name+"</a>");
- }
- if (!data.url && !data.name){
+ if (!data.url && data.name){
+ organisationLogo.html("<a href='/' class='brand'>"+data.name+"</a>");
+ }
+ if (!data.url && !data.name){
+ organisationLogo.html("<a href='/' class='brand'>Archiva</a>");
+ }
+ },
+ error: function() {
organisationLogo.html("<a href='/' class='brand'>Archiva</a>");
}
- },
- error: function() {
- organisationLogo.html("<a href='/' class='brand'>Archiva</a>");
- }
- });
+ });
+ }});
};
<div class="control-group">
<label class="control-label" for="maxTotal">${$.i18n.prop('ui-configuration.applicationUrl')}</label>
<div class="controls">
- <input type="text" class="xlarge required digits" id="applicationUrl" name="applicationUrl" size="8"
+ <input type="text" class="input-xlarge required digits" id="applicationUrl" name="applicationUrl" size="8"
data-bind="value: uiConfiguration().applicationUrl"/>
</div>
</div>
+
+ <div class="control-group">
+ <label class="control-label" for="disableRegistration">${$.i18n.prop('ui-configuration.applicationUrl.disableRegistration')}</label>
+ <div class="controls">
+ <input type="checkbox" id="disableRegistration" name="disableRegistration" data-bind="checked: uiConfiguration().disableRegistration"/>
+ </div>
+ </div>
+
</fieldset>
<button id="ui-configuration-btn-save" data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
</form>