You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/04/22 01:36:42 UTC

svn commit: r1470365 - in /archiva/trunk/archiva-modules/archiva-web: archiva-web-common/src/main/resources/org/apache/archiva/i18n/ archiva-webapp/src/main/webapp/js/archiva/ archiva-webapp/src/main/webapp/js/templates/archiva/

Author: olamy
Date: Sun Apr 21 23:36:42 2013
New Revision: 1470365

URL: http://svn.apache.org/r1470365
Log:
[MRM-1745] path of merged index for group configurable
path configurable tru the ui

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/repositories.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1470365&r1=1470364&r2=1470365&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties Sun Apr 21 23:36:42 2013
@@ -311,6 +311,7 @@ repository.groups.available.repositories
 repository.groups.list=Repository Groups
 repository-groups.grid.tab.title=Repository Groups
 repository.group.delete.confirm=Are you sure to delete Repository Group {0} ?
+repository.group.mergedIndexPath=Merged Index Path
 
 #roles
 roles.bulk.save.confirm=Are you sure to update {0} Role(s)

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js?rev=1470365&r1=1470364&r2=1470365&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js Sun Apr 21 23:36:42 2013
@@ -740,7 +740,6 @@ function(jquery,ui,sammy,tmpl,i18n,jquer
 
         });
 
-
       });
   };
 

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js?rev=1470365&r1=1470364&r2=1470365&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js Sun Apr 21 23:36:42 2013
@@ -20,7 +20,7 @@ define("archiva.repository-groups",["jqu
   ,"knockout.simpleGrid","knockout.sortable"],
 function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,jqueryUi,ko) {
 
-  RepositoryGroup=function(id,repositories){
+  RepositoryGroup=function(id,repositories,mergedIndexPath){
 
     var self=this;
 
@@ -28,6 +28,10 @@ function(jquery,i18n,jqueryTmpl,bootstra
     this.id=ko.observable(id);
     this.id.subscribe(function(newValue){self.modified(true)});
 
+    //private String mergedIndexPath = "/.indexer";
+    this.mergedIndexPath=ko.observable(mergedIndexPath?mergedIndexPath:".indexer");
+    this.mergedIndexPath.subscribe(function(newValue){self.modified(true)});
+
     // private List<String> repositories;
     this.repositories=ko.observableArray(repositories);
     this.repositories.subscribe(function(newValue){self.modified(true)});
@@ -192,6 +196,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
             repositoryGroupViewModel.renderSortableChoosed(self);
             repositoryGroupViewModel.renderSortableAvailables(self);
             mainContent.find("#repository-groups-view-tabs-li-edit" ).find("a").html($.i18n.prop("edit"));
+            repositoryGroupValidator();
           }
         });
     }
