From 67d53d92acb9f8b2db24b146a08ca2fdcaf65581 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 7 Jun 2014 17:12:38 +0200 Subject: [PATCH] encode user and group names for rest requests, see issue #591 --- .../main/webapp/resources/js/group/sonia.group.formpanel.js | 2 +- .../src/main/webapp/resources/js/group/sonia.group.grid.js | 2 +- .../src/main/webapp/resources/js/group/sonia.group.panel.js | 2 +- .../resources/js/security/sonia.security.permissionspanel.js | 4 ++-- .../src/main/webapp/resources/js/user/sonia.user.formpanel.js | 2 +- .../src/main/webapp/resources/js/user/sonia.user.grid.js | 2 +- .../src/main/webapp/resources/js/user/sonia.user.panel.js | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.formpanel.js b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.formpanel.js index 5fb96830b2..5d560d9717 100644 --- a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.formpanel.js +++ b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.formpanel.js @@ -59,7 +59,7 @@ Sonia.group.FormPanel = Ext.extend(Sonia.rest.FormPanel,{ // this.updateMembers(group); this.fireEvent('preUpdate', group); - var url = restUrl + 'groups/' + group.name + '.json'; + var url = restUrl + 'groups/' + encodeURIComponent(group.name) + '.json'; var el = this.el; var tid = setTimeout( function(){el.mask('Loading ...');}, 100); diff --git a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.grid.js b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.grid.js index a7f269ee35..7d7a20be5c 100644 --- a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.grid.js +++ b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.grid.js @@ -153,7 +153,7 @@ Sonia.group.Grid = Ext.extend(Sonia.rest.Grid, { } },{ xtype: 'permissionsPanel', - baseUrl: 'security/permission/group/' + group.name + baseUrl: 'security/permission/group/' + encodeURIComponent(group.name) }]); } diff --git a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.panel.js b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.panel.js index e57e00e6fa..18d3841fc2 100644 --- a/scm-webapp/src/main/webapp/resources/js/group/sonia.group.panel.js +++ b/scm-webapp/src/main/webapp/resources/js/group/sonia.group.panel.js @@ -95,7 +95,7 @@ Sonia.group.Panel = Ext.extend(Sonia.rest.Panel, { var selected = grid.getSelectionModel().getSelected(); if ( selected ){ var item = selected.data; - var url = restUrl + 'groups/' + item.name + '.json'; + var url = restUrl + 'groups/' + encodeURIComponent(item.name) + '.json'; Ext.MessageBox.show({ title: this.removeTitleText, diff --git a/scm-webapp/src/main/webapp/resources/js/security/sonia.security.permissionspanel.js b/scm-webapp/src/main/webapp/resources/js/security/sonia.security.permissionspanel.js index bf0ac985be..5ea8855251 100644 --- a/scm-webapp/src/main/webapp/resources/js/security/sonia.security.permissionspanel.js +++ b/scm-webapp/src/main/webapp/resources/js/security/sonia.security.permissionspanel.js @@ -194,7 +194,7 @@ Sonia.security.PermissionsPanel = Ext.extend(Ext.Panel, { modifyPermission: function(id, record){ Ext.Ajax.request({ - url: restUrl + this.baseUrl + '/' + id + '.json', + url: restUrl + this.baseUrl + '/' + encodeURIComponent(id) + '.json', method: 'PUT', jsonData: record.data, scope: this, @@ -207,7 +207,7 @@ Sonia.security.PermissionsPanel = Ext.extend(Ext.Panel, { removePermission: function(store, record){ Ext.Ajax.request({ - url: restUrl + this.baseUrl + '/' + record.get('id') + '.json', + url: restUrl + this.baseUrl + '/' + encodeURIComponent(record.get('id')) + '.json', method: 'DELETE', scope: this, success: function(){ diff --git a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.formpanel.js b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.formpanel.js index 827189a97c..6ef00e73d7 100644 --- a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.formpanel.js +++ b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.formpanel.js @@ -129,7 +129,7 @@ Sonia.user.FormPanel = Ext.extend(Sonia.rest.FormPanel,{ console.debug( 'update user: ' + item.name ); } this.fixRequest(item); - var url = restUrl + 'users/' + item.name + '.json'; + var url = restUrl + 'users/' + encodeURIComponent(item.name) + '.json'; Ext.Ajax.request({ url: url, jsonData: item, diff --git a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.grid.js b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.grid.js index bcd45fe019..c44d336ba9 100644 --- a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.grid.js +++ b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.grid.js @@ -136,7 +136,7 @@ Sonia.user.Grid = Ext.extend(Sonia.rest.Grid, { } Sonia.user.setEditPanel([panel,{ xtype: 'permissionsPanel', - baseUrl: 'security/permission/user/' + item.name + baseUrl: 'security/permission/user/' + encodeURIComponent(item.name) }]); } diff --git a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.panel.js b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.panel.js index 249db36c20..8e98c645df 100644 --- a/scm-webapp/src/main/webapp/resources/js/user/sonia.user.panel.js +++ b/scm-webapp/src/main/webapp/resources/js/user/sonia.user.panel.js @@ -126,7 +126,7 @@ Sonia.user.Panel = Ext.extend(Sonia.rest.Panel, { var selected = grid.getSelectionModel().getSelected(); if ( selected ){ var item = selected.data; - var url = restUrl + 'users/' + item.name + '.json'; + var url = restUrl + 'users/' + encodeURIComponent(item.name) + '.json'; Ext.MessageBox.show({ title: this.removeTitleText,