]> source.dussan.org Git - archiva.git/commitdiff
display warning message when adding a repository concerns an existing directory location
authorOlivier Lamy <olamy@apache.org>
Tue, 17 Jan 2012 22:35:42 +0000 (22:35 +0000)
committerOlivier Lamy <olamy@apache.org>
Tue, 17 Jan 2012 22:35:42 +0000 (22:35 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1232617 13f79535-47bb-0310-9956-ffa450edef68

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

index 37489eee38d5e22e334961ef16a3ae9482b65f1e..1b621493927f53e61a7250141b7d12c7f3e276ce 100644 (file)
 #default common
 id=id
 warning.not.undone.operation=WARNING: This operation can not be undone.
+
 managedrepository.delete.content=Delete Content too ?
 
 # managed repositories screen
 managedrepository.delete.confirm=Delete Managed Repository
 managedrepository.delete.warning.message=Are you sure you want to delete the following managed repository?
-managedrepository.deleted=Managed Repository " {0} " deleted.
\ No newline at end of file
+managedrepository.deleted=Managed Repository " {0} " deleted.
+managedrepository.location.already.exists=WARNING: Repository location already exists.
+managedrepository.location.already.exists.warning.message=Are you sure you want to use this directory
+managedrepository.add.title=Add Managed Repository
\ No newline at end of file
index b6f6a0121cf932d223aa734fc28c03fed44bdaf6..6e2ba43930ae3a61806206cc156fee81fe64af9d 100644 (file)
@@ -74,6 +74,7 @@ $(function() {
     this.managedRepositoriesViewModel = managedRepositoriesViewModel;
     this.update = update;
     var self = this;
+
     save=function(){
       var valid = $("#main-content #managed-repository-edit-form").valid();
       if (valid==false) {
@@ -85,33 +86,11 @@ $(function() {
         $.ajax("restServices/archivaServices/managedRepositoriesService/updateManagedRepository",
           {
             type: "POST",
+            data: "{\"managedRepository\": " + ko.toJSON(this.managedRepository)+"}",
             contentType: 'application/json',
-            data: "{\"managedRepository\": " +  ko.toJSON(this.managedRepository)+"}",
-            dataType: 'json',
-              success: function(data) {
-                displaySuccessMessage($.i18n.prop('managedrepository.updated'));
-                activateManagedRepositoriesGridTab();
-              },
-              error: function(data) {
-                var res = $.parseJSON(data.responseText);
-                displayRestError(res);
-              }
-          }
-        );
-      } else {
-        $.log("add managedRepo");
-
-        $.ajax("restServices/archivaServices/managedRepositoriesService/addManagedRepository",
-          {
-            type: "POST",
-            contentType: 'application/json',
-            data: "{\"managedRepository\": " + ko.toJSON(self.managedRepository)+"}",
             dataType: 'json',
             success: function(data) {
-              //var repo = mapManagedRepository(data);
-              //$.log("data:"+data.responseText);
-              self.managedRepositoriesViewModel.managedRepositories.push(self.managedRepository);
-              displaySuccessMessage($.i18n.prop('managedrepository.added'));
+              displaySuccessMessage($.i18n.prop('managedrepository.updated'));
               activateManagedRepositoriesGridTab();
             },
             error: function(data) {
@@ -120,9 +99,57 @@ $(function() {
             }
           }
         );
+      } else {
+        var url="restServices/archivaServices/managedRepositoriesService/fileLocationExists";
+        url+="?fileLocation="+encodeURIComponent(self.managedRepository.location());
+        $.ajax(url,
+        {
+          type: "GET",
+          dataType: 'json',
+          success: function(data) {
+            if (data){
+              openDialogConfirm(
+                  function(){addManagedRepository(self.managedRepository),function(){window.modalConfirmDialog.modal('hide')}},
+                  $.i18n.prop('ok'), $.i18n.prop('cancel'),
+                  $.i18n.prop('managedrepository.add.title'),
+                  $("#managed-repository-location-warning-tmpl").tmpl(self.managedRepository));
+            }else{
+              addManagedRepository(self.managedRepository);
+            }
+          }
+        });
+        //addManagedRepository(self.managedRepository);
       }
     }
 
+    addManagedRepository=function(managedRepository,completeCallbackFn){
+      $.log("add managedRepo");
+      var curManagedRepository=managedRepository;
+      var callbackFn = completeCallbackFn;
+      $.ajax("restServices/archivaServices/managedRepositoriesService/addManagedRepository",
+        {
+          type: "POST",
+          contentType: 'application/json',
+          data: "{\"managedRepository\": " + ko.toJSON(managedRepository)+"}",
+          dataType: 'json',
+          success: function(data) {
+            self.managedRepositoriesViewModel.managedRepositories.push(curManagedRepository);
+            displaySuccessMessage($.i18n.prop('managedrepository.added'));
+            activateManagedRepositoriesGridTab();
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          },
+          complete:function(data){
+            if(callbackFn){
+              callbackFn();
+            }
+          }
+        }
+      );
+    }
+
     displayGrid=function(){
       activateManagedRepositoriesGridTab();
     }
@@ -237,7 +264,7 @@ $(function() {
                 title: "Repository type (default is Maven 2)"
               }
             ],
-            pageSize: 10
+            pageSize: 5
           });
           ko.applyBindings(managedRepositoriesViewModel,$("#main-content #managed-repositories-table").get(0));
           $("#main-content #managed-repositories-pills").pills();
index 95375527edff90267feb9acc0d7fac1448b8b319..9d4e88e98dc2565baac5e86a7080e8c921d040fe 100644 (file)
         ${$.i18n.prop('managedrepository.delete.content')}: <input type="checkbox" id="managedrepository-deletecontent">
     </div>
   </div>
+</script>
+<script id="managed-repository-location-warning-tmpl" type='text/x-jquery-tmpl'>
+  <div>
+    <a class="close" href="#">&#215;</a>
+    <div class="alert-message warning">
+      <p>
+        <strong>${$.i18n.prop('managedrepository.location.already.exists')}</strong>
+      </p>
+    </div>
+    <div>
+      <span><strong>${$.i18n.prop('managedrepository.location.already.exists.warning.message')}</strong>.</span>
+      <div>${$.i18n.prop('id')}: ${id()}</div>
+      <div>${$.i18n.prop('name')}: ${name()}</div>
+    </div>
+  </div>
 </script>
\ No newline at end of file