Author: olamy
Date: Tue Jan 24 15:53:23 2012
New Revision: 1235312

URL: http://svn.apache.org/viewvc?rev=1235312&view=rev
Log:
[MRM-1574] remote repository: implements add/update/delete REST call

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

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js?rev=1235312&r1=1235311&r2=1235312&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
 Tue Jan 24 15:53:23 2012
@@ -529,7 +529,47 @@ $(function() {
     this.availableLayouts = window.managedRepositoryTypes;
 
     save=function(){
-
+      var valid = $("#main-content #remote-repository-edit-form").valid();
+      if (valid==false) {
+        return;
+      }
+      clearUserMessages();
+      if (update){
+        
$.ajax("restServices/archivaServices/remoteRepositoriesService/updateRemoteRepository",
+          {
+            type: "POST",
+            data: "{\"remoteRepository\": " + 
ko.toJSON(this.remoteRepository)+"}",
+            contentType: 'application/json',
+            dataType: 'json',
+            success: function(data) {
+              displaySuccessMessage($.i18n.prop('remoterepository.updated'));
+              activateRemoteRepositoriesGridTab();
+            },
+            error: function(data) {
+              var res = $.parseJSON(data.responseText);
+              displayRestError(res);
+            }
+          }
+        );
+      }else {
+        
$.ajax("restServices/archivaServices/remoteRepositoriesService/addRemoteRepository",
+          {
+            type: "POST",
+            data: "{\"remoteRepository\": " + 
ko.toJSON(this.remoteRepository)+"}",
+            contentType: 'application/json',
+            dataType: 'json',
+            success: function(data) {
+              
self.remoteRepositoriesViewModel.remoteRepositories.push(self.remoteRepository);
+              displaySuccessMessage($.i18n.prop('remoterepository.added'));
+              activateRemoteRepositoriesGridTab();
+            },
+            error: function(data) {
+              var res = $.parseJSON(data.responseText);
+              displayRestError(res);
+            }
+          }
+        );
+      }
     }
 
     displayGrid=function(){
@@ -553,7 +593,19 @@ $(function() {
     }
 
     removeRemoteRepository=function(remoteRepository){
-      $.log("removeRemoteRepository");
+      
$.ajax("restServices/archivaServices/remoteRepositoriesService/deleteRemoteRepository/"+remoteRepository.id(),
+        {
+          type: "GET",
+          success: function(data) {
+            self.remoteRepositories.remove(remoteRepository);
+            displaySuccessMessage($.i18n.prop('remoterepository.deleted'));
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          }
+        }
+      );
     }
 
     scheduleDownloadRemoteIndex=function(remoteRepository){

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html?rev=1235312&r1=1235311&r2=1235312&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
 Tue Jan 24 15:53:23 2012
@@ -397,7 +397,7 @@
         <div class="clearfix">
           <label for="cronExpression">${$.i18n.prop('cronExpression')}</label>
           <div class="input">
-            <input type="text" id="cronExpression" class="required" 
name="cronExpression" size="40" data-bind="value: 
remoteRepository.cronExpression"/>
+            <input type="text" id="cronExpression" name="cronExpression" 
size="40" data-bind="value: remoteRepository.cronExpression"/>
           </div>
         </div>
         <div class="clearfix">
@@ -414,9 +414,7 @@
           </div>
         </div>
 
-
-        <!-- proxy id to use -->
-
+        <!-- FIXME proxy id to use -->
 
         <div class="clearfix">
           <label 
for="downloadRemoteIndexOnStartup">${$.i18n.prop('downloadRemoteIndexOnStartup')}</label>


Reply via email to