Author: olamy
Date: Sat Dec  8 02:34:02 2012
New Revision: 1418593

URL: http://svn.apache.org/viewvc?rev=1418593&view=rev
Log:
[MRM-1718] ldap configuration editable with the ui.
add tabs with forms for ldap values and other redback properties.

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js?rev=1418593&r1=1418592&r2=1418593&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 Sat Dec  8 02:34:02 2012
@@ -1288,6 +1288,7 @@ define("archiva.general-admin",["jquery"
               new 
ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration,userManagerImplementationInformations);
           mainContent.html( $( "#runtime-configuration-main" ).tmpl( ) );
           
ko.applyBindings(archivaRuntimeConfigurationViewModel,$("#runtime-configuration-content"
 ).get(0));
+          activatePopoverDoc();
         }
       });
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html?rev=1418593&r1=1418592&r2=1418593&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/general-admin.html
 Sat Dec  8 02:34:02 2012
@@ -891,24 +891,145 @@
     <h2>${$.i18n.prop('runtime-configuration.title')}</h2>
   </div>
   <div id="runtime-configuration-content" data-bind='template: 
{name:"runtime-configuration-content-tmpl"}'>
-
   </div>
 </script>
 
 <script type="text/html" id="runtime-configuration-content-tmpl">
-  <div class="well">
-    <form class="form-horizontal" id="runtime-configuration-form-id">
-      <fieldset id="form-runtime-configuration">
-        <div class="control-group">
-          <label for="userManagerImpl" class="control-label">
-            ${$.i18n.prop('runtime-configuration.usermanager.label')}
-          </label>
-          <div class="controls">
-            <select data-bind="options: 
userManagerImplementationInformations,optionsValue: 'beanId', optionsText: 
'description', value: archivaRuntimeConfiguration().userManagerImpl, 
optionsCaption: 'Choose...'"></select>
-          </div>
-        </div>
-        <button data-bind="click: saveArchivaRuntimeConfiguration" 
id="archiva-runtime-configuration-save" 
class="btn">${$.i18n.prop('save')}</button>
-      </fieldset>
-    </form>
+  <ul class="nav nav-tabs">
+    <li class="active" id="redback-runtime-general-li"><a 
href="#redback-runtime-general-content" 
data-toggle="tab">${$.i18n.prop('redback.runtime.general.title')}</a></li>
+    <li id="redback-runtime-ldap-li"><a href="#redback-runtime-ldap-content" 
data-toggle="tab">${$.i18n.prop('redback.runtime.ldap.title')}</a></li>
+    <li id="redback-runtime-properties-li"><a 
href="#redback-runtime-properties-content" 
data-toggle="tab">${$.i18n.prop('redback.runtime.properties.title')}</a></li>
+  </ul>
+
+  <div class="tab-content">
+    <div class="tab-pane active" id="redback-runtime-general-content">
+      <div class="well">
+        <form class="form-horizontal" id="runtime-configuration-form-id">
+          <fieldset id="form-runtime-configuration">
+            <div class="control-group">
+              <label for="userManagerImpl" class="control-label">
+                ${$.i18n.prop('runtime-configuration.usermanager.label')}
+              </label>
+
+              <div class="controls">
+                <select id="userManagerImpl"
+                        data-bind="options: 
userManagerImplementationInformations,optionsValue: 'beanId', optionsText: 
'description', value: archivaRuntimeConfiguration().userManagerImpl, 
optionsCaption: 'Choose...'"></select>
+              </div>
+            </div>
+          </fieldset>
+        </form>
+      </div>
+    </div>
+
+    <div class="tab-pane" id="redback-runtime-ldap-content">
+      <div class="well">
+        <form class="form-horizontal" id="redback-runtime-ldap-form-id">
+          <fieldset id="redback-runtime-ldap-form">
+            <div class="control-group">
+              <label for="ldap-host" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.host.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-host" name="ldap-host" 
class="input-xlarge required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().hostName"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-port" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.port.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-port" name="ldap-port" 
class="input-large required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().port"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-baseDn" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.baseDn.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-baseDn" name="ldap-baseDn" 
class="input-xxlarge required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().baseDn"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-ssl" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.ssl.label')}
+              </label>
+              <div class="controls">
+                <input type="checkbox" id="ldap-ssl" name="ldap-ssl"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().ssl"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-password" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.password.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-password" name="ldap-password" 
class="input-xlarge required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().password"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-context-factory" class="control-label">
+                ${$.i18n.prop('redback.runtime.ldap.contextFactory.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-context-factory" 
name="ldap-context-factory" class="input-xlarge required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().contextFactory"/>
+              </div>
+            </div>
+            <div class="control-group">
+              <label for="ldap-authenticationMethod" class="control-label">
+                
${$.i18n.prop('redback.runtime.ldap.authenticationMethod.label')}
+              </label>
+              <div class="controls">
+                <input type="text" id="ldap-authenticationMethod" 
name="ldap-authenticationMethod" class="input-xlarge required"
+                       data-bind="value: 
archivaRuntimeConfiguration().ldapConfiguration().authenticationMethod"/>
+              </div>
+            </div>
+            <!-- TODO extraPropertiesEntries -->
+          </fieldset>
+        </form>
+      </div>
+    </div>
+
+    <div class="tab-pane" id="redback-runtime-properties-content">
+      <div class="well">
+        <table>
+          <thead>
+            <tr>
+              <th></th>
+              <th>key</th>
+              <th>value</th>
+            </tr>
+          </thead>
+          <tbody>
+            {{each(i, property) 
archivaRuntimeConfiguration().configurationPropertiesEntries}}
+              <tr>
+                <td>
+                  {{var key = property.key}}
+                  <a class="popover-doc"
+                     data-original-title="${$.i18n.prop(key+'.help.title')}"
+                     data-content="${$.i18n.prop(key+'.help.content')}">
+                    <span class="btn btn-info"><i class="icon-question-sign 
icon-white"></i></span>
+                  </a>
+                </td>
+                <td><input type="text" class="input-xxlarge" 
value="${property.key}"></td>
+                <td><input type="text" class="input-xlarge" 
value="${property.value}"></td>
+              </tr>
+            {{/each}}
+          </tbody>
+
+        </table>
+      </div>
+    </div>
+  </div>
+
+  <div>
+    <button data-bind="click: saveArchivaRuntimeConfiguration" 
id="archiva-runtime-configuration-save"
+            class="btn">${$.i18n.prop('save')}
+    </button>
   </div>
+
 </script>


Reply via email to