ソースを参照

ldap writable save in archiva configuration

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1445271 13f79535-47bb-0310-9956-ffa450edef68
tags/archiva-1.4-M4
Olivier Lamy 11年前
コミット
46900eea43

+ 6
- 0
archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo ファイルの表示

@@ -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>

+ 15
- 0
archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/LdapConfiguration.java ファイルの表示

@@ -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;
}
}

+ 13
- 0
archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java ファイルの表示

@@ -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 ) )

+ 7
- 2
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js ファイルの表示

@@ -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;
}

+ 9
- 0
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html ファイルの表示

@@ -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')}

読み込み中…
キャンセル
保存