Skip to content

Commit 7440949

Browse files
committed
Fix issue: Column autocomplete uses wrong table in "Groups Settings"
1 parent 105f5b6 commit 7440949

File tree

2 files changed

+54
-4
lines changed

2 files changed

+54
-4
lines changed

Diff for: ajax/settings.php

+8-2
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,15 @@
232232
'dbname' => $_POST['sql_database'],
233233
'tablePrefix' => ''
234234
);
235-
235+
236+
if ($_POST['groupTable'] === 'true') {
237+
$sql_table = $_POST['sql_group_table'];
238+
} else {
239+
$sql_table = $_POST['sql_table'];
240+
}
241+
236242
if($helper->verifyTable($parameters, $_POST['sql_driver'], $_POST['sql_table']))
237-
$columns = $helper->getColumns($parameters, $_POST['sql_driver'], $_POST['sql_table']);
243+
$columns = $helper->getColumns($parameters, $_POST['sql_driver'], $sql_table);
238244
else
239245
$columns = array();
240246

Diff for: js/settings.js

+46-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ user_sql.adminSettingsUI = function()
1717
$('#sqlDiv').tabs();
1818

1919
// Attach auto-completion to all column fields
20-
$('#col_username, #col_password, #col_displayname, #col_active, #col_email, #col_gethome, #col_group_name, #col_group_username').autocomplete({
20+
$('#col_username, #col_password, #col_displayname, #col_active, #col_email, #col_gethome').autocomplete({
2121
source: function(request, response)
2222
{
2323
var post = $('#sqlForm').serializeArray();
@@ -53,7 +53,51 @@ user_sql.adminSettingsUI = function()
5353
{
5454
$(this).autocomplete("search");
5555
}
56-
});
56+
});
57+
58+
// Attach auto-completion to all group column fields
59+
$('#col_group_name, #col_group_username').autocomplete({
60+
source: function(request, response)
61+
{
62+
var post = $('#sqlForm').serializeArray();
63+
var domain = $('#sql_domain_chooser option:selected').val();
64+
65+
post.push({
66+
name: 'groupTable',
67+
value: 'true'
68+
});
69+
70+
post.push({
71+
name: 'function',
72+
value: 'getColumnAutocomplete'
73+
});
74+
75+
post.push({
76+
name: 'domain',
77+
value: domain
78+
});
79+
80+
post.push({
81+
name: 'request',
82+
value: request.term
83+
});
84+
85+
// Ajax foobar
86+
$.post(OC.filePath('user_sql', 'ajax', 'settings.php'), post, response, 'json');
87+
},
88+
minLength: 0,
89+
open: function() {
90+
$(this).attr('state', 'open');
91+
},
92+
close: function() {
93+
$(this).attr('state', 'closed');
94+
}
95+
}).focus(function() {
96+
if($(this).attr('state') != 'open')
97+
{
98+
$(this).autocomplete("search");
99+
}
100+
});
57101

58102
// Attach auto-completion to all table fields
59103
$('#sql_table, #sql_group_table').autocomplete({

0 commit comments

Comments
 (0)