git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1445271 13f79535-47bb-0310-9956-ffa450edef68tags/archiva-1.4-M4
@@ -1607,6 +1607,12 @@ | |||
<version>1.4.0+</version> | |||
<type>boolean</type> | |||
</field> | |||
<field> | |||
<name>writable</name> | |||
<description>LDAP writable.</description> | |||
<version>1.4.0+</version> | |||
<type>boolean</type> | |||
</field> | |||
<field> | |||
<name>extraProperties</name> | |||
<version>1.4.0+</version> |
@@ -95,6 +95,11 @@ public class LdapConfiguration | |||
*/ | |||
private List<PropertyEntry> extraPropertiesEntries; | |||
/** | |||
* LDAP writable. | |||
*/ | |||
private boolean writable = false; | |||
public LdapConfiguration() | |||
{ | |||
// no op | |||
@@ -231,4 +236,14 @@ public class LdapConfiguration | |||
{ | |||
this.baseGroupsDn = baseGroupsDn; | |||
} | |||
public boolean isWritable() | |||
{ | |||
return writable; | |||
} | |||
public void setWritable( boolean writable ) | |||
{ | |||
this.writable = writable; | |||
} | |||
} |
@@ -132,6 +132,9 @@ public class DefaultRedbackRuntimeConfigurationAdmin | |||
ldapConfiguration.setAuthenticationMethod( | |||
userConfiguration.getString( UserConfigurationKeys.LDAP_AUTHENTICATION_METHOD, null ) ); | |||
ldapConfiguration.setWritable( | |||
userConfiguration.getBoolean( UserConfigurationKeys.LDAP_WRITABLE, false ) ); | |||
redbackRuntimeConfiguration.setMigratedFromRedbackConfiguration( true ); | |||
updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration ); | |||
@@ -444,6 +447,11 @@ public class DefaultRedbackRuntimeConfigurationAdmin | |||
{ | |||
RedbackRuntimeConfiguration conf = getRedbackRuntimeConfiguration(); | |||
if ( UserConfigurationKeys.LDAP_WRITABLE.equals( key ) ) | |||
{ | |||
return conf.getLdapConfiguration().isWritable(); | |||
} | |||
if ( conf.getConfigurationProperties().containsKey( key ) ) | |||
{ | |||
return Boolean.valueOf( conf.getConfigurationProperties().get( key ) ); | |||
@@ -472,6 +480,11 @@ public class DefaultRedbackRuntimeConfigurationAdmin | |||
return getRedbackRuntimeConfiguration().getLdapConfiguration().isSsl(); | |||
} | |||
if ( UserConfigurationKeys.LDAP_WRITABLE.equals( key ) ) | |||
{ | |||
return getRedbackRuntimeConfiguration().getLdapConfiguration().isWritable(); | |||
} | |||
RedbackRuntimeConfiguration conf = getRedbackRuntimeConfiguration(); | |||
if ( conf.getConfigurationProperties().containsKey( key ) ) |
@@ -1290,7 +1290,7 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout" | |||
} | |||
LdapConfiguration=function(hostName,port,ssl,baseDn,baseGroupsDn,contextFactory,bindDn,password,authenticationMethod, | |||
extraPropertiesEntries){ | |||
extraPropertiesEntries,writable){ | |||
var self=this; | |||
this.modified=ko.observable(false); | |||
@@ -1333,6 +1333,11 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout" | |||
this.extraPropertiesEntries=ko.observableArray(extraPropertiesEntries); | |||
this.extraPropertiesEntries.subscribe(function(newValue){self.modified(true)}); | |||
//private boolean writable = false; | |||
this.writable=ko.observable(writable); | |||
this.writable.subscribe(function(newValue){self.modified(true)}); | |||
} | |||
mapLdapConfiguration=function(data){ | |||
@@ -1346,7 +1351,7 @@ define("archiva.general-admin",["jquery","i18n","utils","jquery.tmpl","knockout" | |||
} | |||
$.log("mapLdapConfiguration done"); | |||
return new LdapConfiguration(data.hostName,data.port,data.ssl,data.baseDn,data.baseGroupsDn,data.contextFactory,data.bindDn,data.password, | |||
data.authenticationMethod,extraPropertiesEntries); | |||
data.authenticationMethod,extraPropertiesEntries,data.writable); | |||
} | |||
return null; | |||
} |
@@ -1024,6 +1024,15 @@ | |||
data-bind="value: redbackRuntimeConfiguration().ldapConfiguration().port"/> | |||
</div> | |||
</div> | |||
<div class="control-group"> | |||
<label for="ldap-writable" class="control-label"> | |||
${$.i18n.prop('redback.runtime.ldap.writable.label')} | |||
</label> | |||
<div class="controls"> | |||
<input type="checkbox" id="ldap-writable" name="ldap-ssl" | |||
data-bind="checked: redbackRuntimeConfiguration().ldapConfiguration().writable"/> | |||
</div> | |||
</div> | |||
<div class="control-group"> | |||
<label for="ldapBaseDn" class="control-label"> | |||
${$.i18n.prop('redback.runtime.ldap.baseDn.label')} |