@@ -206,32 +211,39 @@ function(jquery,i18n,jqueryTmpl,bootstra
     }
 
     this.saveRepositoryGroup=function(repositoryGroup){
-        clearUserMessages();
-        var userMessages=$("#user-messages");
-        userMessages.html(mediumSpinnerImg());
-        $("#repository-group-save" ).button('loading');
-        $.ajax("restServices/archivaServices/repositoryGroupService/updateRepositoryGroup",
-          {
-            type: "POST",
-            contentType: 'application/json',
-            data:ko.toJSON(repositoryGroup),
-            dataType: 'json',
-            success: function(data) {
-              $.log("update repositoryGroup id:"+repositoryGroup.id());
-              var message=$.i18n.prop('repository.group.updated',repositoryGroup.id());
-              displaySuccessMessage(message);
-              repositoryGroup.modified(false);
-            },
-            error: function(data) {
-              var res = $.parseJSON(data.responseText);
-              displayRestError(res);
-            },
-            complete:function(data){
-              $("#repository-group-save" ).button('reset');
-              removeMediumSpinnerImg(userMessages);
-            }
+      if(valid==false){
+        $.log("saveRepositoryGroup, valid:"+valid);
+        return;
+      }
+      clearUserMessages();
+      var userMessages=$("#user-messages");
+      userMessages.html(mediumSpinnerImg());
+      var valid = $("#main-content").find("#repository-group-edit-form" ).valid();
+
+
+      $("#repository-group-save" ).button('loading');
+      $.ajax("restServices/archivaServices/repositoryGroupService/updateRepositoryGroup",
+        {
+          type: "POST",
+          contentType: 'application/json',
+          data:ko.toJSON(repositoryGroup),
+          dataType: 'json',
+          success: function(data) {
+            $.log("update repositoryGroup id:"+repositoryGroup.id());
+            var message=$.i18n.prop('repository.group.updated',repositoryGroup.id());
+            displaySuccessMessage(message);
+            repositoryGroup.modified(false);
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          },
+          complete:function(data){
+            $("#repository-group-save" ).button('reset');
+            removeMediumSpinnerImg(userMessages);
           }
-        );
+        }
+      );
 
     }
 
@@ -359,6 +371,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
   }
 
   activateRepositoryGroupEditTab=function(){
+    $.log("activateRepositoryGroupEditTab");
     var mainContent = $("#main-content");
 
     mainContent.find("#repository-groups-view-tabs-content div[class*='tab-pane']").removeClass("active");
@@ -366,6 +379,27 @@ function(jquery,i18n,jqueryTmpl,bootstra
 
     mainContent.find("#repository-groups-edit").addClass("active");
     mainContent.find("#repository-groups-view-tabs-li-edit").addClass("active");
+
+
+  }
+
+  repositoryGroupValidator=function(){
+    $.log("validator");
+    var theForm=$("#main-content").find("#repository-group-edit-form");
+    var validator = theForm.validate({
+        rules: {
+            id: {
+              required: true
+              },
+            mergedIndexPath:{
+              required:true
+            }
+        },
+        showErrors: function(validator, errorMap, errorList) {
+           customShowError("#main-content #repository-group-edit-form",validator,errorMap,errorMap);
+        }
+    });
+    return validator;
   }
 
   mapRepositoryGroups=function(data){
@@ -379,7 +413,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
   }
 
   mapRepositoryGroup=function(data){
-    return new RepositoryGroup(data.id, mapStringArray(data.repositories));
+    return new RepositoryGroup(data.id, mapStringArray(data.repositories),data.mergedIndexPath);
   }
 
 });

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/repositories.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/repositories.html?rev=1470365&r1=1470364&r2=1470365&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/repositories.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/repositories.html Sun Apr 21 23:36:42 2013
@@ -1426,32 +1426,35 @@
 
 <script id="repository-group-edit-tmpl" type="text/html">
   <div class="row-fluid">
-    {{if update}}
-    <div class="dotted span8">
-      <blockquote>
-        ${repositoryGroup.id}
-        <br/>
-        <a href="${window.archivaRuntimeInfo.baseUrl}/repository/${repositoryGroup.id()}" target="_blank">
-          ${applicationUrl}/repository/${repositoryGroup.id()}
-        </a>
-      </blockquote>
-    </div>
-    {{else}}
+
     <div class="dotted span8">
       <form id="repository-group-edit-form" class="well">
         <fieldset id="repository-group-edit-fieldset">
           <div class="control-group">
             <label class="control-label" for="id">${$.i18n.prop('id')}</label>
-
             <div class="controls">
               <input type="text" class="input-medium required" id="id" name="id" size="15"
                      data-bind="value: repositoryGroup.id,css:{'uneditable-input': update},readonly:update"/>
             </div>
           </div>
+          <div class="control-group">
+            <label class="control-label" for="mergedIndexPath">${$.i18n.prop('repository.group.mergedIndexPath')}</label>
+              <div class="controls">
+                <input type="text" class="input-large required" id="mergedIndexPath" name="mergedIndexPath"
+                       data-bind="value: repositoryGroup.mergedIndexPath"/>
+              </div>
+          </div>
+          <div>
+            <a href="${window.archivaRuntimeInfo.baseUrl}/repository/${repositoryGroup.id()}" target="_blank">
+            {{if repositoryGroup.id()}}
+              ${applicationUrl}/repository/${repositoryGroup.id()}
+            {{/if}}
+            </a>
+          </div>
         </fieldset>
       </form>
     </div>
-    {{/if}}
+
     {{if repositoryGroup.modified()}}
     <div class="span3">
       <a href="#" class="btn btn-warning" data-loading-text="${$.i18n.prop('common.loading')}"