From 9a7c5e643ca69a2ba3a6474c24709fa06ca04151 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Fri, 28 Nov 2014 14:19:55 +0100 Subject: [PATCH] implemented ui for repository import from url --- .../sonia.repository.importwindow.js | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.importwindow.js b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.importwindow.js index 233b491f67..975ec04bf0 100644 --- a/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.importwindow.js +++ b/scm-webapp/src/main/webapp/resources/js/repository/sonia.repository.importwindow.js @@ -230,7 +230,7 @@ Sonia.repository.ImportPanel = Ext.extend(Ext.Panel, { }] },{ id: 'importUrlLayout', - layout: 'form', + xtype: 'form', defaults: { width: 250 }, @@ -238,7 +238,7 @@ Sonia.repository.ImportPanel = Ext.extend(Ext.Panel, { id: 'importUrlName', xtype: 'textfield', fieldLabel: 'Repository name', - name: 'importUrlName', + name: 'name', type: 'textfield', disabled: false, helpText: this.importUrlNameHelpText @@ -246,7 +246,7 @@ Sonia.repository.ImportPanel = Ext.extend(Ext.Panel, { id: 'importUrl', xtype: 'textfield', fieldLabel: 'Import URL', - name: 'importUrl', + name: 'url', disabled: false, helpText: this.importUrlHelpText },{ @@ -339,6 +339,10 @@ Sonia.repository.ImportPanel = Ext.extend(Ext.Panel, { { next = 1; } + else if ( id === 'importUrlLayout' && direction === 1 ){ + var panel = Ext.getCmp('importUrlLayout'); + this.importFromUrl(layout, panel.getForm().getValues()); + } if ( next >= 0 ){ layout.setActiveItem(next); @@ -361,6 +365,29 @@ Sonia.repository.ImportPanel = Ext.extend(Ext.Panel, { } }, + importFromUrl: function(layout, repository){ + Ext.Ajax.request({ + url: restUrl + 'import/repositories/' + this.repositoryType + '/url.json', + method: 'POST', + scope: this, + jsonData: repository, + success: function(){ + this.appendImported([{ + name: repository.name, + type: this.repositoryType + }]); + layout.setActiveItem(4); + }, + failure: function(result){ + main.handleRestFailure( + result, + this.errorTitleText, + this.errorMsgText + ); + } + }); + }, + importFromDirectory: function(layout){ Ext.Ajax.request({ url: restUrl + 'import/repositories/' + this.repositoryType + '.json',